DX32G
Overview
DX32G GIZMO dev board, this variant features 2 USB ports, status LED’s for RX, TX and power, and support for an SSD1306 oled display.
Features
Has the same base features as the other DX32’s, this board has 3 new features
- 3 status leds, 1 for power, one for TX, and one for RX
- CH340N USB to UART chip for serial communication, alongside a second USB port for this.
- Support for mounting a 0.96" I2C OLED display.
Pinouts
(TBA)
Getting Started
Arduino IDE
Arduino IDE needs to be installed on your system (duh).
Download and install the ESP32 Arduino core, then go to Tools>Board, select ESP32>“ESP32S3 Dev Module”, and change the following settings:
- Flash Size -> “16MB (128Mb)”
- Partition scheme -> “16M Flash (2MB APP/12.5MB FATFS)” or “16M Flash (3MB APP/9.9MB FATFS)” depending on your application
- PSRAM -> “OPI PSRAM”
- Upload Mode -> If youre using UART select “UART0 / Hardware CDC”, if using USB OTG use “USB-OTG CDC (TinyUSB)”
- USB Mode -> If youre using USB-OTG, you can pick between “Hardware CDC and JTAG” or “USB-OTG (TinyUSB)”
You can now use the DX32G with the Arduino IDE.
CircuitPython
Python, PIP and esptool need to be installed on your system (also, on Windows esptool is run just as “esptool” instead of “esptool.py”).
- While pressing the BOOT button of the DX32 board, connect the board to your computer to your computer via USB, make sure to connect it on the USB OTG port of the board.
- Download the latest compatible CircuitPython .bin file, i chose this version meant for the YD-ESP32-S3 board, as its pin compatible with the DX32.
- Open a new terminal and go to the directory containing the circuitpython .bin file (eg:
cd ~/Downloads/
) - Erase the flash memory of the board by running the command
esptool.py erase_flash
(Warning: this will PERMANENTLY erase the memory of the board, if you have already flashed it before make sure your program is backed up, just in case) - Flash the board with Circuitpython by running
esptool.py write_flash 0x0 adafruit-circuitpython-{CIRCUITPYTHON-VERSION}.bin
Replace {CIRCUITPYTHON-VERSION} with the version of the file you downloaded (eg:esptool.py write_flash 0x0 adafruit-circuitpython-yd_esp32_s3_n16r8-en_US-9.2.0
). - Once its done flashing, press the reset button, now after a while a CIRCUITPY drive will appear on your computer, where your python code will be stored and run from.
Read more about circuitpython here.
Tasmota
It took me quite a while to get this thing set up so i skipped through a lot of details.
Build custom Tasmota firmware:
- Use tasmocompiler to build a custom version of tasmota, follow these instructions to set it up
- Once its is set up open TasmoCompiler and press the DOWNLOAD SOURCE button, once its done press NEXT.
- Optionally, you can set up your wifi configuration, to skip just press NEXT.
- Select “ESP32 S3” as the board, and select the features you want to be included. I chose: Displays, Matter protocol, Rules, Timers, mDNS discovery, Berry scripting, SD card/LittleFS, Web interface, and WS2812 Leds. once youre done choosing the features you want press NEXT.
- Press NEXT one more time and select the Tasmota version and language. Now press COMPILE and wait for it to finish. When it finishes compiling download the FIRMWARE.BIN and FIRMWARE.FACTORY.BIN files.
You can now flash the initial firmware to the DX32 with esptool like so (this is only done ONCE per installation):
esptool.py write_flash 0x0 tasmota32s3.factory.bin
Once tasmota has been flashed and its WiFi connection has been set up, go to main menu>Firmware Upgrade, and upgrade tasmota using the FIRMWARE.BIN file (tasmota32s3.bin) that was compiled earlier.
You can use the following template for this board:
{"NAME":"DX32G GIZMO","GPIO":[0,1,1,1,1,1,1,1,1,608,640,1,1,1,1,1,1,1,1,0,0,672,0,0,0,0,0,1,736,1,1,704,1,1,6720,0,1,1376],"FLAG":0,"BASE":1}
Setting up the display also took me a while to figure out, you have to downlaod this file, rename it to display.ini
and upload it to the Tasmota file system. Now on the configure module page, on any unused gpio select “Option A” and “3”, this will enable the universal display driver and now you can use the OLED display.
Go to the Tasmota website for more information on how to get started with Tasmota.
ESP-IDF
Ermmm i dont really know how to use IDF so… yeah. If you already know how to use the IDF you probably already know how to set it up.
Gallery
History and development
(TBA)