About the Pixel Kit
The retail Pixel Kit uses an ESP32 (The classic one) (ESP-WROOM-32) with 4MB of flash, which makes it very easy to put things like WLED, Arduino, MicroPython, and CircuitPython onto it.
Flashing CircuitPython onto Your Pixel Kit
To flash CircuitPython onto it, either use Thonny (A python editor for basically anything) or esptool (A Python-based CLI tool for ESP32)
Thonny:
- Click Tools (in bar on top)
- Select "Options..."
- Select "Interpreter"
- Click the dropdown and select CircuitPython (generic)
- Click the underlined text "esptool", this tells Thonny to flash to ESP32
- Select the COM (Windows) or dev/cu.usbmodem (Mac) (Could also be dev/tty.usbserial) port in the Target Port dropdown
- For family select ESP32 (This is what the Pixel Kit has)
- For variant select DOIT • ESP32 Development Board
- Select what CircuitPython version you want in the version dropdown
- Click Install
- Close the installer window
- Select the port for your device
- Click the stop button (Stop/Restart Backend)
- Install the necessary libraries from the bundle in their documentation. neopixel, adafruit_framebuf, adafruit_pixel_framebuf, and led_animation
- Download the CircuitPython Pixel Kit helper libraries from my GitHub repo
- Install it to /lib
- Play around with the Pixel Kit!
esptool:
- Install esptool. This can be done using pip install esptool (Python 2 and lower) or pip3 install esptool (Python 3 and newer)
- Open your Terminal app (Terminal on Mac, Command Prompt on Windows, Bash on Linux)
- Erase the flash on your board. This can be done using esptool --port %PORT% --chip esp32 erase_flash (Python 2 or lower) or python -m esptool --port %PORT% --chip esp32 erase_flash (Python 3 and newer)
- Download the CircuitPython binary from https://circuitpython.org/board/doit_esp32_devkit_v1/
- Run cd Downloads
- Flash the CircuitPython binary to your Pixel Kit. This can be done using esptool --port %PORT% --chip esp32 write_flash -z 0x0 adafruit-circuitpython-doit_esp32_devkit_v1-en_US-10.0.3.bin (Python 2 or lower) or python -m esptool --port %PORT% --chip esp32 write_flash -z 0x0 adafruit-circuitpython-doit_esp32_devkit_v1-en_US-10.0.3.bin (Python 3 and newer)
- Download the CircuitPython Pixel Kit helper libraries from my GitHub repo
- Install it to /lib
- Play around with the Pixel Kit!
So this all started right after Thanksgiving 2025 when it was time to put up the Christmas tree. Normally, we put the old Lionel train in a boring circle around the tree. That is about all the room I have for it. So I decided to get some N-scale trains so I could be more ambitious with a train layout. So what kind of scene do we build? Sleepy Christmas village? Nah, Godzilla smashing things up, of course. So I had the idea of taking an 8" Bandai Godzilla Minus 1 Ichibansho Figure
Godzilla and building a diorama around him. But then I had the idea of making his dorsal fins light up with a NeoPixel strip. This meant learning how to use a microcontroller and making the lights do the atomic breath pattern. And I was hooked. So the trains are now put away, and I have been working on a system for putting action figures on a stepper motor controlled turntable. That system has a dedicated esp32-s3 with a tmc2209 stepper driver and a basic NEMA 17 stepper motor that is accurately positioned using an AS5600 magnetic encoder. Using WiFi, I control the turntable with a built-in web app or via Python software running on my Mac or Raspberry Pi 5. The software can choreograph mock battles, or silly dance routines. It also allows me to use a PS4 Dual Shock controller to manually control the turntable.