geekhack

geekhack Projects => Making Stuff Together! => Topic started by: TomahawkLabs on Wed, 01 November 2023, 12:03:44

Title: Learning PCB Design
Post by: TomahawkLabs on Wed, 01 November 2023, 12:03:44
I am trying to learn how to design PCBs to create a RP2040 based microcontroller with the full pinout, but in the smallest form factor. Ever since the Teensy++ 2 was discontinued I have not been able to locate a 27+ GPIO MCU to facilitate full size keyboards using hardwired methods. My idea is having a small factor, but ample GPIO will allow for flexibility.

The goal is to create a drop in controller that can be use in any sized project (60%-100+%) and still have a few extra pins for rotary encoders or displays. The inspiration came from wanting to create a drop in controller for an Apple AEK (M3501) drop in PCB. I do not want USB built into the board, but rather break it out to save space, as in most instances the controller will be in a random spot on the board (wherever it can fit) and the daughterboard would be able to be manually populated with diodes, LEDS, USB connector, etc.

The board should have 2 buttons (reset and bootsel) for flashing. I am hoping to keep the form factor under 18mm x 54mm to fit in the preexisting cuts in the plates. I am hoping to make it a 2 layer board with all the components on a single side for cheaper manufacturing. I have taken a few Youtube courses on KiCad but it sure isn't easy. Any suggestions would be helpful. I can share any of the files I have created as well. I am trying to create this for the community and not for profit. I want this to be as open source as we can make it.

I have seen those RP2040 stamps, but I fear their footprint is too wide for my ideas.

Title: Re: Learning PCB Design
Post by: fanf on Wed, 01 November 2023, 12:58:34
I have a collection of links related to RP2040 board design at https://github.com/fanf2/kbd/blob/model-b/rp2040.md

There are a bunch of existing boards fitting the ProMicro form factor, many of them available to buy off the shelf, tho they don’t have as many GPIO pins as you are asking for. There are also loads of Pico clones that fix some of its shortcomings, i.e. reset button and USB-C, e.g. https://www.waveshare.com/rp2040-plus.htm
Title: Re: Learning PCB Design
Post by: TomahawkLabs on Wed, 01 November 2023, 13:13:32
I can give it a look. The closest thing I can find was this https://shop.pimoroni.com/products/rp2040-stamp?variant=39567567028307 (https://shop.pimoroni.com/products/rp2040-stamp?variant=39567567028307). The issue I had with this specific design was it was wider than I wanted. But it did have all else. I did watch a video where someone swapped the crystal for a powered oscillator. Price is not a concern as much as form factor right now. The Powered Oscillator was big in lowering the footprint. Maybe I just need to keep trying. Is Flux (the online PCB design software) worth looking at, or is KiCad really the best solution for not only creating this controller, but also creating daughterboards?
Title: Re: Learning PCB Design
Post by: fanf on Wed, 01 November 2023, 13:55:24
I think it’s worth persisting with KiCad. I enjoyed using it to design a simple keyboard pcb - the last time I did any electronics like that, I was a teenager some decades ago 🧙

My RP2040 notes include some component selections from the jlcpcb parts library. The “basic” crystal and flash chips are cheap because they are preloaded on the pick-and-place machines by default, but they are chunky. If you are willing to pay the $3 per component to have reels of “standard” parts loaded, you can get ones that are much smaller, e.g. 3.2 x 2.5 mm -> 1 x 1 mm for the xtal.