Skip to content

IoT:bit is an expansion board for exploring IoT with micro:bit. It's been redesigned to be compatible with both the micro:bit v1 and micro:bit v2!

IoT:bit uses an ESP8266 chip for WiFi, and a serial port to communicate with the micro:bit. It also has breakouts for most I/O ports on the micro:bit, so you can hook up 3V devices such as LEDs, photosensors or servos.

IoT:bit also features an on-board buzzer, and an RTC clock for maintaining accurate time without a power supply. 


  • Integrated ESP12F WiFi, RTC and passive buzzer module
  • Extends most I/O ports 
  • Silk-screen labels for main onboard components
  • Separate I2C interface, to directly plug in OLED, BME280, etc
  • Lego spaced mounting holes (4 standard spacing Lego fixed holes)



  • Product size:71mm x 63mm x 23mm
  • PCB thickness:1.5mm
  • Hole diameter:2.4mm


Pin interface drawing

Introduction of main module


Makecode blocks


Click on `JavaScript` in the `makecode` editor for `JavaScript` coding.


Uses `MU` for advanced coding method`MicroPython`



Hardware connection
First, install CR1220 button cell (not included) to supply power to the RTC.

Plug the micro:bit into the Iot:bit.

Plug a USB-micro cable into the expansion board and switch on.


Coding Platform

Add codebase
Click on "Advanced" in the MakeCode Drawer to see more code sections.

We need to add an extension for coding to the IOT. Click on the “Extension” at bottom of coding drawer, then Search for “IOT” and click on the IOT package to add it to your project. (As below picture)

If you get a warning telling you some packages will be removed because of incompatibility issues, either follow the prompts or create a new project in the Project file menu.

How to drive the buzzer

There is on-board buzzer on the IOT:bit as indicated below. You can use the buzzer to play music using MakeCode!

When button A is pressed in the "input", play a bit of music.

Program link:

How to use RTC

There is on-board DS1307RTC timer on the IOT:bit, indicated below. RTC timing needs a CR1220 button cell for power. We need the RTC timing keep accuracy in the event of a power outage.

Press button A to set the time to the set time. On start with RTC function and the minutes be displayed on the 5*5 allay.
Turn off the power after turning off the power for one minute, and the dot matrix display will show the number of minutes after another 1 minute.

Program link:

How to use the internet function

The most important function of IOT:bit is WIKI. The onboard ESP-12FWIFI module can connect WIFI and send information. To use port for communication with the micro:bit and the pin RX-P8TX-P12 is special for IoT.
Using thingspeak as cloud to coding and data uploding.

On start, initialize ESP8266 to default connection with P8 & P12.
Connect your own WiFi, input the key and the password.
Under foever loop, connect the thinkspeak and set date to send, then pause.

Program link:

Down load code

Let your micro:bit be connected to one side of the USB, the other side to your computer.(Inserting on the expansion board may cause the micro:bit connection to be abnormal or damaged.)

Then copy your documents to the micro:bit.
Now, here is your observing time!

Compare products

{"one"=>"Select 2 or 3 items to compare", "other"=>"{{ count }} of 3 items selected"}

Select first item to compare

Select second item to compare

Select third item to compare