Bi Directional Level Shifter Unexpected Output

Hi, I'm currently trying to get a 3.3V microcontroller (Freenove ESP32 WROOM) to work with a stepper motor controller that requires 5V control signals (DM542T) but is powered by a separate 24V power supply for the controller and the motor and I am trying to use Sparkfun's Bi-Directional Logic Level Converter which has a design based on 4 BSS138 N Channel mosfets. When I test the level converter by itself I get the expected 3.3V input to 5V output when using a DMM to measure the voltage but when I connect the board to the stepper controller I only get an output of about 2.8V. Initially I thought this may be some sort of loading issue (which is odd because its only drawing ~5mA again tested with a DMM) and I believe these mosfets should be able to drive the load but the stepper motor controller works? I know its a strange question but I'd really like to understand what is happening because I need this circuit to last and if there is a problem thats just temporarily working thats kind of an issue.

ESP32 pin 14 -> LV1 HV1 -> DIR pin of stepper controller
ESP32 pin 13 -> LV2 HV2 -> PUL pin of stepper controller
ESP32 pin 12 -> LV3 HV3 -> EN pin of stepper controller
3.3V -> LV
5V -> HV
GND -> GND

Kind of a rough explanation of the schematic but I could draw something up if there is confusion. I'm assuming I'm just not understanding something about the level shifter or how it works, or some misunderstanding of the circuit dynamics on the controller side.

Show an as-built schematic (what is in front of you, not a screenshot/copy from somewhere else). Hand-drawn is ok.

So during testing the HV side of the level shifter on HV1, HV2, and HV3 show 2.8V when it should be 5V. The 5V pin doesn't show any signs of loading and stays at about 5V

With a voltmeter you cannot tell amplitude with pulses and clocks and so on.
What are the 'HV' outputs, disconnected from the motor controller, with simple digitalWrites to the LVs ?

5V, I also put a scope on those pins today and for the EN and dir pins there aren't any pulses and it also measured the 2.8V.

What makes it confusing if it was a loading issue is that I wouldn't expect the stepper motor/controller to work but it does, at least currently and that is the concern.

I agree then, if you're getting those levels given HIGH/LOW digitalWrites, that there's a problem.
The m.c. inputs, like most devices, have a range for acceptable HIGH (and a range for what's an acceptable LOW).

Or did you mean they're "5V" till applied to the m.c. ? (Which would still indicate a problem, I think, if that's the result on the 'scope.)

With the outputs of the level shifter just left floating (disconnected from the motor controller) they sit at 5V, but when connected to the motor controller they drop to 2.8V.

I think what I need to do is use a dummy circuit of like an LED and resistor to test the current output of the level shifter, if that doesn't cause problems then maybe theres just an issue with the motor controller.

Are the m.c. inputs pulled up?
The HV's aren't high-side switches.

M.C. meaning motor controller? I don't believe so, looking at the datasheet it seems to be an optocoupled design. I'm not sure what you mean by HVs aren't high side switches? Should I be using them to pull the the inputs of the motor driver low?

Consider the possibility that your ESP32 board does NOT produce 5V.

It doesn't, its sitting on a breakout board that has a 12V to 5V supply.

Do you mean to set up the circuit like this? Where the pins of the micro sink the current essentially

Connection GND-GND is missing.

So - given the schematic in Post No.12 - there's an opto to turn on, its infrared LED (IRED) to turn on. It may be possible with an ESP32 output. That would depend on the inline resistor/s.

-- yes, provided those GNDs are common.

Fixed. They are also linked on the level shifter board. I can give this a shot and see what happens. Thanks for the feedback, I know its kind of a weird problem.

With the level shifters you will be able to pull the signals down, not up. Use the schematics from post #18.