The Maker Pi Pico A Project Board For The Raspberry Pi Pico

In this article we look at another Raspberry Pi Pico board, this one is the Cytron Maker Pi Pico and its a good one.

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 a populated board which also shows some of the on board features and its pinout

Features

  • A Raspberry Pi Pico is included and is already soldered to the board
  • There are 2 20 pin headers which provide easy access to all Raspberry Pi Pico’s pins
  • There are LED indicators connected to all GPIO pins
  • There are 3 x programmable push buttons which are connected to GP 20-22
  • There is a NeoPixel RGB LED which is connected to GP 28
  • There is a Piezo buzzer which is connected to GP 18
  • 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

Links

https://github.com/CytronTechnologies/MAKER-PI-PICO
Maker Pi Pico Datasheet
Maker Pi Pico Schematic Rev1.0.0-1.1.0 & Rev1.2.0.

Purchase

Aliexpress Link

Examples

Here are some basic examples using the resources on the board

Blink an LED example

The common blink an LED using Micropython

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

This is a basic RGB example in Micropython using the on board led

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)

 

Summary

If you want to get started with the Raspberry Pi Pico then this is a ideal starting point, it has enough extra features for beginners on the board and at a low enough price to be worth a purchase.

Related posts

A look at the Pimoroni Pico Plus 2 board

An Audio Expansion Board for your Raspberry Pi Pico

A Raspberry Pi Pico GPIO Test Board