# Piper Make With the Raspberry Pi Pico

## Overview

Piper Make is a super easy and fun way to make projects with a Raspberry Pi Pico. It uses blocks just like Scratch so you don't need any programming experience to use it. This guide will take you through the steps of setting up your Raspberry Pi Pico for use with Piper Make and show you how to make a macro pad.

Piper Make uses CircuitPython with a helper library. If you want to see how to use the Pi Pico with CircuitPython without Piper, click below:

[Getting Started with Raspberry Pi Pico and CircuitPython](https://learn.adafruit.com/getting-started-with-raspberry-pi-pico-circuitpython)
Please note that at this time,&nbsp; **only** the Raspberry Pi Pico is supported by Piper Make. At the time of writing, other RP2040 boards like the Feather RP2040 aren't directly supported.

Warning: 

[Updating Google Chrome](https://support.google.com/chrome/answer/95414)
[Updating Microsoft Edge](https://www.whatismybrowser.com/guides/how-to-update-your-browser/edge)
## Parts
Featured
### Raspberry Pi Pico RP2040 with Loose Unsoldered Headers

[Raspberry Pi Pico RP2040 with Loose Unsoldered Headers](https://www.adafruit.com/product/4883)
The Raspberry Pi foundation changed single-board computing&nbsp;[when they released the Raspberry Pi computer](https://www.raspberrypi.org/archives/723), now they're ready to do the same for microcontrollers with the release of the brand new&nbsp; **Raspberry Pi...**

Out of Stock
[Buy Now](https://www.adafruit.com/product/4883)
[Related Guides to the Product](https://learn.adafruit.com/products/4883/guides)
![Top view of Raspberry Pi Pico with two 20-pin male headers.](https://cdn-shop.adafruit.com/640x480/4883-06.jpg)

Featured
### Breadboarding wire bundle

[Breadboarding wire bundle](https://www.adafruit.com/product/153)
75 flexible stranded core wires with stiff ends molded on in red, orange, yellow, green, blue, brown, black and white. These are a major improvement over the "box of bent wires" that are sometimes sold with breadboards, and faster than stripping your own solid core wires. Makes...

Out of Stock
[Buy Now](https://www.adafruit.com/product/153)
[Related Guides to the Product](https://learn.adafruit.com/products/153/guides)
![Bundle of multi-colored multi-length wire jumpers](https://cdn-shop.adafruit.com/640x480/153-04.jpg)

Featured
### Full Sized Premium Breadboard - 830 Tie Points

[Full Sized Premium Breadboard - 830 Tie Points](https://www.adafruit.com/product/239)
This is a 'full-size' premium quality breadboard, 830 tie points. Good for small and medium projects. It's 2.2" x 7" (5.5 cm x 17 cm) with a standard double-strip in the middle and two power rails on both sides. You can pull the power rails off easily to make the...

In Stock
[Buy Now](https://www.adafruit.com/product/239)
[Related Guides to the Product](https://learn.adafruit.com/products/239/guides)
![Angled shot of full sized breadboard.](https://cdn-shop.adafruit.com/640x480/239-03.jpg)

Featured
### Colorful Round Tactile Button Switch Assortment - 15 pack

[Colorful Round Tactile Button Switch Assortment - 15 pack](https://www.adafruit.com/product/1009)
Little clicky switches are standard input "buttons" on electronic projects. These work best in a PCB but [can be used on a solderless breadboard as shown in this tutorial](http://www.ladyada.net/learn/arduino/lesson5.html). The pins are normally open (disconnected) and...

Out of Stock
[Buy Now](https://www.adafruit.com/product/1009)
[Related Guides to the Product](https://learn.adafruit.com/products/1009/guides)
![Top-down shot of 15 colorful round tactile button switches in green, yellow, red, blue, and white.](https://cdn-shop.adafruit.com/640x480/1009-07.jpg)

Featured
### USB cable - USB A to Micro-B

[USB cable - USB A to Micro-B](https://www.adafruit.com/product/592)
This here is your standard A to micro-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Metro, Feather, Raspberry Pi or other dev-board or microcontroller

Approximately 3 feet / 1 meter long

In Stock
[Buy Now](https://www.adafruit.com/product/592)
[Related Guides to the Product](https://learn.adafruit.com/products/592/guides)
![USB cable - USB A to Micro-B - 3 foot long](https://cdn-shop.adafruit.com/640x480/592-01.jpg)

Featured
### USB C to Micro B Cable - 3 ft 1 meter

[USB C to Micro B Cable - 3 ft 1 meter](https://www.adafruit.com/product/3878)
As technology changes and adapts, so does Adafruit! Rather than the regular USB A, this cable has&nbsp; **USB C to Micro B** &nbsp;plugs!

USB C is the latest industry-standard connector for transmitting data _and_ power. Like Lightning and MagSafe cables, USB C has no...

In Stock
[Buy Now](https://www.adafruit.com/product/3878)
[Related Guides to the Product](https://learn.adafruit.com/products/3878/guides)
![USB C to Micro B Cable. 3ft 1 meter.](https://cdn-shop.adafruit.com/640x480/3878-00.jpg)

# Piper Make With the Raspberry Pi Pico

## Setting Up Your Raspberry Pi Pico on Piper Make

First, you're going to want to go to Piper Make's website:

[Piper Make](https://make.playpiper.com/)
You should be greeted by this screen. Unless you want to subscribe to get access to more tutorials, you can just click 'Let's Go!' or the 'x' button on the pop-up.

If you see a different pop-up that says the version of your browser is not supported, update it and try again.

![](https://cdn-learn.adafruit.com/assets/assets/000/100/946/medium800/raspberry_pi_Screenshot_from_2021-03-24_15-42-40.png?1616614977)

Now, you should click on the box under the 'Tools' section labeled 'Setup my Pico' and they will guide you through the setup. You only need to do this the first time you use Piper Make, but you should probably still do it every so often to keep the firmware up to date.

For this part, you'll need to plug your Pi Pico into your computer with a micro-USB cable. Make sure that your cable can handle power and data since many micro-USB cables are power only.

![raspberry_pi_Screenshot_from_2021-03-24_15-47-36.png](https://cdn-learn.adafruit.com/assets/assets/000/100/947/medium640/raspberry_pi_Screenshot_from_2021-03-24_15-47-36.png?1618868989)

It should show you this screen first. Click next to start setting up your Pico. These are also the same steps you would use to update the firmware on your Pico even if you've set it up previously.

![raspberry_pi_Screenshot_from_2021-04-16_17-04-20.png](https://cdn-learn.adafruit.com/assets/assets/000/101/555/medium640/raspberry_pi_Screenshot_from_2021-04-16_17-04-20.png?1618869054)

If your Pico is plugged in to your computer, unplug it now and press next.

![raspberry_pi_Screenshot_from_2021-04-16_17-04-28.png](https://cdn-learn.adafruit.com/assets/assets/000/101/556/medium640/raspberry_pi_Screenshot_from_2021-04-16_17-04-28.png?1618869074)

Now, plug in your Pico, making sure to hold the white BOOTSEL button as you do so. After you've plugged it in, you can release the button.

![raspberry_pi_Screenshot_from_2021-04-16_17-05-13.png](https://cdn-learn.adafruit.com/assets/assets/000/101/557/medium640/raspberry_pi_Screenshot_from_2021-04-16_17-05-13.png?1618869091)

Your Pico should show up like a USB drive. Mine was called RPI-RP2.

![raspberry_pi_Screenshot_from_2021-04-16_17-19-19.png](https://cdn-learn.adafruit.com/assets/assets/000/101/558/medium640/raspberry_pi_Screenshot_from_2021-04-16_17-19-19.png?1618869120)

Now, navigate to this directory and open it. I pressed 'open' in the upper right-hand corner, but different operating systems might have a slightly different button (pretty sure it's in the bottom right-hand corner in Windows).

![raspberry_pi_Screenshot_from_2021-04-16_17-05-52.png](https://cdn-learn.adafruit.com/assets/assets/000/101/637/medium640/raspberry_pi_Screenshot_from_2021-04-16_17-05-52.png?1618869135)

Now Piper Make will load the firmware to your Pico.

![raspberry_pi_Screenshot_from_2021-04-16_17-06-05.png](https://cdn-learn.adafruit.com/assets/assets/000/101/559/medium640/raspberry_pi_Screenshot_from_2021-04-16_17-06-05.png?1618869162)

Finally, if you see this screen your device is set up and you should be good to go.

![raspberry_pi_Screenshot_from_2021-04-16_17-20-58.png](https://cdn-learn.adafruit.com/assets/assets/000/101/560/medium640/raspberry_pi_Screenshot_from_2021-04-16_17-20-58.png?1618869180)

Now that you've set your Pico up, it's time to learn how to program it. I'd start off with the 'Getting Started' project since it's pretty easy and shows you around Piper Make and your Raspberry Pi.

![raspberry_pi_Screenshot_from_2021-03-24_16-05-35.png](https://cdn-learn.adafruit.com/assets/assets/000/100/949/medium640/raspberry_pi_Screenshot_from_2021-03-24_16-05-35.png?1618869254)

Now you should be ready to make your own programs on Piper Make. A good one to start off with is the Blink program if you've got an LED and a resistor on hand.

You can also click on the next section and go through an example I've come up with to use your Pi Pico to send keyboard inputs like a macro pad.

# Piper Make With the Raspberry Pi Pico

## Two Keyboard Macro Pad

With this project, you will be able to make your Raspberry Pi Pico function as a macro pad and send keystrokes to your computer. In this example, I'll use CTRL+C and CTRL+V, but you can program it to send whatever you want. I'll also only use two buttons, but you should be able to use more if you have them.

First, click on 'New Project'. It should then appear to the right of the button you just clicked. Click on it and it should open a blank programming window.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/100/969/medium800/raspberry_pi_Screenshot_from_2021-03-24_16-36-44.png?1616618260)

Start by grabbing the **start** block from the 'Chip' section and placing it in the workspace. Then, grab the **repeat forever** loop from the 'Loops' section and connect it to the **start** block.

![](https://cdn-learn.adafruit.com/assets/assets/000/100/971/medium800/raspberry_pi_Screenshot_from_2021-03-24_16-42-27.png?1616618554)

Then, grab two&nbsp; **if** statements from the 'Logic' section and put them in the loop.

![](https://cdn-learn.adafruit.com/assets/assets/000/100/972/medium800/raspberry_pi_Screenshot_from_2021-03-24_16-43-22.png?1616618613)

After that, you're going to want to put an&nbsp; **is pin 0 LOW when pulled UP** in the hexagons in each of the **if** statements. Set the first one to **pin 7** and the second one to **pin 8.&nbsp;** This means that whatever is inside the corresponding **if&nbsp;** block will run if the button connected to the specified pin is pushed.

![](https://cdn-learn.adafruit.com/assets/assets/000/100/973/medium800/raspberry_pi_Screenshot_from_2021-03-24_16-46-07.png?1616618775)

Now, go to the 'Actions' tab and take two&nbsp; **keyboard press** blocks and one&nbsp; **keyboard release keys** block. Put them all in the first **if**.

![](https://cdn-learn.adafruit.com/assets/assets/000/100/974/medium800/raspberry_pi_Screenshot_from_2021-03-24_16-48-25.png?1616618912)

After that, you should set the keys that the two **keyboard press&nbsp;** blocks activate.

- Set the first block to&nbsp;**Control (Left)**
- Set the second block to&nbsp; **c C**

![](https://cdn-learn.adafruit.com/assets/assets/000/100/975/medium800/raspberry_pi_Screenshot_from_2021-03-24_16-54-49.png?1616619299)

Do the last two steps for the second **if&nbsp;** block except instead of&nbsp; **c C&nbsp;** use&nbsp; **v V**.

![](https://cdn-learn.adafruit.com/assets/assets/000/100/977/medium800/raspberry_pi_Screenshot_from_2021-03-24_16-56-55.png?1616619426)

Go to the 'Chip' section and take two **w**** ait 1 seconds **blocks and put them under each&nbsp;** keyboard release keys&nbsp;**block. Set each of them to 0.5 seconds instead of 1 second. This prevents the key from accidentally being pressed twice.

![](https://cdn-learn.adafruit.com/assets/assets/000/100/978/medium800/raspberry_pi_Screenshot_from_2021-03-24_16-59-23.png?1616619574)

Now, change the "wait 0.5 seconds" at the bottom of the&nbsp; **repeat forever** loop to 0. This will make the loop run much faster.

![](https://cdn-learn.adafruit.com/assets/assets/000/100/980/medium800/raspberry_pi_Screenshot_from_2021-03-24_17-01-30.png?1616619697)

![](https://cdn-learn.adafruit.com/assets/assets/000/100/964/medium800/raspberry_pi_pi_pico_macropad.png?1616617915)

It's time to wire everything up.

- Orange wire - Connect **GP7** (10th pin) to the left pin on the first button
- Blue wire - Connect **GP8** (11th pin) to the left pin on the second button
- Black wire - Connect&nbsp; **GND&nbsp;** (8th pin) to the right pin on the second button
- Black wire - Connect the right pin on the first button to the right pin on the second button.

![](https://cdn-learn.adafruit.com/assets/assets/000/100/966/medium800/raspberry_pi_4883-06.png?1616617995)

Here's what mine looked like after I hooked everything up.

![](https://cdn-learn.adafruit.com/assets/assets/000/100/983/medium800/raspberry_pi_IMG_1915.jpg?1616620212)

Now, press the 'Start' button in the upper left-hand corner of the screen. It should put the code on your Pico and run it. If the 'Start' button isn't green, you may have to press the 'Connect' button again to reconnect your Pico.

Now that the code is running, you can highlight some text and press the left button on the breadboard to copy it. To paste it, just press the right button.


## Guide Products

### Raspberry Pi Pico RP2040 with Loose Unsoldered Headers

[Raspberry Pi Pico RP2040 with Loose Unsoldered Headers](https://www.adafruit.com/product/4883)
The Raspberry Pi foundation changed single-board computing&nbsp;[when they released the Raspberry Pi computer](https://www.raspberrypi.org/archives/723), now they're ready to do the same for microcontrollers with the release of the brand new&nbsp; **Raspberry Pi...**

Out of Stock
[Buy Now](https://www.adafruit.com/product/4883)
[Related Guides to the Product](https://learn.adafruit.com/products/4883/guides)
### Breadboarding wire bundle

[Breadboarding wire bundle](https://www.adafruit.com/product/153)
75 flexible stranded core wires with stiff ends molded on in red, orange, yellow, green, blue, brown, black and white. These are a major improvement over the "box of bent wires" that are sometimes sold with breadboards, and faster than stripping your own solid core wires. Makes...

Out of Stock
[Buy Now](https://www.adafruit.com/product/153)
[Related Guides to the Product](https://learn.adafruit.com/products/153/guides)
### Full Sized Premium Breadboard - 830 Tie Points

[Full Sized Premium Breadboard - 830 Tie Points](https://www.adafruit.com/product/239)
This is a 'full-size' premium quality breadboard, 830 tie points. Good for small and medium projects. It's 2.2" x 7" (5.5 cm x 17 cm) with a standard double-strip in the middle and two power rails on both sides. You can pull the power rails off easily to make the...

In Stock
[Buy Now](https://www.adafruit.com/product/239)
[Related Guides to the Product](https://learn.adafruit.com/products/239/guides)
### Colorful Round Tactile Button Switch Assortment - 15 pack

[Colorful Round Tactile Button Switch Assortment - 15 pack](https://www.adafruit.com/product/1009)
Little clicky switches are standard input "buttons" on electronic projects. These work best in a PCB but [can be used on a solderless breadboard as shown in this tutorial](http://www.ladyada.net/learn/arduino/lesson5.html). The pins are normally open (disconnected) and...

Out of Stock
[Buy Now](https://www.adafruit.com/product/1009)
[Related Guides to the Product](https://learn.adafruit.com/products/1009/guides)
### USB cable - USB A to Micro-B

[USB cable - USB A to Micro-B](https://www.adafruit.com/product/592)
This here is your standard A to micro-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Metro, Feather, Raspberry Pi or other dev-board or microcontroller

Approximately 3 feet / 1 meter long

In Stock
[Buy Now](https://www.adafruit.com/product/592)
[Related Guides to the Product](https://learn.adafruit.com/products/592/guides)
### USB C to Micro B Cable - 3 ft 1 meter

[USB C to Micro B Cable - 3 ft 1 meter](https://www.adafruit.com/product/3878)
As technology changes and adapts, so does Adafruit! Rather than the regular USB A, this cable has&nbsp; **USB C to Micro B** &nbsp;plugs!

USB C is the latest industry-standard connector for transmitting data _and_ power. Like Lightning and MagSafe cables, USB C has no...

In Stock
[Buy Now](https://www.adafruit.com/product/3878)
[Related Guides to the Product](https://learn.adafruit.com/products/3878/guides)

## Related Guides

- [Adafruit MLX90640 IR Thermal Camera](https://learn.adafruit.com/adafruit-mlx90640-ir-thermal-camera.md)
- [Forecast the Weather at Home with a No-Code Barometer ](https://learn.adafruit.com/dps310-analog-barometer.md)
- [How to Make Games in MakeCode Arcade](https://learn.adafruit.com/how-to-make-games-on-makecode-arcade.md)
- [CircuitPython Libraries on any Computer with Raspberry Pi Pico](https://learn.adafruit.com/circuitpython-libraries-on-any-computer-with-raspberry-pi-pico.md)
- [Halloween Monsters with CRICKIT and Circuit Playground Express](https://learn.adafruit.com/halloween-monsters-with-crickit.md)
- [Purple Air AQI Display](https://learn.adafruit.com/purple-air-aqi-display.md)
- [Circuit Playground Express: Piano de Limones](https://learn.adafruit.com/circuit-playground-express-piano-de-limones.md)
- [PyPortal Word of the Day Display](https://learn.adafruit.com/pyportal-word-of-the-day-display.md)
- [NeoPixel Badge Lanyard with Bluetooth LE](https://learn.adafruit.com/bluetooth-neopixel-badge-lanyard.md)
- [Single Channel LoRaWAN Gateway for Raspberry Pi](https://learn.adafruit.com/raspberry-pi-single-channel-lorawan-gateway.md)
- [Lucky Cat with Circuit Playground Express](https://learn.adafruit.com/lucky-cat-with-circuit-playground-express.md)
- [Adafruit Feather M0 Basic Proto](https://learn.adafruit.com/adafruit-feather-m0-basic-proto.md)
- [CircuitPython Audio FX](https://learn.adafruit.com/circuitpython-audio-fx.md)
- [NeoTrellis M4 Noisy Grains of Sand](https://learn.adafruit.com/neotrellism4sand.md)
- [NeoTrellis M4 Arpeggiator Synth](https://learn.adafruit.com/neotrellis-arpeggiator-synth.md)
