First PCB: Prototyping expansion for a single board computer


#1

Hi, just wanted to share with you the first PCB I’ve made with KiCad and the joys it brings. :slight_smile: I’m doing marketing for a tech company that builds some single-board ARM computers, and I thought it could be fun to show how cool it is to make a custom expansion board for it – and it was a great excuse for me to finally dive into KiCad after being on the sidelines for a long time…

The example board I came up with was a prototyping board that breaks out the GPIO, I2C, Audio and other headers from the main board’s not-that-common 2.0" pins to 0.1" pins and adds a breadboarding area as well. (Unfortunately new users cannot upload pictures here).

I’ve put the schematics on slideshare, and there are a series of blogposts to show the entire design process here: http://www.viaspringboard.com/blog/tag/protospring/

  1. Idea and schematics
  2. Pcb design
  3. Manufacturing and demo application

Key takaways

I’ve mentioned in the posts as well, but looking back at the whole of this first design, I kinda learned that:

  • When something feels really difficult in KiCad it usually means I’m doing things in a wrong way, meaning it can force me to good design by making bad design more annoying
  • for example, I cannot just put pads down on the PCB layout (at least I haven’t found out how), but if I include the parts as custom schematic elements and creating a footprint for them it works like a charm. The breadboarding area suddenly works 1000x better, and can make sure that everything is connected correctly
  • The design is really a lot of back-and-forth between the schematics and the PCB, it’s almost like a circular pattern, continuous refinement. This might be the case because the design was not mature in the first place, but I think it will be generally the case. Originally I thought it will be a more linear development, and I’m glad it isn’t
  • Choosing from common footprints helped me to get better components. E.g. was surprised that there wasn’t any polarized capacitor footprint for the 0603 size that I wanted to use (because the smaller unpolarized capacitor was already 0603), but there was 1206. Then I found that the 1206 pieces are much cheaper than than 0603 for polarized capacitors, and glad to have used that. It feels like the “elders passing on their knowledge”…
  • I’ve manufactured my board at Seeed, and strange that some of the Gerber files they require different file extensions than the default from KiCad, and what other services e.g. OSH Park handle without a hitch. It’s simple to solve but needs manual intervention; maybe there could be more standardization…
  • Learned that Seeed is also working with KiCad, and they are making an alpha version of their Open Parts Library (similar to Octopart’s Common Parts Library), which is really cool, will help with making manufacturing ready designs.

The board works really well, which surprised me, especially because besides being my first design, it was my first time soldering surface-mount components. 0603 annoyed me to no end first, but now I kinda got the hang of it… I’ve also put the design on Tindie, and keeping it open it’s licensed under CERN Open Hardware License 1.2. It was a great experience so far, and already working on another project, and it goes better based on what I’ve learned from this one!


#3

Very nice writeup. I liked seeing how you made your decisions, this write-up is a nice general ECAD write-up, not specific to the tool you used (KiCAD).

One comment I have on your design. I’m not sure if you noticed this when you were soldering or not. But having all the GND pins in the proto area is nice for ground plane stitching, it comes at a tradeoff of solderability.

Generally, every time one connects a THT pin to a copper pour, you are providing a heat-sink that makes hand soldering more difficult. Thermal reliefs (those X patterns over the pin connecting to the copper pour) provide a little thermal resistance to keep the copper from sucking up all the heat from your soldering iron. Also, since you have both sides as electrically the same GND net, all your pins to GND have double the thermal reliefs and thus (roughly) half the thermal resistance to the copper pours.

Just a thought to ruminate upon. I can think of several ways to skin this cat, each with their own tradeoffs, all out of scope of this coment.