In this article we look at another Raspberry Pi Pico board, this one is the Cytron Maker Pi Pico.
The Maker Pi Pico is a board for the Raspberry Pi Pico, it comes in 2 variants one of these has a Raspberry Pi Pico soldered and the other one you can add your own Pi Pico
The Maker Pi Pico can be programmed with CircuitPython, MicroPython and C/C++. Its as easy as connecting to any computer via USB, then drag and drop the file onto it to upload the program.
Here is an image of the unpopulated board which also shows some of the on board features – the populated one has the Pico already present
- Raspberry Pi Pico is included and is already soldered to the board
- There are 2two 20 pin headers which provide easy access to all Raspberry Pi Pico’s pins
- There are LED indicators on all GPIO pins
- There are 3x programmable push button which are connected to GP20-22
- There is a NeoPixel RGB LED which is connected to GP28
- There is a Piezo buzzer which is connected to GP18
- There is a 3.5mm stereo audio jack which is connected to GP18-19
- There is an Micro SD card slot which is connected to GP10-15
- There is an ESP-01 socket which is connected to GP16-17
- There are 6x Grove ports
So as you can see there are a few features on board that mean you can get up and running straight away with the on board devices
blink an LED example
import machine import utime # LED BLINKING led = machine.Pin(10, machine.Pin.OUT) # set pin 10 as OUTPUT while True: led.toggle() # toggle LED utime.sleep(0.5) # sleep 500ms
RGB led example
import array, time from machine import Pin import rp2 from rp2 import PIO, StateMachine, asm_pio # Configure the number of WS2812 LEDs # - There's 1x built-in RGB LED on Maker Pi Pico board NUM_LEDS = 1 @asm_pio(sideset_init=PIO.OUT_LOW, out_shiftdir=PIO.SHIFT_LEFT, autopull=True, pull_thresh=24) def ws2812(): T1 = 2 T2 = 5 T3 = 3 label("bitloop") out(x, 1) .side(0) [T3 - 1] jmp(not_x, "do_zero") .side(1) [T1 - 1] jmp("bitloop") .side(1) [T2 - 1] label("do_zero") nop() .side(0) [T2 - 1] # Create the StateMachine with the ws2812 program, outputting on pin GP28 (Maker Pi Pico). sm = StateMachine(0, ws2812, freq=8000000, sideset_base=Pin(28)) # Start the StateMachine, it will wait for data on its FIFO. sm.active(1) # Display a pattern on the LEDs via an array of LED RGB values. ar = array.array("I", [0 for _ in range(NUM_LEDS)]) while True: print("blue") for i in range(NUM_LEDS): ar[i] = 255 sm.put(ar,8) time.sleep_ms(1000) print("red") for i in range(NUM_LEDS): ar[i] = 255<<8 # shift 8 bits to the left sm.put(ar,8) time.sleep_ms(1000) print("green") for i in range(NUM_LEDS): ar[i] = 255<<16 # shift 16 bits to the left sm.put(ar,8) time.sleep_ms(1000) print("white") for i in range(NUM_LEDS): ar[i] = 0xFFFFFF sm.put(ar,8) time.sleep_ms(1000)
There are more examples in the github links
If you want to get started with the Raspberry Pi Pico then this is a ideal starting point, it has enough extra features on the board and at a low enough price to be worth a purchase.