OpenValence Download

Web flasher WIP

Write firmware to an OpenValence board over USB from Chrome or Edge. Pick what you are flashing and the board: the page loads the newest release from this site. It sends the images only to the board.

Work in progress. The offsets and image checks are tested against release images; the write itself has not yet run against a board from this page.

What you need

What you are flashing

Board

Nucleus on the OSSM Flagship. The board is pre-production.

Power down the motor before you connect USB.

nucleus-p4b on the barnacle's Stamp-P4, through the Stamp's own USB-C.

Power down the motor before you connect USB. Disconnect the wires to J8 before you connect USB. The Stamp's USB-C feeds the R+D board's 5 V through J8.

The barnacle's ESP32-WROOM-32D, through the R+D board's own USB-C (the CP2102 on UART0).

Power off the R+D board. Disconnect the wires to J8. Then connect USB.

Garnet on the OSSM M5 Remote. CoreS3 and CoreS3 SE only: a Core2 does not run it. This build is not yet tested on the remote.

Garnet on a bare M5Stack CoreS3 SE or CoreS3. Earlier Garnet builds ran on a CoreS3 SE; this build is not yet tested on hardware.

Garnet on the Waveshare ESP32-S3-Touch-LCD-4.3 with 8 MB flash. The 16 MB versions need another build. This build is not yet tested on hardware.

Bootloader at 0x2000, partition table at 0x8000, otadata at 0xF000, app at 0x20000 (slot ota_0). Each file is optional. The page never erases the chip: NVS (non-volatile storage) holds the hub identity, the trust ledger and pairing.

One full image at 0x0. Erase is on, as in the release notes.

One full image at 0x0: bootloader, partition table and app. The image erases NVS (non-volatile storage, 0x9000 to 0xF000): the saved Wi-Fi and key map go with it. With no saved network, the remote opens a setup hotspot. Pre-program Wi-Fi restores a network.

Custom offsets: the files and offsets in the table below.

Version

Use a local file

For your own build. Pick a file for each slot in the table below.

Each file is checked before the write: an image header (0xE9) where the bootloader or app starts, the chip the image was built for, an app where an app goes, the slot size and the flash size.

OffsetSlotFileCheck

Connect

Pick the board's port. The page resets the board into download mode, reads the chip, its MAC address and flash size, and the partition table at 0x8000.

Pre-program Wi-Fi

Optional. Saves one network to the board's NVS (non-volatile storage) after the images, so it joins on first boot. The same SSID is replaced; a full list of four drops its last network. Every other NVS entry is kept.

Optional. Skips discovery; port 82 when left out.

The network goes only to the board: never stored by this page, never in the log (it records the NVS size and SSID length). The backup is the board's NVS as read, saved passwords included.

Write

The plan, in order:

    Cancel stops after the current block. The region being written then holds a partial image.

    Log

    Every step of the session, with the time since the page loaded. Paste it into a support request.

    
        

    Writes through esptool-js by Espressif (Apache-2.0). The flow follows ESPConnect by The Last Outpost Workshop (MIT). Notices.