Interfacing a Stratologger altimeter with an Arduino Uno

arduinologic-level

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?

Best Answer

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