See Flash
at work.
See how Flash implements drivers, develops connected firmware and validates sensor circuits on real boards.
5 demos · Flash CLI · Flash IDE · VS Code
BenchFirmware and hardware demos run on an M5Stack CoreS3 K128 (ESP32-S3). Driver demos use an ST NUCLEO-F411RE (STM32F411RE) with an HC-SR04 sensor.
CoreS3 documentation01 Flash CLI
Driver development
Write a sensor driver, build and flash the firmware, then check live readings with GDB.
- D01Flash CLIMicrocontroller: STM32F411RECloud AI
Cloud AI: HC-SR04 + GDB
Implement and debug an HC-SR04 driver on an STM32 Nucleo using a cloud AI model in Flash CLI.
BenchNUCLEO-F411RE + HC-SR04 · cloud AI
Video readyWorkflow
- 01
Create the STM32 project in Flash CLI with a cloud AI model.
- 02
Implement the HC-SR04 driver and build the STM32 HAL firmware.
- 03
Approve programming and verify the firmware on the board.
- 04
Inspect serial readings and validate the driver configuration and two sensor samples with GDB.
What you will see
Build and program STM32 HAL firmware, inspect live distance readings and validate the driver configuration and measurements with GDB.
Bill of materials
- 1×ST NUCLEO-F411RE development board
- 1×HC-SR04 ultrasonic sensor
- —Signal-level adaptation for STM32 GPIO
- 1×Computer with access to a cloud AI model
Pass criteria
- Firmware builds and is verified on the board
- Distance readings appear on the serial monitor
- GDB validates the driver configuration and sampled measurements
- Cloud model active in Flash CLI
- 01
- D02Flash CLIMicrocontroller: STM32F411RELocal AI
Local AI: HC-SR04 + GDB
Implement and debug an HC-SR04 driver on an STM32 Nucleo using a local AI model in Flash CLI.
BenchNUCLEO-F411RE + HC-SR04 · local AI
Video readyWorkflow
- 01
Create the STM32 project in Flash CLI with a local AI model.
- 02
Implement the HC-SR04 driver and build the STM32 HAL firmware.
- 03
Approve programming and verify the firmware on the board.
- 04
Inspect serial readings and validate the driver configuration and two sensor samples with GDB.
What you will see
Build and program STM32 HAL firmware, inspect live distance readings and validate the driver configuration and measurements with GDB.
Bill of materials
- 1×ST NUCLEO-F411RE development board
- 1×HC-SR04 ultrasonic sensor
- —Signal-level adaptation for STM32 GPIO
- 1×Computer running a local AI model through Ollama
Pass criteria
- Firmware builds and is verified on the board
- Distance readings appear on the serial monitor
- GDB validates the driver configuration and sampled measurements
- Local model active in Flash CLI
- 01
02 IDE · VS Code
Firmware
Program an existing board: build components on its peripherals, connect them over MQTT or UART and check the results against the device.
- D03Flash IDEMicrocontroller: ESP32-S3
Timestamped telemetry over MQTT
Drive the onboard clock, timestamp touch events and publish them over MQTT, then check each message in Flash IDE.
BenchCoreS3 · onboard peripherals
In preparationWorkflow
- 01
Implement the BM8563 RTC driver and wrap initialization and time reads in a firmware component.
- 02
Publish each touch event with its timestamp and sequence number over MQTT.
- 03
Follow the messages in the IDE’s Debug workspace and compare them with the device log. Restart the broker and verify recovery.
What you will see
Live touch events and clock readings. No external sensor is needed.
Bill of materials
- 1×M5Stack CoreS3 K128 · BM8563 RTC and touch screen
- —2.4 GHz Wi-Fi network
- —MQTT broker on a computer
Pass criteria
- Clock set to a known time keeps advancing
- Each touch event matches one MQTT message
- Publishing recovers after a broker restart
- 01
- D04Flash VS Code ExtensionMicrocontroller: ESP32-S3Microcontroller: STM32F411RE
MQTT ↔ UART gateway
Make CoreS3 the MQTT gateway for an STM32 node over UART, keeping the same JSON messages and object methods.
BenchCoreS3 + NUCLEO-F411RE
In preparationWorkflow
- 01
Open the schematic and PCB reference in the Flash Hardware Viewer, next to the code. Wire CoreS3 Port C to the Nucleo’s USART1.
- 02
Implement the STM32 node for simulated temperature and LED or relay state. MQTT and local objects stay on the CoreS3; node requests travel over UART1.
- 03
Compare requests and responses, read state changes back, then disconnect the node to check timeout and recovery.
What you will see
The CoreS3 handles local objects and forwards node requests over UART. The STM32 node simulates temperature and LED or relay state.
Bill of materials
- 1×M5Stack CoreS3 K128 with DinBase
- 1×NUCLEO-F411RE
- —TX, RX and GND wiring, as below
Wiring · 115200 8N1 · 3.3 V
CoreS3 · Port C Direction NUCLEO-F411RE GPIO17 · TX → PA10 · RX · D2 (CN9-3) GPIO18 · RX ← PA9 · TX · D8 (CN5-1) GND — GND (CN5-7) Power each board from its own USB: CoreS3 USB-C and the Nucleo’s ST-LINK. Leave the red 5 V wire unconnected. USART2 (PA2/PA3) stays free for the ST-LINK virtual COM port.
Pass criteria
- Requests routed to local or node objects
- JSON payloads preserved across MQTT and UART
- Commands confirmed by readback
- UART timeout detected, then recovery
- 01
03 Flash IDE
Hardware + firmware
Design the circuit and its firmware in one project. Flash agents draw the schematic in the built-in hardware editor, write the code from that design and verify it on the board.
- D05Flash IDEMicrocontroller: ESP32-S3Full-length demo
Sensor circuit and firmware validation
Flash agents design the sensor circuit, implement its drivers using the schematic and verify live readings on the CoreS3.
- 01Hardware
- 02Firmware
- 03Validation
BenchCoreS3 + ENV-III sensor
In preparation01 Hardware · Hardware workspace
Flash agents draw the circuit: CoreS3 Port A and the ENV-III from the component catalog, with power and I²C nets checked against the datasheets.
02 Firmware · Firmware workspace
The pin map comes from the schematic, not from the prompt. Flash implements the SHT30 and QMP6988 drivers and their component.
03 Validation · Debug workspace
Flash the CoreS3, wire the sensor as designed and check live readings. Unplug it: the firmware reports the fault, then recovers.
J1CoreS3Port A5VGNDSDASCLU1ENV-IIISHT30QMP6988Flash agent
- Placed J1, CoreS3 Port A
- Added U1, ENV-III, from the catalog
- Wired 5V, GND, SDA and SCL
- Checked levels against the SHT30 and QMP6988 datasheets
Flash agents draw the circuit in the built-in hardware editor. The firmware takes its pin map from this design, not from the prompt. What you will see
Design an ENV-III sensor circuit and implement its firmware in one project, then check temperature, humidity and pressure readings on the CoreS3.
Bill of materials
- 1×M5Stack CoreS3 K128
- 1×Unit ENV-III U001-C · SHT30 + QMP6988
- 1×Grove cable
Pass criteria
- Schematic reviewed against the datasheets
- Firmware pin map matches the design
- Live temperature, humidity and pressure readings
- Fault reported on unplug, recovery on reconnect
Want to see Flash on your project?
Let’s walk through your hardware and firmware workflow.