PiPicoDuino
Hello, I’m glad to introduce you a very simple yet very useful project for those who got used to work with the Arduino ecosystem and now wants to start learning the Raspberry Pi Pico board (like I do).
My thoughts were the following. “OK, I want to start with the Raspberry Pi Pico, so I need a board with some simple peripheral devices to test: switches, LEDs, sensors, displays, etc. I can design the special board exactly for Raspberry Pi Pico but I already have a lot of Arduino boards, including the Arduino Uno shields: 2.4 inch touchscreen LCD, motor shield, gamepad, teaching shield. Why can’t I use them?”
I made some researches and surprisingly didn’t find any adapter board from Raspberry Pi Pico to Arduino Uno. That’s why I decided to design it by myself. And you can see the result here.
I called this board PiPicoDuino because it looks like Arduino but is based on the Raspberry Pi Pico.
The schematic diagram of the board is shown below:
It looks a bit tangled but there is nothing hard in it.
First, I decided that it would be good to have an external power connector with the LDO like in the Arduino board. So I added the barrel socket J5, the diode D1 to prevent from the reversal polarity, the LDO U2 (the same as in original Arduino Uno board), and the filter capacitors C1 – C3. Also I added the P-channel FET Q1 which is used to cut off the external power when the board is connected to the USB. The implementation of this FET is described in the Raspberry Pi Pico data sheet, chapter 4.5 “Powering Pico”.
Second, you may notice that the Raspberry Pi Pico pins are connection to the Arduino pins seems random but it’s not true. When designed the connections I tried to put the interface pins of the Raspberry Pi Pico to the corresponding pins of the Arduino Uno. This concerns UART, SPI, I2C and ADC pins. As for the PWM outputs, we don’t need to make any matches because any Raspberry Pi Pico pin can be used in this role.
The correspondence between the Raspberry Pi Pico and Arduino Uno interface pins is shown in the table below:
Pin function Raspberry Pi Pico pin Arduino Uno pin
UART RX GP1 0
UART TX GP0 1
SPI SCK GP18 13
SPI MISO GP16 12
SPI MOSI GP19 11
SPI CS GP17 10
I2C SDA GP4 18 (A4)
I2C SCL GP5 19 (A5)
ADC0 GP26 A0
ADC1 GP27 A1
ADC2 GP28 A2
ADC3 - A3
ADC4 - A4
ADC5 - A5
The rest of the pins are connected according to the convenience of the routing.
As you can see from the table above the Raspberry Pi Pico has only three analog inputs while Arduino Uno has six analog inputs. This makes the accordance between the boards incomplete but there are few applications where all six analog inputs are used, so this is not a big problem.
Also you can see that pins GP11, GP12, GP13, GP14, GP15, and GP22 are not connected and thus unused. I initially thought to add them to the special socket but then decided that the main application of this board is Arduino shields connection, so this hypothetical socket will be unused anyway.
Nevertheless, I added the debugging socket J6 instead of the Arduino ISP socket.
And actually that’s all! I hope this project will be useful to somebody.
Have fun and design with a pleasure!
UPD. In the "Other files for Assembly" field I downloaded the gerber files with the through-hole connection of the Raspberry Pi Pico. Other than that everything remained the same.
PiPicoDuino
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(3)
- Likes(3)
- Engineer Aug 20,2024
- Carl Olsson Jul 03,2022
- Engineer May 22,2021
- 1 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
9design
-
9usability
-
9creativity
-
8content
More by Sergey Sokol
-
-
-
-
-
-
3D printed Enclosure Backplate for Riden RD60xx power supplies
154 1 1 -
-