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.
Unfortunately I had a couple of issues flashing them and keeping them stable so had to find a solution.
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.
$ 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:
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.