Jaycar Duinotech ESP32 Wearable Board Fix

By | May 27, 2022

Summary

Duinotech ESP32 Development Board

I couldn’t wait for some cheap ESP32 Dev boards from China, and Jaycar happened to have some half price ESP32 boards (Duinotech wearable ESP32 Development Board) so I grabbed a couple to play with.

More expensive than the generic D1 Mini ESP32, but at least were in stock and on the shelf to use that day.
https://www.jaycar.co.nz/duinotech-wearable-esp32-development-board/p/XC3810

Unfortunately I had a couple of issues flashing them and keeping them stable so had to find a solution.

Issues

CH340 Serial-USB in Ubuntu

Getting the CH340 based serial working in ubuntu was annoying, I suspect however in windows you’d need to install the driver. The link I used to troubleshoot is below as errors show up in logs for BRLTTY.

This is apparently what unix uses to gain access to serial ports by users.
https://unix.stackexchange.com/questions/670636/unable-to-use-usb-dongle-based-on-usb-serial-converter-chip

$ for f in /usr/lib/udev/rules.d/*brltty*.rules; do
	sudo ln -s /dev/null "/etc/udev/rules.d/$(basename "$f")"
done
$ sudo udevadm control --reload-rules

$ sudo systemctl mask brltty.path
Created symlink /etc/systemd/system/brltty.path → /dev/null.

Wifi Issues & Pull-down Resistor

These were a problem (I had a couple of esphome based projects I wanted to play with) as when I connected them, the logs showed they wouldn’t connect to wifi. Logs showed this:

"[W][wifi_esp32:495]: Event: Disconnected ssid='myaccesspoint' bssid=[redacted] reason='Auth Expired'"

I tried with multiple wifi settings and a couple of access points.
I was about to send them back and wait for the Chinese boards, but found this:
https://github.com/espressif/arduino-esp32/issues/2144

There is a bit of a jumble of information in there, but it appears it is a voltage issue when using the UART. I found a solution that if I pulled the 0 pin to ground via a resistor (they suggest 330 Ohm) it seems to boot and connect to wifi stably. Time will tell. Also pulling 0 low was often easier to flash the firmware when needed. Having the resistor off seems to not work reliability.