Home » A Microbit inspired RP2040 board

A Microbit inspired RP2040 board

by 2b4a3pico71

This is an RP2040:bit Board Based On Raspberry Pi Microcontroller RP2040 but is the same size and pinout as the BBC Micro:bit which is another favourite board of ours

So much so we have a website dedicated to it but that's another story – http://microbitlearning.com/ for the record.

Anyway here is an image of the board so you can see for yourself

rp2040-bit

Features

The board has the following features

On-board W25Q16 16M flash Memory chip
On-board 5×5 LED matrix, each LED can be programmed separately.
On-board two programmable buttons.

You get 2 headers which you can solder on, if you want the pico pinout on the back. Other wise its this Microbit type pinout

rp2040-bit-board

Pin Description
0 KEYA
1 KEYB
10 GPIO that is used for the serial clock (SCK) signal of the 3-wire Serial Peripheral Interface (SPI) bus.
11 GPIO that is used for the Master Out Slave In (MOSI) signal of the SPI bus.
12 GPIO that is used for the Master In Slave Out (MISO) signal of the SPI bus.
13 CSn
17 These pins are wired to the 3V supply
18,19 Implement the clock signal (SCL) and data line (SDA) of the I2C bus communication protocol. With I2C, several devices can be connected on the same bus and send/read messages to and from the CPU.
29 ADC3

Development

You can use Micropython, Arduino or the C++ SDK.

Its an RP2040, so you can use your typical development environment.

I went for micropython and for me the easiest development environment is Thonny.

rom machine import Pin
import time
led_Col=[2,3,4,5,25,7,8,9,21,22];
Pin(led_Col[0], Pin.OUT)
Pin(led_Col[1], Pin.OUT)
Pin(led_Col[2], Pin.OUT)
Pin(led_Col[3], Pin.OUT)
Pin(led_Col[4], Pin.OUT)
Pin(led_Col[5], Pin.OUT)
Pin(led_Col[6], Pin.OUT)
Pin(led_Col[7], Pin.OUT)
Pin(led_Col[8], Pin.OUT)
Pin(led_Col[9], Pin.OUT)
buttonA= Pin(0, Pin.IN, Pin.PULL_UP)
buttonB = Pin(1, Pin.IN, Pin.PULL_UP)
while 1:
    
    for i in range(len(led_Col)):
        
        i>5
        
        j=Pin(led_Col[i], Pin.OUT)
       
        Pin(led_Col[0], Pin.OUT).low()
        Pin(led_Col[1], Pin.OUT).low()
        Pin(led_Col[2], Pin.OUT).low()
        Pin(led_Col[3], Pin.OUT).low()
        Pin(led_Col[4], Pin.OUT).low()
        Pin(led_Col[5], Pin.OUT).high()
        Pin(led_Col[6], Pin.OUT).high()
        Pin(led_Col[7], Pin.OUT).high()
        Pin(led_Col[8], Pin.OUT).high()
        Pin(led_Col[9], Pin.OUT).high()
        
        time.sleep(0.2)
            
        j.high()
        Pin(led_Col[5], Pin.OUT).low()
        
        time.sleep(0.2)
        
        j.high()
        Pin(led_Col[6], Pin.OUT).low()
        
        time.sleep(0.2)
        
        j.high()
        Pin(led_Col[7], Pin.OUT).low()
        
        time.sleep(0.2)
        j.high()
        Pin(led_Col[8], Pin.OUT).low()
        
        time.sleep(0.2)
        j.high()
        Pin(led_Col[9], Pin.OUT).low()
        
        time.sleep(0.2)
            
        if (buttonA.value()==0):
            
            Pin(led_Col[0], Pin.OUT).high()
            Pin(led_Col[1], Pin.OUT).high()
            Pin(led_Col[2], Pin.OUT).high()
            Pin(led_Col[3], Pin.OUT).high()
            Pin(led_Col[4], Pin.OUT).high()
            Pin(led_Col[5], Pin.OUT).low()
            Pin(led_Col[6], Pin.OUT).high()
            Pin(led_Col[7], Pin.OUT).high()
            Pin(led_Col[8], Pin.OUT).high()
            Pin(led_Col[9], Pin.OUT).high() 
        
            time.sleep(0.5)
        
        elif (buttonB.value()==0):
            Pin(led_Col[0], Pin.OUT).low()
            Pin(led_Col[1], Pin.OUT).low()
            Pin(led_Col[2], Pin.OUT).low()
            Pin(led_Col[3], Pin.OUT).low()
            Pin(led_Col[4], Pin.OUT).high()
            Pin(led_Col[5], Pin.OUT).low()
            Pin(led_Col[6], Pin.OUT).low()
            Pin(led_Col[7], Pin.OUT).low()
            Pin(led_Col[8], Pin.OUT).low()
            Pin(led_Col[9], Pin.OUT).low()        
        
            time.sleep(0.5)

What you will see with this example is the following

The LEDs lights up one by one.
When button A is pressed, the first horizontal row of LEDs on the top will light up.
When button B is pressed, the row near button B lights

Pricing

You can get this board for under £7 from Aliexpress, which in my opinion is a bit of a steal. There of course may be some shipping charges

You may also like

Adblock Detected

Please support us by disabling your AdBlocker extension from your browsers for our website.