For changing WiFi names and passwords or other options, or working on the code. Just want MiniNav on the board? Use the one-click flasher instead.
ESP-IDF 5.4 (Espressif's official SDK). One time only, about 15 minutes.
xcode-select --installmkdir -p ~/esp && cd ~/esp
git clone -b v5.4.2 --recursive https://github.com/espressif/esp-idf.git
cd esp-idf && ./install.sh esp32s3. ~/esp/esp-idf/export.shsudo apt install git wget flex bison gperf python3 python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0mkdir -p ~/esp && cd ~/esp
git clone -b v5.4.2 --recursive https://github.com/espressif/esp-idf.git
cd esp-idf && ./install.sh esp32s3sudo usermod -aG dialout $USER # then log out and back in. ~/esp/esp-idf/export.shThe board flashes over its USB-C port, no buttons needed in most cases.
git clone https://github.com/MiniNavDevice/MiniNav.git
cd MiniNav
tools/fetch_lovyangfx.sh # downloads LovyanGFX 1.2.32 into components/
On Windows run the two commands inside tools/fetch_lovyangfx.sh by hand.idf.py menuconfig # → "MiniNav (Android Auto minimap)"
Defaults: board WiFi MiniNav / mininav123, phone hotspot MiniNavHotspot / mininav123,
right-hand drive. Pick your own passwords if others could be near your bike or car.idf.py build The first build takes a few minutes.| System | Port looks like | Find it with |
|---|---|---|
| macOS | /dev/cu.usbmodem101 | ls /dev/cu.usbmodem* |
| Linux | /dev/ttyACM0 | ls /dev/ttyACM* |
| Windows | COM5 | Device Manager → Ports |
idf.py -p /dev/cu.usbmodem101 -b 921600 flashidf.py -p <port> monitor shows what the board is doing; quit with Ctrl+].
While the map plays it prints a [perf] line with the frame rate every 10 s.The board now shows its connection screen. Carry on with the main guide: set up the phone, connect and ride or drive.