Pico Computer banner

Pico Computer

30 devlogs
41h 3m 22s

A fully programmable mini computer that fits in your hand, and it’s capable of running Python, compiling C/C++, and controlling your own gadgets!
No pre-built modules allowed! IT’S FROM SCRATCH

Demo Repository

Loading README...

Hung-Chi Wang

Just spent an hour doing the following

  • Added TP pads (just in case RT6154AGQW fails again)
  • Somehow managed to prevent the copper island
  • Ordered the board after cleaning up DRC
Attachment
0
Hung-Chi Wang

DAMNNN spent so much time on fixing this island…….I tried my best but still had to compromise many traces for the big flash storage

Attachment
1

Comments

F1R3FLY_CL41R3
F1R3FLY_CL41R3 17 days ago

Ngl ts hella tuff. How can it control your own gadgets? Will it be a bluetooth accessory or a USB-C connector type of thing?

Hung-Chi Wang

Just added some personal touch

  • Added back silkscreen
  • Picked purple as the main color
  • Began picking up parts from LCSC
    *** Im really trying my best to polish this as much as possible lol
Attachment
Attachment
0
Hung-Chi Wang

Alr time to wrap this up, I cleaned up all the routing and here were some changes i made:

  • Moved the diode to the top right corner instead of clamping with the power regulator
  • Moved as many routes to the front as possible to keep the back copper as clean as possible
  • Added thicker traces 0.5mm
  • Removed two islands on the back copper (it’s sacred!!!)
  • Cleaned up the DRC once again
Attachment
0
Hung-Chi Wang

Finally finished routing the entire board and cleaned up the DRC!!
***Imma just add some more final touch before ordering the boards (like cleaning up the silkscreen

Attachment
0
Hung-Chi Wang

Here are some of the things I noticed

  • An unwanted island on the back (directly under the flash storage)
  • Unconnected GND due to very tight layout
    *** BTW I kinda regret of not switching to 4-layer board…..DAMNNN (but it’s also more expensive so we’ll see lol
Attachment
0
Hung-Chi Wang

Just finished routing the RP2040 and most of the stuff!!
** There really isnt too much abt routing just trial and errors ig

Attachment
0
Hung-Chi Wang

Finished routing the left area, btw I also applied what Ive learned for the past few weeks

  • Boot button can easily be routed to a long trace cuz it has very low frequency
  • Added tons of wide traces to 3V3 (like 0.5mm if possible or else 0.3mm)
    I mean it’s routing dont really have anything to say lol
Attachment
0
Hung-Chi Wang

Completed routing flash storage and 1uF caps

  • The two 1uF caps need to be very close to pin 44 and 45
  • This flash storage is much larger than the original one (but it has 4x more storage sooooo :)
  • Increased the width of the data lines (idk i heard it’s better lol
Attachment
0
Hung-Chi Wang

Finished routing the power supply parts!!! It was acc much smoother than I thought cuz of the layout ig

Attachment
1

Comments

Saif
Saif 25 days ago

woah, that looks complicated

Hung-Chi Wang

Assigned footprints (replaced many 0402 with 0603 and 0805) and roughly placed the layout

Attachment
0
Hung-Chi Wang

Completed the schematic!!!
Updated areas:

  • Replaced W25Q16JVUXIQ (2MB) with W25Q64JVXGIQ (8MB a huge upgrade :)
  • Replaced MCP1700x-330xxTT (linear regulator) with RT6154AGQW (buck converter much more efficient)
  • Added Schottky Diode to allow external power supply
  • Added a RESET button
  • Changed 33pF crystal cap to 15pF to match the crystal I ordered
    Now my custom devboard will become much more powerful and resilient
Attachment
0
Hung-Chi Wang

Spent almost an hour updating Readme and planning out V2!!!
Here are some improvements im going to make:

  • Larger flash storage (16mb preferably)
  • Add two Schottky Diode to allow external power supply
  • Replace the original voltage regulator with RT6154AGQW
  • Add a reset button
  • Increase the resistance of LEDs (my eyes bruh
    *** Look at the highlighted parts and btw I also decided to REROUTE EVERYTHING
Attachment
Attachment
0
Hung-Chi Wang

For the past two hours I was learning how to render my PCB board
ik it might not sound very important, but it looks extremely cool!

  • Installed pcb2blender
  • Watched tutorials
  • Imported new models for my USB port
    *** I didn’t even know how to use blender and I learned it along the way
Attachment
Attachment
Attachment
0
Hung-Chi Wang

I spent some time testing out all the pins!!! AND THEY ALL WORKED PERFECTLY!!!

  • Installed Circuitpython
  • Tested out all the pins
  • Used multimeter to make sure everything works
Attachment
0
Hung-Chi Wang

Learned how to code and access RP2040 processor using XIAO-RP2040 (haven’t yet received the board yet so…….)
Tutorial I followed: https://www.youtube.com/watch?v=07vG-_CcDG0&list=PLWNDWPAClRVoo0Z-QtCkXuM15jdb2Q54N&t=820s

  • Installed Thony IDE (originally I was planning to use Micropython
  • Swtiched to Circuitpython so that I could use VScode
  • Trouble-shot Circuitpython extension (it sucks and I gave up)
  • Eventually I noticed that I could simply use serial monitor in vscode (check out my lapse)

Check out the video!! https://hc-cdn.hel1.your-objectstorage.com/s/v3/4d0905c78ba392b4_img_0659.mp4

Attachment
Attachment
0
Hung-Chi Wang
  • Added silkscreen design to my PCB, including my logo and name
  • Chose parts for JLCPCBA (spent so much time on avoiding extended parts…….
  • Fixed the 3D model in PCBA viewer (SOOOO IMPORTANT OMG look from image 2 to 3
  • Rerouted GPIO24, RUN, and GPIO 25
  • Swapped the positions of 3V3 and 1V1 capcitors
Attachment
Attachment
Attachment
0
Hung-Chi Wang

Shipped this project!

Hours: 1.2
Cookies: 🍪 33
Multiplier: 27.49 cookies/hr

After watching many other tutorials about RP2040, I now have a much deeper understanding of the chip. Here were the some changes I made:

  • Change all the traces except power rails to 0.18mm, and change VBUS and 3V3 to 0.3mm
  • Added three LEDs: VBUS (5V), 3V3, and GPIO2
  • Rerouted the data lines (D+ and D-) using Kicad “differential pairs”
  • Double-checked all the routing, including rerouting GPIO24 cuz I just noticed that it was not fully connected
Hung-Chi Wang

Before ordering the PCB, here were what I did:

  • Double-checked all the routes, including cleaning up some traces
  • Change all traces to 0.18mm instead of 0.2mm
  • Added LEDs to the following: VBUS (5V), 3V3, and GPIO2 (idk i just randomly chose it)
Attachment
Attachment
0
Hung-Chi Wang

Shipped this project!

Hours: 14.46
Cookies: 🍪 370
Multiplier: 25.58 cookies/hr

There was a very huge gap between macropad and this project, so I struggled a lot with designing schematic and wiring the PCB. But overall, I’m really proud of myself and I’m finally confident enough to build more and more custom boards using integrated RP2040 rather than always relying on Raspberry Pi!

The best advice here is to stay patient and enjoy the process! I will be building a full-size keyboard with an integrated RP2040! LETS GOOOOO

PS: I almost gave up yesterday till I realized I could literally add more vias for the ground

Hung-Chi Wang

Cleaned everything up and added some final touch!!

  • Pushed everything to Github
  • Uploaded a 3D model to Printables
Attachment
0
Hung-Chi Wang

FINALLY!!!
After hours of struggle and tears, I finally completed the PCB Design and exported it as a Gerber file
The last thing to do is to order it from JLCPCB!!!! LETSS GOOOO

Attachment
Attachment
0
Hung-Chi Wang

After one and a half hours of debugging, I realized that the errors were caused by a lack of vias. Here are why they’re important:

  • Vias connect the front and back sides of gnd pools
  • Ensure all the components have at least two spokes of GND pins!!!

So next time if you face the same problem, just add enough vias and you’ll be chill

Attachment
Attachment
0
Hung-Chi Wang

This is driving me nut!!!!!
Can anyone please help me with all these errors? Cuz im still very inexperienced……..

Attachment
0
Hung-Chi Wang

Added tons of vias and re-routed many things. I also added GND pool, but still lots of work and unconnected GND……

Attachment
0
Hung-Chi Wang

YAYYY another significant progress, I finished wiring up the right side, which was much easier than the left. I also fixed some wiring on the left to reduce vias under RP2040 cuz I would need the space to connect 3V3 :)

Attachment
0
Hung-Chi Wang

After one more hour of struggle, I finally wire up all the pins on the left!!! Trust me it’s a very painful process……:(
Nothing too interesting to write about, staying patient is the best advice

Attachment
1

Comments

Hekinav
Hekinav 3 months ago

either the pin holes look massive or the traces very small(for power)

Hung-Chi Wang

After an hour I finally aligned most of the components and began wiring the power supply, and I gotta be honest this was the most interesting but frustrating part. Here are some tips I gradually figured out

  • Wired the closest pins and components first cuz you can via the long distance parts
  • STAY PATIENT, LIKE VERY VERY VERY PATIENT
  • Be careful with the 90 degree angle (idk why but I just heard it’s bad :(
Attachment
0
Hung-Chi Wang

After one and a half hour of hard work, I finally learned how to organize my components based off the schematic. Here are some techniques:

  • Organize ur components based off the blocks in the schematic, like you can select the components all together in the schematic page and they will automatically be selected in the PCB page as well
  • Connect the main components first!!! Very important cuz you dont want to fix the capicitors first and realize they are in the way!!!
Attachment
0
Hung-Chi Wang

Finally the most exciting part! Put everything together on the PCB
This is so much more complicated than the macropad I made previously………like jumping from beginner village to big boss fight. I’m lowkey kinda scared of how im gonna wire them later cuz there are so many intersections!!!!!!! (Just look at the blue lines :(

Attachment
0
Hung-Chi Wang

Completed the schematic including the following:

  • Flash storage (more complicated cuz I would need to understand it works first
  • I/O Headers (should be an easy part but I kept making mistakes
  • Organized the schematic and put them in blocks
Attachment
0
Hung-Chi Wang

After spending almost an hour on reading RP2040 datasheet and figuring out the basics, I finally completed the following parts for my devboard:

  1. Imported RP2040 + duplicated capacitors for power supply
  2. Added a USB port and an LDO to convert 5V to 3.3V
  3. Added a crystal oscillator and learned its purpose
Attachment
0