> ## Documentation Index
> Fetch the complete documentation index at: https://veecle.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Chiplab Supported Hardware Boards for Firmware Simulation

> Chiplab supports 7 ARM and nRF boards for chip-accurate firmware simulation. Ask your agent to run your firmware on any of these boards by name.

Chiplab uses [Renode](https://renode.io) and QEMU to deliver chip-accurate simulation for every supported board. Rather than approximating hardware behavior, Renode emulates the same peripherals, interrupt timing, memory maps, and UART controllers present on the physical silicon, so the firmware binary you simulate is identical to the one you'd flash to the real device. No firmware changes, no stub code, no special build flags required.

## Supported boards

| Board               | board\_id             | Available UARTs                                                     |
| ------------------- | --------------------- | ------------------------------------------------------------------- |
| STM32F4 Discovery   | `stm32f4_discovery`   | usart1, usart2, usart3, uart4, uart5                                |
| STM32F7 Discovery   | `stm32f7_discovery`   | usart1, usart2, usart3, usart6                                      |
| STM32F103 Blue Pill | `stm32f103_blue_pill` | usart1, usart2, usart3, usart4, usart5                              |
| STM32WBA52 Nucleo   | `stm32wba52_nucleo`   | usart1, usart2, lpuart1                                             |
| STM32L073 Nucleo    | `stm32l073_nucleo`    | usart1, usart2, usart4, usart5, lpuart1                             |
| STM32H745 Nucleo    | `stm32h745_nucleo`    | usart1, usart2, usart3, uart4, uart5, usart6, uart7, uart8, lpuart1 |
| nRF52840 DK         | `nrf52840_dk`         | uart0, uart1                                                        |

Each UART listed is directly addressable in your firmware using the peripheral name shown. The simulation captures all output written to those peripherals and surfaces it through your agent's response.

## Example: targeting the STM32F4 Discovery

The following snippet shows a complete `execute_run` invocation for the STM32F4 Discovery board, reading output from `usart2`:

<Note>
  The simulation runs the exact same binary you would flash to the physical board, no firmware changes are required. If it runs on hardware, it runs in Chiplab.
</Note>

<Tip>
  Not sure which board fits your chip or peripheral requirements? Board recommendation based on your firmware's needs is coming with the `bench` tool. For now, `ask` Chiplab about individual board specs and compare them yourself.
</Tip>
