Not getting Logic Low output when connecting Argon to level shifter

We have connected pins A3 and A4 to the Sparkfun level shifter and are unable to read out 0V when in a low state. When the level shifter is disconnected the A3 and A4 pins behave as expected. But when connected, they output between 1.8V and 2V when they would otherwise be low. The level shifter input has a 10k pull up resistor and so I'm wondering what the default configuration of the Argon IO is and what I need to do whether it's in hardware or firmware to get proper logic levels going to the level shifter.

actually I've done some more digging and it's not the level shifter. It's the stepper driver on the high level side

that being said, the way that the sparkfun level shifter is built, it relies on the GPIO low level input to source ground so I still would like more insight into how the GPIO work on the Argon and if there's a way to configure them because I suspect there's a pulldown or something happening causing a resister divider driving up the voltage

@valcham It would be helpful if you could include a schematic of how you have connected to the level shifter. Also, is this an output level shift (3V3 logic to 5V) or bi-directional? The stepper driver link you have given isn't very helpful - is this a 5V TTL device (input and output)?

It is bidirectional.

here is a manual for the stepper driver.

We tried setting the outputs to OPEN_DRAIN but that also didn't work.

I don't have my schematic handy and can upload it later but verbally,
A4 -> LV1
A3 -> LV2
3v3 -> LV
GND -> GND

5V -> EN+
HV1 -> EN-
5V -> PULSE+
HV2 -> PULSE-
5V -> 5V
GND -> GND

I think you need a single-direction level translator since the input side of your stepper controller is opto-isolated.

With the bidirectional level shifters like the Sparkfun board that you have, it has to guess which side is driving the signal. This is no problem when one side is driving and the other is high-impedance, but does not always work correctly when there are pull-ups or diodes involved.

I think the level-shifter thinks the HV side is driving, so it's driving the LV side and you're getting a mixed voltage because both the translator and MCU are trying to drive the signal to different levels on the LV side, causing the mid-voltage.

that's what i was worried about. when I connect directly to an arduino io pin, without the translator, it works fine. but the conjunction of the bidirectional translator, the stepper opto isolated input, and the particle output is non compatible

I would just use a SN75HC125N - 4 way buffer/driver.

Ok I managed to get it working by building out my own transistor circuit using what I had lying around. Thanks for the help.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.