The Raspberry Pi Pico microcontroller is vastly superior to the Arduino Uno, yet the Uno is still easier to work with. Let’s change all that by building our own Pico “Uno”!
When it comes to getting the highest performance for the lowest price it’s pretty hard to top the Raspberry Pi Pico microcontroller board. For only 4 dollars you get a powerful dual-core microcontroller that runs at 133 MHz, has a wealth of GOIO options and can be programmed in MicroPython, CircuitPython, or C++.
You would think that with all of those features it would be the board to grab when it’s time to build your next project or to test out a new sensor. But quite often we overlook the Pico and instead grab an old favorite – the Arduino Uno.
The Uno is just easier for most people to work with, so most of us (myself included) tend to grab one before anything else. This is a shame, as the Pico, and other micros, have a lot to offer.
So today we’ll try and give the Pico the advantages that the Uno has, with a few prototyping accessories. We’ll look at a few commercial ones, but then we’ll see what we can build to make the Pico as easy to use as an Arduino Uno is.
Pico vs Uno
The Uno is a much older board with only a fraction of the power and speed of the Pico, but it has a couple of advantages:
- It’s a familiar environment with a lot of libraries and code samples.
- It’s easy to wire things to an Uno.
On that first point, you should note that many of your Arduino Uno sketches will run with little, if any, modification on a Raspberry Pi Pico. You can use the Arduino IDE and upload them to your Pico and try them out.
So there already is a lot of Pico software, in the form of Arduino sketches. Plus the Pico can run MicroPython and CircuitPython, allowing you to use a completely different programming environment.
The second point is one we can fix in hardware.
The specifications of the two boards are quite different:
The Pico is a 32-bit, dual-core design while the Arduino Uno is a single-core 8-bit product. The Pico runs at 133 MHz, as opposed to the 16 MHz the Uno runs at. The Pico has over a hundred times as much SRAM and Flash memory as the Arduino Uno has.
Let’s face it, the Uno has been around since 2010, while the Pico has only been with us since 2021. The PIco is a more modern 3.3-volt device with more GPIO ports.
But the Uno has one thing that makes it a lot easier to use. You can attach jumper wires directly to it.
All you need to use it is a computer running the Arduino IDE and a USB cable. You can wire directly to the Arduino Uno, and start breadboarding that new design or experiment almost as quickly as you can think about it. And if you need to start your program over again, it has a Reset key.
The Pico, on the other hand, comes barebones. It doesn’t even have pins soldered to it, so at minimum, you’ll need to solder a few up and plug it into a solderless breadboard.
The Pico only has one button, the boot selector, or BOOTSEL button. No reset button. A GPIO-attached LED that you can call from inside your code, but not a power LED.
But it isn’t all that difficult, using either store-bought or homemade products, to turn a Pico into a development environment that is just as versatile as an Arduino Uno. Perhaps even more versatile.
Building Simple Proto Boards
It is quite easy to convert a Raspberry Pi Pico microcontroller into a prototyping jewel, using just a few inexpensive parts.
Basic Proto Pico
This is the most basic of Pico prototyping boards, and in many cases, it’s all you need to do.
The Raspberry Pi Pico is distributed in the same packaging that it leaves the factory in. The Pico is sold on a tape roll, you can buy one or one thousand of them. Each element on the tape is a container that holds one pico board.
You need to solder some pins onto the board, and in most cases we use male Dupont pins, facing down. This allows us to plug the Pico into a solderless breadboard, a prototyping perfboard, or a printed circuit board.
But you can also solder other headers, mals le or female, to the Pico. It just needs to be on a 0.1-inch grid, a standard in electronics.
So instead of using male headers, we can use female ones, like the ones used on the Arduino Uno board. And, just like on the Uno, we can solder them facing upwards.
That way our Pico is now as versatile as the Uno, you can start experimenting with it by plugging hookup wires into the female sockets.
I also soldered a 3-pin male header to the Debug pins, but you might want to use a female header for that as well. If you have no intention of using the debug feature you could leave it out.
This is the lowest-cost modification we will be looking at today, and in many cases, it’s all you’ll need.
Pico Proto with Reset & Power LED
The next level up in homemade Pico prototyping boards is to add two features the Pico is lacking when compared to the Arduino Uno:
- A Power LED
- A Reset switch
We are going to make it very easy to wire this up by utilizing a prototyping board that is etched with the same pattern as a solderless breadboard. These are available at Amazon and eBay, and quite possibly in your local electronics store. These boards make it easy to translate designs from a breadboard to a wired circuit board. In our case, they will make wiring up a Pico prototyping board very easy.
I’m using a board that is meant to replicate a small solderless breadboard, with rows of five interconnected pins plus two power bus columns. The Pico and its associated female sockets take up the first 20 rows.
The 3.3-volt output from Pico pin 36 and the ground on pin 38 are connected to the power bus columns on the right.
On the bottom, we wire our reset switch and power LED. The two share a common ground, so one side of the switch and the LED cathode can share the same trace. The LED anode connects to the 3.3-volt power rail through a 180-ohm resistor.
The other side of the Reset switch runs to the Pico RUN pin, on pin 30. You can ruin this wire underneath the Pico, keeping it out of the way.
I also put a few male and female headers on both the 3.3-volt power and Ground columns, to make it easier to get power for breadboard experiments.
The whole design is as easy to use as an Uno and is just a bit bigger.
There is quite a bit of room left on the protoboard, so you could wire in a few other things if you want to,
Powering the Pico
The previous design gave the Pico ALMOST every feature that the Arduino Uno has, and in many cases, it will be enough t break you of your Uno habit.
But there is one other thing that an Arduino Uno can do that we haven’t addressed yet – having an alternate power source.
The Arduino Uno has a 2.1mm power jack, allowing you to power it with a 7 – 12 volt power adapter. A 9-volt battery also works well.
This way you can power your Arduino with USB during development, and then remove the USB cable and power it with a battery or “wall wart”.
It would be a nice feature to have with our Pico as well, in fact, adding external power capabilities to our Reset and Power switch would give us our “Pico Uno” design.
The Pico can run on external power, 1.8 – 5.5 volts. But we need to be careful under one situation, one where power is applied to both USB and an external supply.
Pico Power Pins
To understand the situation we need to look at the Pico Power Pins. They are all grouped together, within the last few pin numbers.
- Pin 40 – VBUS: USB Power Output
- Pin 39 – VSYS: Main System Power Bus
- Pin 37 – 3V3_EN: Enables 3.3-volt power
- Pin 36 – 3V3 OUT: 3.3-volt power output
There is also a ground, one of many on the Pico, nearby on pin 38.
To understand what each pin does you need to understand how the Pico works inside. Internally the Pico has a Switched Mode Power Supply, or SMPS, that provides 3.3-volts for the microcontroller.
The SMPS can be powered from two sources:
- The USB port
- A voltage supplied at VSYS, pin 39
The voltage from the USB power supply is available at pin 40, the VBUS pin. That voltage then travels through a diode on the Pico board to pin 39, VSYS. The diode provides protection to the USB source from any voltage applied to VSYS.
VSYS is the input to the Switched Mode Power supply. It needs to be a voltage from 1.88 to 5.5 volts.
Protecting External Power Sources
An external power source for the Pico can be anything capable of providing 1.8 to 5.5 volts DC, connected to the VSYS pin and Ground.
But if the Pico is then supplied power from the USB cable, the USB voltage can feedback to the external power source. The USB side is protected by the Pico’s diode, but no such protection exists for the external power source.
The easiest way of protecting our power source is to use a diode, preferably a low voltage drop Schottky device for maximum efficiency. The diode will provide the external power source with the same level of protection that the USB source has.
Another, more elegant, way of doing this is with an electronic switch, triggered by the VBUS power output. Remember, VBUS has 5-volts on it if the Pico is USB powered, so that can be used to turn off a switch, cutting off an external power supply.
A P-Channel MOSFET is a good choice for such a switch, as it will be off when 5-volts is applied to its gate.
Our “Pico Uno” design will use the simpler diode method to protect the external power supply.
Build a Pico Uno
We can add a few components to a barebones Pico to make it as versatile as an Arduino Uno, perhaps that will help in making it the board of choice for experimenting.
There are three configurations our “Pico Uno” can take:
- Very Simple – Just a Pico with female DuPont pins.
- Board with Reset & Power LED – An Arduino-sized board with the “missing” Pico features.
- Full Uno with External Power – Everything in the above board, plus a 2.1mm jack for external power.
Let’s see how to build each of these.
Simple Pico Uno
If you’re looking for the quickest, and simplest, method of turning a Pico into an “Uno-like” device then this is certainly it.
All you need is a Pico and two strips of 20-pin female Dupont pins.
And all you do to build it is to solder those pins, on the top side of the Pico board, so that you have a “mini-Uno” board.
Such a simple trick that it’s probably worth having one or two Picos soldered up like this for experimenting.
Pico Uno with Reset & Power LED
This is the Pico Uno that most of us will want.
This device is constructed on a perfboard, one that is built to emulate a solderless breadboard. This greatly simplifies the connections to all of those female Dupont pins, which would be a nightmare to wire by hand.
In addition to bringing out all of the GPIO pins it also brings out the 3.3-volt power pins, to assist with powering external devices.
But the real benefit of this board is that it has both a Reset button and a Power LED, the two items that are “missing” on the Pico board
Reset Board Wiring
Here is how we hook up the board with the Reset pushbutton and power LED:
You’ll note that I added a couple of capacitors, a 10uf and a 47nf, to the 3.3-volt power supply rails. This is an optional move, done to reduce any noise that might be picked up on those long lines.
I used a socket for my Pico so that I could swap it with another one, but you might just want to solder it directly in. Make sure to make the connections to the RUN pin (pin 30), 3.3-volt out (pin 36), and Ground (pin 38) before you mount the Pico.
Full Pico Uno with External Power
The full design is everything the above one is, with the addition of an external power supply.
I used a 2.1mm barrel jack for the power connector and a Mini-360 buck convertor for a regulator, but you can substitute a different jack and/or regulator if you wish.
I also used another protoboard that emulates a solderless breadboard, except this one also has pads for the 2.1mm jack.
Here is the hookup for the “Full Pico Uno” board:
The IN5817 is a Schottky diode that protects the regulator in cases where both the USB and external power are plugged in. The 10uf capacitor smooths the voltage oin VSYS, which can come from the external source or from the USB.
The protoboard makes assembly very simple, and you should be able to put this together n wel under 30 minutes.
Once you have it assembled test it out, with both USB and external power.
This board gives the Raspberry Pi Pico all of the advantages of the Arduino Uno.
With all of its power, the low-cost Raspberry Pi Pico microcontroller really does belong on every experimenter’s workbench. And with a “Pico Uno” modification there is no excuse not to grab one to use in your next project.
So put one (or two) of these Pico Uno boards together and discover the amazing world of the Raspberry Pi Pico.