• I flashed the espruino_1v97.99_nrf52832.hex travis build to an MDBT42Q module to give it a spin but couldn't connect via serial. I can connect to it via BLE but serial just wasn't working. I found the notes about it needing to see 3.3V on D8 so I checked it out and found that my CH340G (clone?) only had about 1.7V on RXD. I grabbed another USB-serial module, this time a PL2303HX (clone?) and found only about 0.6V on RXD. Finally tried a CP2102 (clone?) and it worked fine with 3.3V on RXD in idle.

    My reference devices are all off aliexpress and not necessarily reliable adherers to good UART practices, but detecting full voltage on that pin might not be a good indicator of when a serial connection is there. Maybe checking for >0.5V using the ADC would be more reliable? I imagine this would affect a puck-js as well, I can't test on mine because I've got the pins already soldered to something.

  • Is it just that you have TX and RX swapped? RX on the module should go to TX on the dongle - which should be nailed at 3.3v unless its transmitting :)

  • I definitely swapped the ch340g pins a few times to be sure. Not sure if I swapped the pins on the pl2303hx, but both pins had the same voltage on when measured. All good for me now that I found one that works, but could be a bit harder to work out for someone who doesn't have a pile of random usb-uart modules lying around.

  • The RX pin of many devices floats, rather than having an internal pullup - the TX pin it's connected to is responsible for maintaining the line at 3.3v (or 5v for 5v serial).

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

NRF52832 not detecting serial1 - idle voltage too low?

Posted by Avatar for the1laz @the1laz