1
\$\begingroup\$

The Issue

I am trying to interface a stratologger altimeter to my arduino uno and I'm unable to successfully read data being output by the altimeter.

The Setup

I have a stratologger altimeter, an arduino uno and a 4 bit bi-directional logic level converter to connect the two. Here are some reference pictures for what I have failing so far.

http://i.imgur.com/AAs5MBQl.jpg

Picture 1: the whole logic level converter and arduino in 1 picture

enter image description here

Picture 2: up close on the logic level converter

enter image description here

Picture 3: up close on the arduino

enter image description here

Picture 4: the connection to the stratologger

Quick wire reference:

  • yellow: from the high voltage bit B1 of the logic level converter to the rx pin 0 on the arduino
  • blue: from the tx pin on the stratologger to the low voltage bit A1 on the logic level converter
  • green: 3.3v on the arduino to the low voltage reference pin on the logic level converter
  • red: 5v on the arduino to the high voltage reference pin on the logic level converter
  • black: ground. there are 2 separate connection from arduino to high voltage ground on logic level converter and from the ground on the stratologger to the log voltage ground on the logic level converter

The code I'm using to test this is:

const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  Serial.begin(9600);
}

void loop() {
  if (Serial.available() > 0)
  {
    digitalWrite(ledPin, HIGH);
  }
}

That's the simplest thing I could think of to notify me if the arduino is receiving data. When I have the arduino connected to the computer, this code works great by just typing something into the serial monitor. I disconnect the computer for the actual tests since this will be used without a computer during the intended usage.

The altimeter comes with a serial connector for the computer and I ensure that the computer reads the telemetry output that the altimeter is sending data before and after trying to interface it with the arduino. Stratologger manual, page 44 contains the relevant data for the telemetry output.

What have I tried?

  • I have connected a volt meter to every part of this to try to see if I can detect data actually being sent but I can't really tell
  • The arduino idles high on the rx pin as does the stratologger, but I don't know if that's a problem or not
  • I have tried every bit connection on the logic level converter
  • I have written code to verify that serial port is actually opening up on the arduino
  • I have tried manually setting pin 0 to input

I am out of ideas

I feel like the most likely issue is that I set up the logic level converter incorrectly because I'm pretty green when it comes to electronics. I used this guide to help me get the wires I have them. This is the actual logic level converter that I am using. Is that the right thing I need to be using at all?

I'm pretty confident that the code is good and that the serial port settings match what's listed in the stratologger manual linked above, but maybe I'm wrong there also. If that were the case I would expect jumbled data coming through, not just nothing.

I'm most confident that I have the stratologger set up correctly because it comes with the tools to set it up automatically and I verified it is sending data to the serial port by reading the data on my computer.

I feel like I am missing something simple and it will just start working after that, and I certainly hope that's the case. Does anyone have any ideas?

\$\endgroup\$
3
  • 2
    \$\begingroup\$ Instead of having the low reference pin (and the matching GND) being connected to the Arduino's +3.3V, try connecting them to pin 2 and 5 of the stratologger (+3.3V and GND according to page 42 of the manual) \$\endgroup\$ May 7, 2015 at 5:28
  • 1
    \$\begingroup\$ Aside from @Kasra's suggestion to use the Stratalogger's 3.3V rail as the low-voltage reference input to your level converter (because that is after all where signal(s) are being converted from), it's hard to know what might be going on. You really need an oscilloscope (even the cheapest 'headless' USB-connected (e.g. a BitScope, Saleae, etc) would be better than nothing at all, otherwise you're groping around in the dark. You first need to confirm you've got a bit-stream coming from the Stratalogger, then see if that's making it through the level translator. \$\endgroup\$
    – Techydude
    May 7, 2015 at 7:11
  • 1
    \$\begingroup\$ @KasraRahjerdi thanks a ton for your help, after I connected the 3.3v to the altimeter the light popped on. I hooked it up the computer to see if I could see some output, and it was very intermittent that it would work. I jiggled the wires and eventually found a spot where the connection was solid and I got consistent output. Then I soldered the wires to the LLC and it was 100% consistent. Thanks a ton for the help. Please add an answer and I will accept it. \$\endgroup\$ May 7, 2015 at 17:59

1 Answer 1

1
\$\begingroup\$

The logic level converter's low voltage reference pin should be coming from the stratologger's pins 2 and 5 (+3.3V and GND on the DATA port), since that's the source of the actual input signal.

If the stratologger didn't have its own dedicated power supply you could have connected the setup as is right now and used the +3.3V to also power the device, similar to this setup from Sparkfun's logic level converter guide.

Sample Arduino/LLC setup

\$\endgroup\$
3
  • \$\begingroup\$ For future reference, Nick. Please post schematics. Fritzing diagrams and photos of breadboards don't count as schematics. EE.SE folks are more likely to downvote the question than to chase wires. (I don't blame them.) \$\endgroup\$ May 16, 2015 at 5:25
  • 1
    \$\begingroup\$ I feel so stupid, the reason was that I was not using a pull down resistor and it was working when it was in the protoboard because I was touching it with my finger. \$\endgroup\$ Mar 18, 2016 at 20:48
  • \$\begingroup\$ Awesome catch @NickLarsen :) \$\endgroup\$ Mar 18, 2016 at 20:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.