Skip to content

Supported hardware

The boards, processors, displays, touch panels, sensors and other hardware below have built-in support. "Tested" means flows have been deployed and run on that hardware. Pin details for boards and processors are in Boards and processors.

Boards

Board Processor Tested
Raspberry Pi Pico RP2040 Yes
Raspberry Pi Pico W RP2040 Yes, including WiFi
Raspberry Pi Pico 2 RP2350 Yes
LOLIN S2 Mini ESP32-S2 Yes
LuatOS ESP32C3-CORE ESP32-C3 Yes, with the adc and neopixel nodes
CYD (ESP32-2432S028, ST7789) ESP32 Yes, display only.
Freenove ESP32-S3 Display 4.0" (FNK0104S) ESP32-S3 Yes, with the display and touch
Pyboard v1.0 STM32F405 Untested
Seeed XIAO nRF52840 (Sense) nRF52840 Untested
Wemos D1 R32 ESP32 Yes, with an RM68090 parallel TFT shield (rewired, custom node)

MicroPython can be written onto any board in this list from the editor, with Tools → Install firmware…: a serial port for the ESP32 family, a mounted drive for RP2040, RP2350 and nRF52 boards, or an image file you downloaded. A board in this list preselects its build, but any board on a supported chip can be flashed the same way. The Pyboard is the exception: it installs over DFU, which the editor doesn't offer; see Install MicroPython.

Processors without a board definition

Any board with one of these processors can be used by picking the processor from the Board menu, for example ESP32-C3 (any board). Its board-specific pins, such as an LED, aren't labelled.

Processor Tested
ESP32 Yes, on the CYD
ESP32-S2 Yes, on the LOLIN S2 Mini
ESP32-S3 Yes, on the Freenove board
ESP32-C3 Yes, on a generic ESP32-C3 board, over USB and WiFi
RP2040 Yes, on the Pico and Pico W
RP2350 Yes, on the Pico 2

Displays

Chip Panel sizes Node Tested
ST7789 240x240, 135x240, 240x320 display spi Yes, on the CYD
ST7796 320x480 display spi Yes, on the Freenove ESP32-S3 4.0"
SSD1306 (I2C only) 128x64, or set width and height display i2c Untested

Touch panels

Chip Node Tested
FT6336U touch Yes, on the Freenove ESP32-S3 4.0"

Sensors

Chip Node Tested
BME280 bme280 Yes, on a Pico
BMP280 bme280 Untested

Other I2C devices can be read with a function node and the chip's datasheet.

Other hardware

Hardware Node Tested
Analog input (the chip's ADC) adc Yes, on the LuatOS ESP32C3-CORE
WS2812 / NeoPixel LEDs neopixel Yes, on the LuatOS ESP32C3-CORE

Other boards

Other boards that run MicroPython may work. Thingstudio needs a processor definition for the chip, and a board definition if you want the board's own pins labelled. See Adding a board and Adding a processor.

An AI assistant can draft a definition file. Give it the board's pinout or the chip's datasheet, and one of the existing files in ~/.thingstudio/boards/ or ~/.thingstudio/processors/ as an example. Check the result against the datasheet. A missing reserved pin means the compile won't stop a flow that crashes the board.

Reporting hardware

Reports on any board, display or sensor, listed or not, are welcome. Open an issue on GitHub with:

  • the board, processor and any display or sensor
  • the MicroPython version
  • what worked and what didn't

A definition file for a new board can be attached to the issue.