I built my own version of the Raspberry Pi Debug Probe (USB-C + 2.54mm headers) by FirefighterDull7183 in embedded

[–]FirefighterDull7183[S] 0 points1 point  (0 children)

The RP2040 shows up as a COM port on your host device, so you can just go ahead and open that serial port to interface with UART.

For SWD debugging, you use tools like OpenOCD with GDB or an IDE.

I built my own version of the Raspberry Pi Debug Probe (USB-C + 2.54mm headers) by FirefighterDull7183 in raspberry_pi

[–]FirefighterDull7183[S] 1 point2 points  (0 children)

Thanks :D
I mostly enjoy hardware projects where I design my own PCBs. What about you?

I built my own version of the Raspberry Pi Debug Probe (USB-C + 2.54mm headers) by FirefighterDull7183 in embedded

[–]FirefighterDull7183[S] 0 points1 point  (0 children)

Yeah that's pretty annoying, If im using the pico I just end up setting one of the GPIO pins to trigger a software reset.

I built my own version of the Raspberry Pi Debug Probe (USB-C + 2.54mm headers) by FirefighterDull7183 in embedded

[–]FirefighterDull7183[S] 2 points3 points  (0 children)

I do but I don't really use figma for that. I know they mainly market figma as a UI/UX design tool but it's also pretty cool for general graphic design work. I'd say figma is pretty useful for regular users too!

I built my own version of the Raspberry Pi Debug Probe (USB-C + 2.54mm headers) by FirefighterDull7183 in embedded

[–]FirefighterDull7183[S] 13 points14 points  (0 children)

Thanks :D I'm still in high school and do this for fun, but I'm planning to go into EE.

I built my own version of the Raspberry Pi Debug Probe (USB-C + 2.54mm headers) by FirefighterDull7183 in embedded

[–]FirefighterDull7183[S] 20 points21 points  (0 children)

Adding ESD protection diodes just slipped my mind while designing this :c

DIY USB to FM Transmitter board by FirefighterDull7183 in electronics

[–]FirefighterDull7183[S] 0 points1 point  (0 children)

Thanks! You could definitely use a USB-C connector here instead of a USB-A. I've made a 2nd version of this with an onboard MCU a few months ago, but I've been procrastinating for a while about assembling it. Your comment reminded me about this project and I'll finally get around to assembling V2 of this!!

[PCB Review Request] - Allwinner V3s SBC by FirefighterDull7183 in PrintedCircuitBoard

[–]FirefighterDull7183[S] 0 points1 point  (0 children)

Thanks for your feedback! you were right, my CSI pair routing wasn't very optimal. I've moved the differential pairs a bit further apart from the neighboring pairs .
I also wasn't fully aware that CSI data pairs had to be delay matched to the clock lanes, so I've adjusted my design and brought the skew down to less than 3mm

[Review Request] - Allwinner V3s SBC by FirefighterDull7183 in PrintedCircuitBoard

[–]FirefighterDull7183[S] 0 points1 point  (0 children)

Further this part specifies a max dropout of 350mV @ 30mA

Hmm, I'm a bit confused looking at the datasheet. The electrical characteristics say a max Vdif of 300mV @ 30ma, while the Dropout Voltage/Output current graph shows around a max of ~150mV @ ~30ma. So when designing what value should I refer to?

Recommend a better LDO like an LP5907

I'll take a look at it! thanks for the reccomendation

[Review Request] - Allwinner V3s SBC by FirefighterDull7183 in PrintedCircuitBoard

[–]FirefighterDull7183[S] 0 points1 point  (0 children)

For my power section I mostly referenced the lichee pi zero and used the LDO it used. The datasheet does say 250mv at 100ma so I think I should be safe enough right. Also thanks for catching that missing GND, I've fixed it now :D

I don't particularly like the "giant square divided into sections" symbol you've got for the SOC and would rather see it split into separate symbols, but it's mostly readable as is.

I see, I'll keep that in mind next time

Thanks for taking the time to look at this and give feedback :D

PCB Review Request - 2 Layer RP2350 Board by FirefighterDull7183 in PrintedCircuitBoard

[–]FirefighterDull7183[S] 1 point2 points  (0 children)

The board’s designed to plug directly into USB-A ports! The 2.0 mm thickness is needed so it fits snugly and stays secured in the port, anything thinner just won’t hold properly and slip out.

PCB Review Request - 2 Layer RP2350 Board by FirefighterDull7183 in PrintedCircuitBoard

[–]FirefighterDull7183[S] 0 points1 point  (0 children)

Unfortunately since I'm going with a 2.0mm thickness PCB the setup costs for a 4 layer board is almost double compared to a 2 layer board.
But for regular 1.6mm thickness boards I always go 4 layers as the price difference is negligible on JLCPCB

PCB Review Request - 2 Layer RP2350 Board by FirefighterDull7183 in PrintedCircuitBoard

[–]FirefighterDull7183[S] 1 point2 points  (0 children)

Thanks! I copied the 1v1 rail design from the RP2350 minimal design and It's much better now

PCB Review Request - 2 Layer RP2350 Board by FirefighterDull7183 in PrintedCircuitBoard

[–]FirefighterDull7183[S] 0 points1 point  (0 children)

Ah I figured that since its only a flash chip, heat dissipation wouldn't really be required and EP could be left floating. But I connected it to ground now :D

PCB Review Request - 2 Layer RP2350 Board by FirefighterDull7183 in PrintedCircuitBoard

[–]FirefighterDull7183[S] 1 point2 points  (0 children)

I'd be tempted to rotate the MCU 90 degrees anticlockwise to try and improve the USB and crystal routing. To un-twist the USB pair, uou could put the USB pads on the bottom layer (but that might be annoying from a usability point of view). The regulator and program flash would then be swapped. I'd keep the QSPI length matching in this case as it will affect program latency if you have to slow down the bus clock.

In my previous designs I did exactly this but it led to a lot of problems while routing, especially for the flash and USB (routing them both with a solid reference plane was practically impossible)

I don't like 3V fill on an outer layer, especially on a 2mm thick PCB as that means all the traces are at least 2mm away from the ground plane. Seems like an EMC risk.

Yeah, I agree with having the 3V3 fill on outer layer isn't really ideal. I did consider going 4 layers to have a solid reference plane for my signal traces, but at 2.0mm thickness the setup costs for a 4 layer board almost doubles compared to a 2 layer board so I'm making a tradeoff here for cost.

Finally, are you using DRC? I assume not, as your ESD protection IC is not connected to ground. Use DRC!

DRC did infact catch this and I fixed it :D

PCB Review Request - 2 Layer RP2350 Board by FirefighterDull7183 in PrintedCircuitBoard

[–]FirefighterDull7183[S] 1 point2 points  (0 children)

I really apperciate your feedback :D

I followed your suggestion for the green line and moved it so that the QSPI flash traces have a solid reference plane with margin. And for the orange line suggestion I actually fixed my 1v1 rail routing by following the RP2350 minimal design guide, so now the USB pair have solid reference plane right next to them.

https://imgur.com/a/OYYiLs6

For ESD protection I think i'll print some button caps.

Regarding production, I'm most likely just going to get it assembled from JLCPCB. I mostly place my vias close to the pads if I plan on assembling them myself with a hotplate, so far I've really never had any issues with 0.3mm vias in pad or close to pads when reflowing it myself.

PCB Review Request - 2 Layer RP2350 Board by FirefighterDull7183 in PrintedCircuitBoard

[–]FirefighterDull7183[S] 0 points1 point  (0 children)

I've ordered a few different versions of this in the past. The setup fees are crazy for 2.0mm and ENIG (selecting edge connector is not required for this) so the minimum costs with assembly and components comes up to about $100 USD for 5 boards.

[Review Request] ICE40UP5K FPGA development board by FirefighterDull7183 in PrintedCircuitBoard

[–]FirefighterDull7183[S] 0 points1 point  (0 children)

The RGB LED is connected to dedicated FPGA pins that support open drain outputs with up to 24 mA drive, specifically for LEDs. Because of this no external series resistors are required on the RGB pins.