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).
Don't worry about formatting, just type in the text and we'll take care of making sense of it. We will auto-convert links, and if you put asterisks around words we will make them bold.
For a full reference visit the Markdown syntax.
© Espruino, powered by microcosm.
Report a problem