Pico360 rev 2

The Pico is a powerful but cheap microcontroller from Raspberry Pi. I thought it deserved a simple, easy-to-solder, board to let you try out some of its features, hence this Pico 360 experimenter board. I am selling a limited quantity on Etsy for UK buyers.

This is “rev 2” of the board and it has:

  • 8 LEDs
  • 2 buttons connected to GP3 and GP4
  • a reset button
  • a potentiometer connected to ADC1 (a.k.a. GP27) which allows you to experiment with analogue inputs
  • optional: space on the PCB to add a buzzer connected to GP21
  • 5 croc-clip friendly connections in a layout similar to the micro:bit
  • 7 header pins breaking out some GPIO for breadboard experiments or connecting my GPIO Xmas Tree (see below for photo).

By the way, you can connect my small Christmas Tree to the header pins! Note that the 3V3 pin (on the right hand side of this photo) is not required.

IMG_5938

Building the Pico360

Hopefully you can see enough from the photo above to construct the rev 2 kit but Mike Horne has written about constructing the Pico360 rev 1 in this blog post. The LEDs must be connected the correct way round with the longer wire going to the PCB pad marked with a “+” symbol.

Coding the Pico360

All the existing documentation for the Pico applies and Mike Horne has kindly written some example code for Circuit Python. I have written some test code (shown at the bottom of this page) in micropython. This code makes the LEDs chase along at a speed controlled by the position of the potentiometer (which you can adjust with a screwdriver). Pressing one of the buttons will illuminate the green LED and pressing the other button will sound the buzzer (if you have one installed on your PCB).
Note that to turn on the LEDs or buzzer you should set the corresponding output to 1 and set it to 0 to turn them off. For the button inputs, the input value is 1 if the button is pressed and 0 if it is not pressed.

FAQs

Can I buy a kit from you?

I am selling some kits on Etsy but only for delivery to the UK for now.

Why is your choice of GPIO numbers a bit odd?

I wanted to make the 7-pin header use the same GPIO numbers as a portion of the Raspberry Pi’s GPIO header so that some simple add-ons (e.g. my GPIO Xmas Tree) could work on both and the documentation could refer to the same GPIO pin numbers.

Where are the details of the rev 1 board?

You can read about rev 1 here.

What is the circuit diagram?

Pico360

# Test micropython code for Pico360 board
# for the Raspberry Pi Pico.
# More details at www.pocketmoneytronics.co.uk

import machine
import utime

# set up outputs

led_pins=[7, 8, 9, 10, 11, 12, 17] # red LEDs plus the yellow one
leds = []
for i in led_pins:
    tmp = machine.Pin(i, machine.Pin.OUT)
    leds.append(tmp)

green_led = machine.Pin(16, machine.Pin.OUT)
buzzer = machine.Pin(21, machine.Pin.OUT)

# set up inputs

button3 = machine.Pin(3, machine.Pin.IN, machine.Pin.PULL_DOWN)
button4 = machine.Pin(4, machine.Pin.IN, machine.Pin.PULL_DOWN)
potentiometer = machine.ADC(27)

while True:
    for led in leds:
        led.value(1) # turn led on
        delay_length = 5+int(potentiometer.read_u16()/1000)
        for i in range(delay_length):
            green_led.value(button3.value()) # if button 3 pressed, light the green LED
            buzzer.value(button4.value()) # if button 4 pressed, sound the buzzer
            utime.sleep(0.01)
        led.value(0) # turn led off

# end