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.

DX32 DX32

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

Note

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

Note

Python, PIP and esptool need to be installed on your system (also, on Windows esptool is run just as “esptool” instead of “esptool.py”).

  1. 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.
  2. 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.
  3. Open a new terminal and go to the directory containing the circuitpython .bin file (eg: cd ~/Downloads/)
  4. 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)
  5. 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).
  6. 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

Note

It took me quite a while to get this thing set up so i skipped through a lot of details.

Build custom Tasmota firmware:

  1. Use tasmocompiler to build a custom version of tasmota, follow these instructions to set it up
  2. Once its is set up open TasmoCompiler and press the DOWNLOAD SOURCE button, once its done press NEXT.
  3. Optionally, you can set up your wifi configuration, to skip just press NEXT.
  4. 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.
  5. 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.

DX32-oled DX32-oled DX32-render DX32-render

History and development

(TBA)