Hi, just wanted to share with you the first PCB I’ve made with KiCad and the joys it brings. 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/
- Idea and schematics
- Pcb design
- 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!