Solution
Using an open drain buffer like the 74LVC1G07
did the trick. Note that this part only works for inputs with a pull-up resistor. There are other parts from the same lineup that can work with any input.
Problem
I have an ebike computer that has two inputs that accept square wave signals. The range is 0-5V. One of the inputs has no pull-up/down resistors on it. When I hook up a device producing signal, the signal is detected correctly. Both highs and lows are detected correctly. The other input has a built-in pull-up resistor. When I hook the same signal to it, only the high side is detected. Measuring the voltage of the low side, it’s a bit higher than when hooked to the other input and I’m guessing it isn’t crossing the low threshold the computer expects in order to register the low.
Am I right in thinking that the pull-up resistor is increasing the lows?
Is it possible to counteract the internal pull-up resistor by hooking a pull-down resistor to the input?
I’m a software guy with decent soldering skills and minimal knowledge in electronics so please answer like I’m not the brightest electronic bulb on the tree.
Thank you in advance!
Cross-posting my question from StackExchange.
Do you have a good low impedance ground connection between the devices? This sounds like there is something else going on.
Looks like it. I measured the cable and I got .1-.2 Ohms on every pin, ground included. I replaced both the computer and the sensor device in question with new units and the behavior is the same.
I got an interesting solution proposed in StackExchange - to use a buffer instead of messing with the pull-up. I ordered some parts to try it out.
Do you have any idea what “open drain” means in the context of buffers?
Open drain means the output has no pullup. The output is either ground or high impedance. Basically the same as open collector, if you are familiar with that.
Do you have any specs for the source device? Max output current, max sink current, max low output voltage, output impedance, etc?