Thursday, November 14, 2013

I never realized that making basic PCBs could be so easy!

I've only made a few PCBs before.  One was a breakout board for the gauge electronics behind the center console in my Evo.  The other was a Pololu-based stepper driver board intended to be a drop-in replacement for the MakerBot Cupcake electronics.  Both were made using the proprietary software from PCBExpress.  I actually really liked that software because it was super intuitive.  I never even had to pick up a user manual to get my boards made.  I just drew the schematic, exported to the PCB editor, then clicked Order and the boards arrived at my doorstep a week later!  My only other experience was making a special EEPROM adapter for NSX ECUs, which was done on Protel DXP.  That particular project required help from our board designers at work, because I had no clue what I was doing!  And it was that PCB that, until today, made me think that real PCB work would always be beyond my abilities.

I can't remember how I found out about Chris Gammell's new Contextual Electronics website, but it was probably from one of the RSS feeds.  In any case, I *really* wanted to take his course, but being able to dedicate 10 weeks is pretty tough with all of the things going on.  Needless to say, I was thrilled when I received one of his emails, announcing the "Getting to Blinky" series on Youtube.  For programmers out there, it's kind of like the EE equivalent of Hello World.  Now, while Hello World on any new programming language doesn't excite me very much, being able to blink an LED via my own PCB is.  So this afternoon I decided to just sit down and work through Chris' 7 videos to learn KiCad, and open source schematic capture and PCB design tool.

The courses are laid out very well, and the breaks between them are logical.  If you weren't able to sit down and power through all of them at once, I think you would have a very easy time picking up wherever you had last left off.  Chris seems like a pretty soft-spoken guy, and I definitely had to crank up the volume on my speakers to be able to hear him clearly.  Other than that, the videos themselves are well-produced.  The screencast is clear, and I especially like how the keystrokes he's using are displayed on-screen.  This is very useful because KiCad is very keystroke-intensive.  I think you are much better off learning the keystrokes than trying to find the various commands in the menus and toolbar icons (most of which don't really make sense to me).

Perhaps the only thing I would have liked in the videos was more cues that he's going to click on an important toolbar icon or introduce a new keystroke.  When working in KiCad on my other monitor, I think the process would have been smoother if I knew when to glance over at what Chris was doing.  I had to frequently rewind the videos to try to catch which button / keys he was pressing.  I guess some people do this naturally to begin with -- i.e. watch a bit, pause, do the steps, unpause.  I happen to like to do things at the same time, and it was a little difficult.  That said, all of the content you could possibly need is there in the videos, and you will learn how to use the fundamental KiCad tools!

KiCad seems like a very powerful tool, and it never ceases to amaze me what these open source software packages can do, at no cost to us users!  It has its quirks -- sometimes keystrokes wouldn't quite work, like V for via was failing during the routing session, and I had the darndest time trying to delete lines from my drawings.  But in the end, everything worked out.  By far the weirdest issue was with the footprint creation.  I couldn't close the editor because I had to save the footprint, but I couldn't save the footprint because it wasn't associated with a library.  This was the weirdest problem I've ever seen, and fortunately Chris ran into the same problem during his video... and that's the best part -- you get to see a real error when it happens, and have someone actually explain to you how to get around it!  Can you imagine other edited tutorials that might have completely glossed over or removed this error from the video, leaving you scratching your head?  I can, and it would really suck.

Anyhow, here's how the course is broken down:
  1. Introduction
  2. Symbol Creation with the Component Library
  3. Schematic Creation with EEschema
  4. Part Association with CvPcb
  5. Creating Footprints with the Module Editor
  6. PCB Layout with PCBnew
  7. Output Files and Making Your Board
And yes, oh yes, by the end of this series of videos, you will have ordered your very first PCB.  I couldn't believe how simple the process was!

I can't thank Chris enough for providing us with some free, extremely useful videos to help get some of us kickstarted with the PCB design process.  I do hope that this gets those whom are on the fence about joining his course to sign up and go for it!

Oh, and check out my version of Getting to Blinky: (note that I didn't care about how bad my battery holder outline looked, nor did I size the pads and spacing exactly right, and I didn't follow the directions and move the component identifiers -- I just wanted to see the board!)



I promise to do better on my new two projects -- a new stepper board based on the ST L6470, and OnSLaughT, which is the new name I have given to my Open Source Laser Tag project.

No comments:

Post a Comment