There are no official docs yet, but here is a short quick-reference to get you started. These following demo code is from the bito module readme file.
If you haven’t used the Micro:bit before, you will want to check out the Micro:bit Setup instructions at the bottom of this page.
Connecting to the micro:bit¶
# NOTE: Make sure bitio.hex is installed import microbit
Scrolling text on the screen¶
import microbit microbit.display.scroll("Hello")
Displaying a single character¶
import microbit microbit.display.show("A")
import microbit microbit.display.scroll(2345)
Displaying numbers using a 2-digit font¶
import microbit import time for n in range(99): microbit.display.show(n) time.sleep(0.25)
Getting a list of pre-defined images¶
The full list of pre-defined images is at the bottom of this page as well.
import microbit print(microbit.Image.STD_IMAGE_NAMES)
Displaying a pre-defined image¶
import microbit microbit.display.show(microbit.Image.HAPPY)
Spinning a clock¶
import microbit import time for c in microbit.Image.ALL_CLOCKS: microbit.display.show(c) time.sleep(0.25)
Defining a custom image¶
import microbit BANANA = microbit.Image("00090:00090:00990:09900:99000") microbit.display.show(BANANA)
Clearing the display¶
import microbit microbit.display.clear()
Sensing when a pin is touched¶
import microbit import time while True: if microbit.pin0.is_touched(): microbit.display.show("T") time.sleep(0.5) microbit.display.clear()
Reading accelerometer values¶
import microbit import time while True: print(microbit.accelerometer.get_values()) time.sleep(0.25)
Sensing tilt in the X plane¶
import microbit import time while True: x = microbit.accelerometer.get_x() x = abs(x) if x > 200: print("Tilted") else: print("Not Tilted") time.sleep(0.5)
Reading the temperature¶
import microbit import time while True: print(microbit.temperature()) microbit.sleep(0.5)
List of Pre-Defined Images¶
Installing a Driver If Using Legacy Windows OS¶
The following only applies to users of Windows that are on a version earlier than Windows 10. If you are using Windows 10, Mac, or Linux, you can skip this step.
If you are on a Windows machine (< Windows 10), you will need to download the mbed driver if you want to use your Micro:bit as an input/output device. Note that you will need to have a Micro:bit plugged into your machine when installing the driver, and that it requires admin rights. If you want to simply run code on your Micro:bit, and not communicate with your computer, no driver is required for any platform (but this does really limit the types of interesting things that can be done, and none of the examples in the textbook will work).
Your Micro:bit can be used in two modes:
running “flashed” code, independent of a computer (can run on batteries, or through power supplied via the computers USB port)
communicating through the serial port with your computer as an input/output device
For the purposes of this textbook, we will always be using the Micro:bit as an input/output device by communicating over a USB connection.
If you want to learn more about how to use the Micro:bit without it being hooked up to a computer, you can find out about how to do that on the Microbit website.
Flashing the Micro:bit¶
While your Micro:bit is connected to your computer via USB, it is possible to send instructions to the Micro:bit using serial commands. In order to do this, we first need to flash the Micro:bit with a micropython .hex file. This lets you use a BBC Micro:bit in Python to sense the physical world around you, and to output to LEDs (and much more, if you hook up additional sensors). You should only have to do this once, unless you flash the Micro:bit with a different .hex file in order to use it without being tethered to a computer.
To flash your Micro:bit, first connect your Micro:bit to your computer via USB. Now download the
bitio.hex file to your computer. Drag the .hex file onto your Micro:bit in the Windows Explorer (or Mac Finder), as shown below.
You should now see an I/O image on the LED grid of the Micro:bit, which tells you that your Micro:bit is ready to communicate with Python (though you still need to install a module in Thonny, as described below).
The bitio.hex file is from the bitio package written by David Whale. This is the package we are about to install to communicate with the Micro:bit. Since the bitio package is not published on PIP, I (Dan Schellenberg) simply packaged it in a format that makes it easy to install via Thonny. Even though it is called cs20-microbitio, it is really just the bitio package.
Installing the Micro:bit Module in Thonny¶
In order to communicate with the microbit in Python, you need to install the
cs20-microbitio package in Thonny. To do that, go to Tools -> Manage packages…, type in
cs20-microbitio into the search bar, and install. You only need to do this once, after which you should be able to use
import microbit whenever you want to interact with the Micro:bit in Python.
Using the Micro:bit¶
Once you have done that, try running the code below:
import microbit microbit.display.scroll("Hey there, CS20")
When you press Run, there will be a prompt in the console telling you to disconnect the Micro:bit, then press ENTER. Follow the prompts, which allow the bitio module to detect which device connected to your computer is the Micro:bit. The console will look something like this:
No micro:bit has previously been detectedScanning for serial portsremove device, then press ENTERscanning…found 132 device(s)plug in device, then press ENTERscanning…found 133 device(s)found 1 new deviceselected:/dev/tty.usbmodem1422Do you want this device to be remembered? (Y/N)Yconnecting…Your micro:bit has been detectedNow running your program
Once the connection is established, you should see the message scroll across the 5x5 LED grid on your Micro:bit.