MicroBlocks runs on dozens of microcontroller boards.
This page highlights supported boards that are especially useful for learners and educators. These boards are carefully tested by the MicroBlocks team. The MicroBlocks firmware can be installed on them directly from the MicroBlocks IDE, and they are suitable for beginners with no prior experience with microcontrollers. These boards are suitable for classroom teaching.
Additional technical information about boards (e.g., special purpose pins) can be found here.
The micro:bit is one of the most popular microcontroller boards for education. Over five million micro:bits have been distributed in over sixty countries (ACM 2020) and the micro:bit Educational Foundation reported that over twenty million students have used micro:bits as of 2019. That number is higher now.
The micro:bit has a rich set of features, including two buttons, a 5x5 LED array that can display graphics and text, a radio that supports peer-to-peer messaging, and sensors for light, motion, and temperature. The micro:bit also has an edge connector that allows additional devices to be connected if desired, but adding components is not necessary. The many built in features of the micro:bit allow beginners to do interesting things immediately without wiring. That simplicity allows the micro:bit to be used by elementary school children (grades 3-5) as well as teens and adults. The micro:bit has a low floor and a high ceiling.
MicroBlocks supports both the original micro:bit and the new micro:bit v2, which adds a speaker, microphone, touch sensor, and other improvements to the original design.
Note: The micro:bit v1 does not support Bluetooth Low Energy. Due to memory limitations, some software that runs on the micro:bit v2 may not work on the micro:bit v1.
The Calliope mini is a German variant of the micro:bit, with a few changes and extensions. The most obvious change is the shape of the board, which was optimized for use with alligator clips. The Calliope mini also has a built-in speaker, a microphone, and an RGB LED. While it lacks the micro:bit's edge connector, it has two Grove connectors for connecting additional components.
In the US, the Calliope mini is available from Adafruit.
MicroBlocks supports both the original Calliope mini (v1 and v 1.3) and the Calliope mini V3.
Note: The Calliope mini v1 and v1.3 do not support Bluetooth Low Energy. Due to memory limitations, some software that runs on the Calliope mini V3 may not work on the earlier versions.
Circuit Playground Express Circuit Playground Bluefruit
The Adafruit Circuit Playground Express and Circuit Playground Bluefruit are also popular with educators. These boards feature a set of buttons and sensors similar to those of the micro:bit, but replace the 5x5 LED display with a circle of 10 programmable RGB LED "NeoPixels" than can be used to create colorful, eye-catching animations. These boards also have good built-in speakers and eight alligator-clip friendly GPIO pins. Less obviously, these boards have beefy power supplies that can drive multiple external devices such as servo motors or NeoPixels strips. THat makes these boards especially useful in art projects.
The Circuit Playground Bluefruit (but not the Express) has a radio that can communicate with the micro:bit and Calliope mini.
The ED1 board and the related robot kit were developed by the Citilab Cornellà EduLab specifically for K-12 education. EduLab has led workshops for thousands of school children using MicroBlocks on the ED1.
Over the past several years, the ED1 board and robot kit have gone through multiple design-and-test cycles, and it shows. Their robot uses stepper motors (the motor controller is built into the board) for precision. As a result, it can turn and move by exact amounts and, when dragging a pen, is capable of drawing geometric figures accurately.
The ED1 has a 128x128 color display that can be used to display text and graphics. There is even a Logo Turtle library for it. The display can simulate the micro:bit's 5x5 LED display, so the ED1 can run micro:bit programs. The board includes a nice built-in speaker, six touch buttons, motion, light, and temperature sensors, an IR receiver, and a set of GPIO pins for connecting additional devices.
Finally, the ED1 supports WiFi. Using MicroBlocks libraries, you can create a simple HTTP server that you can use to remotely control the ED1 from a web browser or from a Snap! program.
Raspberry Pi Pico and Pico W (RP2040)
The $4 Raspberry Pi Pico RP2040 module is bare-bones: the only built-in peripheral is a user-LED. But because it provides a powerful processor at an extremely low price, this module forms the core of many other boards that provide a wide range of peripherals and functionality. One of our favorites is the new PicoBricks board from Robotistan.
MicroBlocks also supports the $5 Pico W, which includes a WiFi chip.
When it first appeared, the Adafruit Clue was featured on the cover of Make: magazine. Like the ED1, it has a color display (240x240) and speaker. It also has an impressive collection of built in sensors (motion, magnetometer, proximity/light/color/gesture, sound, humidity, temperature, and barometric pressure/altitude) and features a radio that can interoperate with the micro:bit. A useful feature of the Clue is a micro:bit-compatible edge connector that allows the Clue to take advantage of the many extension boards created for the micro:bit.
M5Stack's products feature plastic cases that make them look more like consumer products than most microcontroller boards. The M5Stack Core series features a large color display (320x240), three buttons, speaker, WiFi, and a built-in rechargeable battery. A set of GPIO pins are accessible through slots in the sides of the unit. Some models also include a motion sensor.
Note: The M5Stack product line changes frequently. The original M5Stack Gray, Black, and Basic Core models have been discontinued, and MicroBlocks does not yet run on the new Core2 model that has replaced them.
Created by the Chinese company Espressif, the ESP8266 and ESP32 are WiFi-enabled microcontroller modules used by the WiFi-capable boards listed above. But ESP modules are also available as inexpensive bare-bones boards designed for electronics hobbyists such as the NodeMCU (left), ESP-32S (center) and Wemos d1 mini (right). Such boards don't have much built in -- at most a single programmable button and one or two LED's. They are designed to be plugged into an electronics prototyping board and connected to additional components.
Since some wiring is required to make these boards do interesting things, they have a steeper learning curve for beginners than the other boards listed here.
However, their low cost and WiFi capabilities makes these boards useful for advanced students or makers who want to explore IoT applications. It's a good idea to check reviews before buying one of these boards. Some boards are too wide to be conveniently used in electronic prototyping boards while others lack USB-serial chips.
Note: Due to memory limitations, some software that runs on other boards may not work on the ESP8266.
The following boards will be phased out as supported boards in 2023.
Although users will no longer be able to install the firmware for these boards directly from the MicroBlocks UI, it will still be possible to build and install the firmware using PlatformIO or the Arduino IDE.
If you are an educator using these boards and this will be a problem for you, please email interest@microblocks.fun to discuss.
The M5 StickC Plus features a tiny color display (160x80), a motion sensor, two buttons, an IR transmitter, WiFi, and a small rechargeable battery. Small and light, the M5 StickC Plus can be worn on the wrist and used to create your own fitness device or smart watch.
Note: The M5 StickC Plus replaces the original M5 StickC, which has been discontinued.
The M5 Atom Matrix is tiny -- only one inch (24 mm) square! Instead of a display screen, it has a 5x5 grid of programmable RGB LED's and the entire top is a button (but that's the only button). It has a built-in motion sensor, an IR transmitter, and WiFi, but it does not have a built-in battery.
More information about these boards can be found on the Seeed Studio wiki for XIAO.
To use MicroBlocks, you must first install the MicroBlocks firmware on the board. Once the firmware is installed, you can connect to the board from the MicroBlocks editor (IDE) and start coding.
The MicroBlocks firmware for the Xiao ESP32-C3 ESP32-S3 and boards can be installed directly from the MicroBlocks editor in advanced mode using the gear menu command "install ESP firmware from microblocks.fun".
To load the MicroBlocks firmware on non-ESP boards, the board must be put into "bootloader" mode. Download the firmware for the board from the pilot downloads directory, then drag the .uf2 file onto the virtual USB drive that appears when the board is in bootloader mode.
Like other Xiao boards, this board has 11 GPIO pins, pins 0..10. Pin 0 provides DAC output while pins 1..10 support PWM. All pins can be analog inputs. It also has a yellow user LED (pin 13) and blue RX/TX LED's (pins 11 and 12). All LED's are inverted: set the associated pin LOW to turn the LED on.
The RX/TX LED's can be used by MicroBlocks but then they will also flash brightly when IDE is connected via USB. They are disabled by default because that flashing is distracting.
Entering bootloader mode is tricky. You have to short the two RST pin contacts on the left of the USB port twice, quickly. When successful, an yellow user LED light will fade on and off slowly and a virtual USB drive named "Arduino" will appear.
Here is a MicroBlocks "blink" script:
One of the biggest advantages of this board is the low-power Nordic BLE radio.
Pins 0..10 are GPIO pins. Pins 0..5 can be analog inputs. This board also has three tiny LED's: red (pin 11, the user LED), blue (pin 12), and green (pin 13). All LED's are inverted: set the associated pin LOW to turn the LED on.
The Sense version also includes an onboard PDM microphone, temperature sensor, and 6-axis LSM6DS3TR-C IMU, which are supported by the MicroBlocks "Microphone", "Basic Sensors", and "Motion" libraries.
To enter bootloader mode, rapidly click the reset button twice. (The reset button is teeny tiny, located to the left of the USB port when the port is facing upward.) A virtual USB drive named "XIAO-SENSE" will appear.
This script will blink the red user LED:
This script will cycle through the red, blue, and green LED's:
This board has 11 GPIO pins (pins 0..10). Pins 0..3 can be analog inputs. It also has three tiny LED's: red (pin 11, the user LED), green (pin 12), and blue (pin 13). All LED's are inverted: set the associated pin LOW to turn the LED on. There is also one RGB NeoPixel LED (pin 14).
To enter bootloader mode, hold down the B (boot) button while clicking the R (reset) button. All three LED's will light and a virtual USB drive named "RPI-RP2" will appear.
Pins 0..18 are GPIO pins. (Note: GPIO 11-18 are pads on the back of board.) Pins 0..2 can be analog inputs. This board has a yellow user LED on pin 19 (inverted) and an RGB LED (NeoPixel) on pin 20.
To enter bootloader mode, hold down the tiny B (boot) button while clicking the R (reset) button. The yellow LED will light dimly and a virtual USB drive named "RP2350" will appear.
This script will blink the yellow user LED:
This script will make the RGB NeoPixel change color:
Like other ESP32 boards, this board offers both Wi-Fi and BLE connectivity. The sense version includes an extension board with a camera (either an OV2640 camera with 1600x1200 resolution or an OV3660 with 2048x1536 resolution) and a digital microphone.
Note: Camera support has not yet been implemented in MicroBlocks but will be added in the future.
The board has 11 GPIO pins (pins 0..10). The Sense version has two extra GPIO pins on the camera board (pins 11..12). Pins 0..5 and 8..10 can be analog inputs. Pin 13 is the yellow user LED (inverted),
The MicroBlocks firmware for this board can be installed directly from the MicroBlocks editor in advanced mode using the gear menu command "install ESP firmware from microblocks.fun". Select "xiao_esp32_s3" from the menu and follow the instructions.
It is usually not necessary to manually enter bootloader mode when installing MicroBlocks firmware on ESP32 boards.
To enter bootloader mode, if needed, hold down the B (boot) button while pressing and releasing the R (reset) button. You can also connect the board to your computer while holding down the B button. The tiny B and R buttons on either side of the USB connector are difficult to use; you may need to use your fingernail.
This script will blink the yellow user LED:
As with other ESP32 boards, this board offers both Wi-Fi and BLE connectivity. It has 11 GPIO pins (pins 0..10). Pins 0..3 can be analog inputs. It does not have a built-in user LED; connect an external LED between pin 10 and ground to use the MicroBlocks "set user LED" block.
The MicroBlocks firmware for this board can be installed directly from the MicroBlocks editor in advanced mode using the gear menu command "install ESP firmware from microblocks.fun". Select "xiao_esp32_c3" from the menu and follow the instructions.
It is usually not necessary to manually enter bootloader mode when installing MicroBlocks firmware on ESP32 boards.
To enter bootloader mode, if needed, hold down the B (boot) button while pressing and releasing the R (reset) button. You can also connect the board to your computer while holding down the B button. Fortunately it is easier to press the larger buttons on this board.
This board does not have a built-in user LED; it treats pin 10 as the user LED. If you connect an LED between pin 10 and ground, this script will blink it:
In addition to the supported boards listed eariler on this page, MicroBlocks runs on dozens of other boards. Knowns as community supported, these boards are for users comfortable with compiling and installing software on microcontrollers, and they are not as frequently tested as the supported boards. Support for many of these boards is provided by and maintained by community members, not the MicroBlocks team.
You can find pre-compiled firmware images for many community supported boards in the vm folder of the website. Some of these boards can be installed via drag-and-drop, while ESP boards can be installed using the "install ESP firmware from URL" command in the web app.
For the remaining boards, you will need to compile and install the MicroBlocks firmware yourself using PlatformIO or the Arduino IDE. The source code and compilation instructions can be found here.
See the platformio.ini file to see all the boards supported by PlatformIO. Firmware can be compiled and installed for any of these boards using the PlatformIO command:
pio run -e <env_board_name> -t upload