Parts ReferenceBBC micro:bit V1

BBC micro:bit V1

The BBC micro:bit V1 in de:volt is a MicroPython board for classroom projects. It runs the real micro:bit MicroPython environment in the browser, so from microbit import * programs work in the same style as python.microbit.org and Grok Academy lessons.

The board is a workspace component: place it beside a breadboard, then wire its edge pads to rails or tie points.

Pinout

PinFunctionNotes
P0GPIO / analogpin0.read_digital(), pin0.read_analog(), pin0.write_digital(1)
P1GPIO / analogSame model as P0
P2GPIO / analogSame model as P0
3V3.3 V outputPowers a small breadboard rail when the board is powered
GNDGroundTie this to the breadboard ground rail

Only the five large edge pads are exposed as breadboard terminals in this version. The smaller edge-connector pins are not wireable from the canvas.

Code tab

Select the board and open the Code tab in the Inspector. The editor includes micro:bit examples for:

  • showing a heart
  • scrolling text
  • buttons A and B
  • tilt input from the accelerometer

Edits are drafts until you press Run. Running flashes the program to the board and stores it in the circuit. Restart reruns the last flashed program without applying unrun draft edits.

See Writing MicroPython for the shared editor workflow.

On-board features

The embedded micro:bit simulator drives these on-canvas features:

  • 5x5 LED display: display.show(...), display.scroll(...), and display.set_pixel(...).
  • Buttons A and B: click and hold the board buttons to press them.
  • Accelerometer and gestures: the board starts in a resting, face-up pose.
  • Compass, temperature, and light APIs: available inside the micro:bit runtime.

Breadboard I/O

P0, P1, and P2 are bridged between MicroPython and the breadboard simulation.

  • pin0.write_digital(1) drives P0 high at 3.3 V.
  • pin0.write_digital(0) drives P0 low.
  • pin0.read_digital() samples the connected breadboard net.
  • pin0.read_analog() maps the connected voltage into the micro:bit 0-1023 range.
  • Unwired edge pins read as 0.

All edge I/O is 3.3 V logic. Do not wire a 5 V signal straight into P0, P1, or P2; use a divider or level shifter for 5 V circuits.

Power

The board starts powered. Click the USB connector on the canvas, or use the Inspector power setting, to unplug or plug it back in.

When powered:

  • the 3V pad sources 3.3 V
  • the LED matrix can light
  • P0/P1/P2 can drive or sample the breadboard

When unpowered, the display blanks, the 3V pad is off, and the edge pins stop driving.

Example

from microbit import *
 
while True:
    if button_a.is_pressed():
        display.show(Image.HAPPY)
        pin0.write_digital(1)
    else:
        display.show(Image.ASLEEP)
        pin0.write_digital(0)
    sleep(100)

Wire P0 through a resistor and LED to GND to see the breadboard output follow button A.

Limitations

  • Radio and Bluetooth are not modelled.
  • External wiring is limited to P0, P1, P2, 3V, and GND.
  • The on-board sensors run inside the embedded micro:bit runtime, but there is no UI yet for changing temperature, compass heading, or light level.
  • Browser audio rules may require a click or keypress before the hidden micro:bit runtime starts.