PiCat
RP2040-based devboard with two LEDs and 16mb of flash memory. Uses a Pico-style layout.
Created by
Silas
Tier 3
32 views
0 followers
alexren ⚡🚀
approved PiCat ago
Tickets awarded: 22 tickets
Tier: 3
awesome job getting your board to work! I love the blender renders and I think the white PCB turned out great irl
i removed an hour because the test code seems pretty simple, but if there's something that made it take that long please let me know!
keep making awesome stuff - nice work again!
Silas
submitted PiCat for review ago
Silas
added to the journal ago
Test GPIO Script
I created a quick python script to test the gpio pins and blink two LEDs. I am using PICO firmware and CircuitPython for this. The two LEDs blink correctly at different times, which shows me the GPIO pins are working. I tested this with the remaining pins and all seems to be running correctly! I did not have any resistors on hand so I may be overpowering the LEDs, but it works, so I am happy!

Silas
added to the journal ago
Boards arrived, Soldered on pin headers
Both of my PCBA boards arrived today, and everything looks correct. I quickly plugged them in and they successfully flashed pico firmware for circuitpython! After my relief that the boards actually were correct (as I had a lot of back and forth emailing with JLC about polarities), I soldered the pin headers on to both boards, and now I am writing some test code to make sure the GPIOs work!

CAN ⚡🚀
approved PiCat ago
Tier approved: 3
Grant approved: $68.00
I love it
Silas
submitted PiCat for review ago
Silas
added to the journal ago
JLCPCB Placement and Order, GitHub and Readme
I imported all of the manufacturing files to JLCPCB and assigned parts. I quickly realized that I would unable to use the 2mm LEDs I had previously used without standard PCBA, but I was somehow able to fit two 5mm LEDs instead! I will be using a white PCB with black silkscreen for a sleek look.
The grand total came to $51.51 including shipping, around $45 without shipping. I optimized the part selection to lower cost as much as possible. I made sure all of the parts were the right orientation, and that the diode orientation was correct for the LEDs.
I found cheap pin headers on AliExpress, and I committed all of my files to GitHub and wrote a readme and BOM. I think all parts of this project are completed! I am very proud of what I have created.


Silas
added to the journal ago
Cleaning Up and Rendering
This will be a quick update, but I cleaned up all of the silkscreen on the PCB. I then added custom graphics to the front and back silkscreens. I created the silkscreen graphics in Affinity designer, which is now free from Canva. I also labeled all of the pins - this will be a huge quality of life boost for development.
I imported the stl file from KICAD into Blender and assigned materials to all of the parts (in a pretty time consuming process). I then set up some studio lighting and a background and rendered!


Silas
added to the journal ago
NO ERRORS!
I finally finished my second try at routing, and it was much easier! I realized that I had made a critical error with my footprint assignment for the capacitors, and that caused a significant amount of the previous errors. I was also able to wire in my addition of the two LEDs.
I connected all grounds using a ton of vias, and am honestly really happy and proud of what I have created. Routing is almost like a puzzle, and I have solved it. Also, the traces just look really sick and almost Sci-Fi.
Now, I am ready to make some product renders and put my project into JLCPCB for cost estimates!


(Pin headers are upside down)
Silas
added to the journal ago
PCB Routing Nightmare
I probably spent more than 5 hours last night attempting the route the PCB only to realize I have several missed connections at the end that cannot be fixed without a full rerouting, and I had over 100 errors (???). That's what I plan to do next lol.
Routing is still very satisfying and I learned more best practices. I also may have incorrect footprints. I also ended up ditching the temperature sensor because there is no way I can fit it in the Pico footprint we are using.

Silas
added to the journal ago
Completed Schematic
I just finished the entire PCB schematic! I created the I/O headers following the tutorial which uses a pin layout based on the Pico. I followed that, but made some small changes including using one IO pin for a dedicated temperature sensor and one pin for on-board LEDs! The pin layout was changed slightly as I had an extra pin that I routed to ground, and the high GPIO layout is different than the Pico.
Lastly, I made the schematic look nice and labeled the different components of the board. This part is very satisfying lol. Next I am ready to start working on footprinting and routing the actual PCB!

Silas
added to the journal ago
Clock and Flash Memory
The next step of this devboard was creating a clock for the processor and components to run on. The clock is generated by a quartz crystal oscillator and synchronizes the components so they can send and recieve data at the correct times.
I also learned the correct way to use global labels as inputs and outputs. Before, I used input for all labels, but now I will make sure to set it to the correct orientation so that the schematic is easier to understand.
I watched a video by Neso Academy on youtube to help me better understand how clocks work as I am very inexperienced in electronics (all I have done was snap circuits as a kid and the hackpad recently).
Next, I added the 16mb flash memory and connected the data inputs and outputs to the corresponding pins on the main SoC. I also added a button that connects the CS pin to ground, which causes the chip to boot in a way that allows me to add files when connected to a computer!

Silas
added to the journal ago
Began Schematic (USBC Power Delive), Learning Best Practices
I have some experience with KiCAD from the Hackpad project but I am sure I will learn a lot of new tips from this tutorial. I plan to follow the tutorial while adding LEDs in the board and a temperature sensor (to warn of overheating) to make it my own.
I learned many PCB best practices including power labels facing upward, ground facing downward, and always adding small wires connecting components.
I began by adding the RP2040 chip into my KiCAD schematic, and the power input with decoupling capacitors to smooth out the voltage input. Next, I set up the USBC input, and learned what the various pins do. We used an LDO to reduce the incoming voltage from 5v to 3.3v, which is what the RP2040 uses.
Next, I will be creating the crystal oscillator that generates the clock all the components run on to synchronize data transfer.

Silas
started PiCat ago
12/10/2025 - Began Schematic (USBC Power Delive), Learning Best Practices
I have some experience with KiCAD from the Hackpad project but I am sure I will learn a lot of new tips from this tutorial. I plan to follow the tutorial while adding LEDs in the board and a temperature sensor (to warn of overheating) to make it my own.
I learned many PCB best practices including power labels facing upward, ground facing downward, and always adding small wires connecting components.
I began by adding the RP2040 chip into my KiCAD schematic, and the power input with decoupling capacitors to smooth out the voltage input. Next, I set up the USBC input, and learned what the various pins do. We used an LDO to reduce the incoming voltage from 5v to 3.3v, which is what the RP2040 uses.
Next, I will be creating the crystal oscillator that generates the clock all the components run on to synchronize data transfer.

12/12/2025 5 PM - Clock and Flash Memory
The next step of this devboard was creating a clock for the processor and components to run on. The clock is generated by a quartz crystal oscillator and synchronizes the components so they can send and recieve data at the correct times.
I also learned the correct way to use global labels as inputs and outputs. Before, I used input for all labels, but now I will make sure to set it to the correct orientation so that the schematic is easier to understand.
I watched a video by Neso Academy on youtube to help me better understand how clocks work as I am very inexperienced in electronics (all I have done was snap circuits as a kid and the hackpad recently).
Next, I added the 16mb flash memory and connected the data inputs and outputs to the corresponding pins on the main SoC. I also added a button that connects the CS pin to ground, which causes the chip to boot in a way that allows me to add files when connected to a computer!

12/12/2025 8 PM - Completed Schematic
I just finished the entire PCB schematic! I created the I/O headers following the tutorial which uses a pin layout based on the Pico. I followed that, but made some small changes including using one IO pin for a dedicated temperature sensor and one pin for on-board LEDs! The pin layout was changed slightly as I had an extra pin that I routed to ground, and the high GPIO layout is different than the Pico.
Lastly, I made the schematic look nice and labeled the different components of the board. This part is very satisfying lol. Next I am ready to start working on footprinting and routing the actual PCB!

12/13/2025 3 PM - PCB Routing Nightmare
I probably spent more than 5 hours last night attempting the route the PCB only to realize I have several missed connections at the end that cannot be fixed without a full rerouting, and I had over 100 errors (???). That's what I plan to do next lol.
Routing is still very satisfying and I learned more best practices. I also may have incorrect footprints. I also ended up ditching the temperature sensor because there is no way I can fit it in the Pico footprint we are using.

12/13/2025 9 PM - NO ERRORS!
I finally finished my second try at routing, and it was much easier! I realized that I had made a critical error with my footprint assignment for the capacitors, and that caused a significant amount of the previous errors. I was also able to wire in my addition of the two LEDs.
I connected all grounds using a ton of vias, and am honestly really happy and proud of what I have created. Routing is almost like a puzzle, and I have solved it. Also, the traces just look really sick and almost Sci-Fi.
Now, I am ready to make some product renders and put my project into JLCPCB for cost estimates!


(Pin headers are upside down)
12/13/2025 11 PM - Cleaning Up and Rendering
This will be a quick update, but I cleaned up all of the silkscreen on the PCB. I then added custom graphics to the front and back silkscreens. I created the silkscreen graphics in Affinity designer, which is now free from Canva. I also labeled all of the pins - this will be a huge quality of life boost for development.
I imported the stl file from KICAD into Blender and assigned materials to all of the parts (in a pretty time consuming process). I then set up some studio lighting and a background and rendered!


12/14/2025 - JLCPCB Placement and Order, GitHub and Readme
I imported all of the manufacturing files to JLCPCB and assigned parts. I quickly realized that I would unable to use the 2mm LEDs I had previously used without standard PCBA, but I was somehow able to fit two 5mm LEDs instead! I will be using a white PCB with black silkscreen for a sleek look.
The grand total came to $51.51 including shipping, around $45 without shipping. I optimized the part selection to lower cost as much as possible. I made sure all of the parts were the right orientation, and that the diode orientation was correct for the LEDs.
I found cheap pin headers on AliExpress, and I committed all of my files to GitHub and wrote a readme and BOM. I think all parts of this project are completed! I am very proud of what I have created.


1/1/2026 - Boards arrived, Soldered on pin headers
Both of my PCBA boards arrived today, and everything looks correct. I quickly plugged them in and they successfully flashed pico firmware for circuitpython! After my relief that the boards actually were correct (as I had a lot of back and forth emailing with JLC about polarities), I soldered the pin headers on to both boards, and now I am writing some test code to make sure the GPIOs work!

1/2/2026 - Test GPIO Script
I created a quick python script to test the gpio pins and blink two LEDs. I am using PICO firmware and CircuitPython for this. The two LEDs blink correctly at different times, which shows me the GPIO pins are working. I tested this with the remaining pins and all seems to be running correctly! I did not have any resistors on hand so I may be overpowering the LEDs, but it works, so I am happy!
