Skip to content

Flashing Guide

dcluomax edited this page Jun 4, 2026 · 1 revision

Flashing Guide

This is the one-time setup for a blank board. If your device already runs the ticker (e.g. you received it as a gift), skip this and go to First-Time Setup.

You need

  • A computer (macOS, Linux, or Windows) with Python 3 installed
  • The USB-A → USB-C cable
  • The board

The easy way (macOS / Linux)

git clone https://github.com/dcluomax/stock-ticker-esp32c6.git
cd stock-ticker-esp32c6

# plug the board in, then:
./flash.sh /dev/cu.usbmodem*     # macOS
# ./flash.sh /dev/ttyACM0        # Linux (check your port)

flash.sh automatically:

  1. installs host tools (esptool, mpremote),
  2. downloads the MicroPython firmware for the ESP32-C6,
  3. erases + flashes the board,
  4. downloads the display driver + fonts,
  5. copies the app (main.py, config.json) onto the board.

When it finishes, reset the board (unplug/replug). It boots into the First-Time Setup flow.

Finding your serial port

OS How
macOS ls /dev/cu.usbmodem*
Linux ls /dev/ttyACM* (or ttyUSB*); you may need sudo or to join the dialout group
Windows Device Manager → Ports (COM & LPT) → e.g. COM5

Windows / manual steps

There's no .bat, but the commands inside flash.sh are plain esptool / mpremote calls. Install Python 3, then:

pip install --upgrade esptool mpremote

:: download firmware from
:: https://micropython.org/download/ESP32_GENERIC_C6/  -> ESP32_GENERIC_C6-*.bin

esptool --chip esp32c6 --port COM5 erase-flash
esptool --chip esp32c6 --port COM5 --baud 460800 write-flash 0x0 ESP32_GENERIC_C6-20260406-v1.28.0.bin

mpremote connect COM5 fs cp config.json :config.json
mpremote connect COM5 fs cp main.py :main.py
mpremote connect COM5 fs mkdir lib
mpremote connect COM5 fs cp lib/st7789py.py        :lib/st7789py.py
mpremote connect COM5 fs cp lib/vga2_bold_16x32.py :lib/vga2_bold_16x32.py
mpremote connect COM5 fs cp lib/vga1_8x16.py       :lib/vga1_8x16.py

Verifying

Open a serial console to watch the logs:

mpremote connect /dev/cu.usbmodem* repl

You should see lines like web server on :80 (captive) (in setup mode) or refreshed REGULAR {...} (once it's online). Press Ctrl-] to exit.

Clone this wiki locally