The /boards directory contains the physical hardware platforms
that Tock supports.
Tock divides boards into three approximate 'tiers' of support. These tiers are newly defined and are a bit informal as a result, but the approximate definitions:
-
Tier 1: The most feature-complete and thoroughly tested boards. These are boards used most regularly by core team members or other highly engaged contributors. They are used as examples in the Tock Book.
-
Tier 2: Platforms seeing reasonably regular use. These generally have broader, but still incomplete, peripheral support. They may also be 'relatives' of Tier 1 boards (e.g. a less-used variant in the nrf52 family) – likely in good shape, but not heavily tested. Some Tier 2 boards may have known issues, which are documented in release notes during release testing.
-
Tier 3: New or highly experimental. These should support the minimum platform requirements laid out in the Porting documentation, but make no promises beyond that.
-
Other: See each board for specific details.
Tock has solid support for the RISC-V architecture, but no tier 1 or 2 support for any single RISC-V board. If you are interested in running Tock on RISC-V there are a few options:
- If you would like a cheap RISC-V development board you can use the ESP32-C3-DevKitM-1. This board is under active development to move to Tier 2 support.
- For a fully virtual platform on QEMU you can use the QEMU RISC-V 32 bit
virtplatform board. This can be quickly started and run on a host computer.- For a simulation environment you can use Verilator with OpenTitan Earlgrey on CW310 or Verilated LiteX Simulation.
- For an FPGA setup you can use OpenTitan Earlgrey on CW310 or LiteX on Digilent Arty A-7.
| Board | Architecture | MCU | Interface | App deployment | QEMU Support? |
|---|---|---|---|---|---|
| Hail | ARM Cortex-M4 | SAM4LC8BA | Bootloader | tockloader | No |
| Imix | ARM Cortex-M4 | SAM4LC8CA | Bootloader | tockloader | No |
| Nordic nRF52840-DK | ARM Cortex-M4 | nRF52840 | jLink | tockloader | No |
| Nano 33 BLE | ARM Cortex-M4 | nRF52840 | Bootloader | tockloader | No |
| Nano 33 BLE Rev2 | ARM Cortex-M4 | nRF52840 | Bootloader | tockloader | No |
| BBC Micro:bit v2 | ARM Cortex-M4 | nRF52833 | openocd | tockloader | No |
| Clue nRF52840 | ARM Cortex-M4 | nRF52840 | Bootloader | tockloader | No |
| Board | Architecture | MCU | Interface | App deployment | QEMU Support? |
|---|---|---|---|---|---|
| Nordic nRF52-DK | ARM Cortex-M4 | nRF52832 | jLink | tockloader | No |
| Nordic nRF52840-Dongle | ARM Cortex-M4 | nRF52840 | jLink | tockloader | No |
| Particle Boron | ARM Cortex-M4 | nRF52840 | jLink | tockloader | No |
| MakePython nRF52840dk | ARM Cortex-M4 | nRF52840 | Bootloader | tockloader | No |
| ST Nucleo F446RE | ARM Cortex-M4 | STM32F446 | openocd | custom | #1827 |
| ST Nucleo F429ZI | ARM Cortex-M4 | STM32F429 | openocd | custom | #1827 |
| STM32F3Discovery kit | ARM Cortex-M4 | STM32F303VCT6 | openocd | custom | #1827 |
| STM32F412G Discovery kit | ARM Cortex-M4 | STM32F412G | openocd | custom | #1827 |
| STM32F429I Discovery kit | ARM Cortex-M4 | STM32F429I | openocd | custom | #1827 |
| Pico Explorer Base | ARM Cortex-M0+ | RP2040 | openocd | openocd | No |
| Nano RP2040 Connect | ARM Cortex-M0+ | RP2040 | custom | custom | No |
| Raspberry Pi Pico | ARM Cortex-M0+ | RP2040 | openocd | openocd | No |
| Raspberry Pi Pico W | ARM Cortex-M0+ | RP2040 | openocd | openocd | No |
| SparkFun RedBoard Artemis Nano | ARM Cortex-M4 | Apollo3 | custom | custom | No |
| SparkFun LoRa Thing Plus - expLoRaBLE | ARM Cortex-M4 | Apollo3 | custom | custom | No |
| SparkFun RedBoard Artemis ATP | ARM Cortex-M4 | Apollo3 | custom | custom | No |
| SMA Q3 | ARM Cortex-M4 | nRF52840 | openocd | tockloader | No |
| Wio WM1110 Development Board | ARM Cortex-M4 | nRF52840 | Bootloader | tockloader | No |
| Board | Architecture | MCU | Interface | App deployment | QEMU Support? |
|---|---|---|---|---|---|
| WeAct F401CCU6 Core Board | ARM Cortex-M4 | STM32F401CCU6 | openocd | custom | No |
| SparkFun RedBoard Red-V | RISC-V | FE310-G002 | openocd | tockloader | Yes (5.1) |
| SiFive HiFive1 Rev B | RISC-V | FE310-G002 | openocd | tockloader | Yes (5.1) |
| BBC HiFive Inventor | RISC-V | FE310-G003 | tockloader | tockloader | No |
| ESP32-C3-DevKitM-1 | RISC-V-ish RV32I | ESP32-C3 | custom | custom | No |
| i.MX RT 1052 Evaluation Kit | ARM Cortex-M7 | i.MX RT 1052 | custom | custom | No |
| Teensy 4.0 | ARM Cortex-M7 | i.MX RT 1062 | custom | custom | No |
| Digilent Arty A-7 100T | RISC-V RV32IMAC | SiFive E21 | openocd | tockloader | No |
| MSP432 Evaluation kit MSP432P401R | ARM Cortex-M4 | MSP432P401R | openocd | custom | No |
| CY8CPROTO-062-4343W | ARM Cortex-M0+ | PSoC62 | openocd | custom | No |
| Raspberry Pi Pico 2 | ARM Cortex-M33 | RP2350 | openocd | openocd | No |
| LPCXpresso55S69 Development Board | ARM Cortex-M33 | LPC55S6x | probe-rs | probe-rs | No |
An FPGA and Verilator implementation that is well supported and is regularly tested as part of CI.
| Board | Architecture | MCU | Interface | App deployment | QEMU Support? |
|---|---|---|---|---|---|
| OpenTitan Earlgrey on CW310 | RISC-V RV32IMC | EarlGrey | custom | custom | Yes (5.1) |
Virtual hardware platforms that are regularly tested as part of the CI.
| Board | Architecture | MCU | Interface | App deployment | QEMU Support? |
|---|---|---|---|---|---|
QEMU RISC-V 32 bit virt platform |
RISC-V RV32IMAC | QEMU | custom | custom | Yes (7.2.0) |
| LiteX on Digilent Arty A-7 | RISC-V RV32IMC | LiteX+VexRiscV | custom | tockloader (flash-file)1 | No |
| Verilated LiteX Simulation | RISC-V RV32IMC | LiteX+VexRiscv | custom | tockloader (flash-file)1 | No |
| VeeR EL2 simulation | RISC-V RV32IMC | VeeR EL2 | custom | custom | No |
| QEMU i486 Q53 | i468 | Q35 | custom | custom | Yes |
Some projects that use Tock maintain their own board definitions outside the Tock repository.
| Project | Boards | Architecture | MCU | Build System |
|---|---|---|---|---|
| OpenSK | nRF52840-DK, nRF52840-Dongle, nRF52840-MDK | ARM Cortex-M4 | nRF52840 | Python script |
| OpenTitan | OpenTitan | RISC-V RV32IMC | EarlGrey | Meson |
| Tock-on-Titan | golf2, papa | ARM Cortex-M3 | H1 | Makefiles |