You are browsing as a guest. Sign up (or log in) to start making projects!

9h 2m 24s logged

Using Kai Pereira’s devboard tutorial, I was able to get a schematic together relatively quickly. The decoupling capacitors were kinda confusing at first, but then I checked the datasheet and it made sense that since there were 8 3v3 outputs you’d use 8 capacitors for 3v3
https://cdn.hackclub.com/019ed780-8f91-724d-be31-46112cdec84a/image.png
USB
Starting at the top left, USB is the USB-C connection because wireless power isn’t good enough yet and micro usb is trash. The CC lines are pulled to GND via 5.1k resistors as specified by the datasheet. Data is transmitted via D- and D+, and there’s two identical outputs for each line. I just have them connected to a single line and connected to the MCU via 27 ohm resistors. The power given by the USB C receptacle is 5V, so i use an LDO to step it down to 3V3 which is much tastier and can efffectively juice up not just the components on the pcb but also any external components i may want to connect to the devboard. both the 5V and 3.3V lines have bulk caps to smooth out large voltage ripples caused by the LDO not being a massless frictionless ideal gas.
DECOUPLING
This is pretty simple, there’s eight small 3V3 capacitors and two 1V1 capacitors to filter out high frequency noise, one per output on the chip, and then a larger decoupling capacitor for each of the lines.
CRYSTAL
This is a super tuff crystal that oscillates at a known frequency to help the MCU time stuff. It needs two 33pF (tiny!) external load capacitors to work for some super cool math reasons i don’t really understand. It’s connected to the MCU through a 1k damping resistor that protects it.
FLASH
I deviated from the tutorial a bit here and used a 16MB flash chip instead of the 2MB that the tutorial used, so hopefully that’ll be fine. It communicates with the MCU using quad SPI for fast data transfer. Side note, the widely used terms to talk about SPI are master and slave, but the other (and imo better) way to say it is controller and peripheral. However, it’s labeled both ways on my schematic so bear with me a little. When the Slave Select (or Chip Select) pin on the flash is pulled to ground, it acts as a reset signal, so that’s what the 1k, SW, and GND are for. The rest of the time, it has to be pulled to HIGH, so we have a 10k resistor connected to 3V3 to pull up the CS pin the rest of the time. There’s a 0.1uF decoupling capacitor next to the power, and there’s four data lines going back to the MCU (hence quad spi)
RP2040/OUTPUT
There’s nothing super crazy going on here, from my side I just connect all the peripherals back to this, and also make sure to connect the GPIO outputs and whatnot to the header pins.

PCB – Edge.Cuts, Placement, and Caps (~3 hours)

The first thing I did on the PCB was make the Edge.Cuts, since I want this to be able to match the footprint of a normal Pico I matched the dimensions. I then placed down all the big components, and placed the decoupling capacitors as close as I could to the things they were supposed to decouple. Following the advice of the guide, I tried to wire the high speed components first, without using any vias. Using the 16MB chip made it kinda hard since it’s just so bulky, but eventually I got it wired pretty good. The USB-C data lines needed to be differential pairs, and they needed to be exactly the same length, but I tried for a while and I could not figure out how to use the length tuning tool, so I ended up just adding a little kink by hand.i was confused about some simple things (like “will the usb c port fit underneath the board”) so i tried asking the big claude and the big gpt but they were completely useless so i had to actually lock in and solve my problems on my own.

0
3

Comments 0

No comments yet. Be the first!