While exploring resources for my networked learning project on designing and printing a circuit board, one of the first links I came across was a post from Reddit on a fairly new subreddit /r/PrintedCircuitBoards titled: Teaching Circuits to high school kids: Bread board the only option? Responses listed several choices such as Eagle, which I used briefly to teach an activity for summer camp last year, but it was clunky in many ways and interest seemed to be turning to some of the newer programs. I decided to learn KiCad, as it is open source, under active development, and is increasing in popularity.
Once I installed and started KiCad, I was greeted with an innocuous looking window, but I quickly realized I didn’t know what many of the buttons did. The in-program help assumed some familiarity with circuit design, so I turned to online videos to see if there may be a tutorial to help me out. KiCad’s site lists several tutorials; I chose to start with a set of seven videos from ContextualElectronics that takes you step by step through the process of creating a PCB design that blinks a LED on and off. The author of these videos did a nice job of walking a beginner through the steps, but I still had a couple challenges.
The first challenge had to do with the method of learning. I was continuously having to pause and rewind the video while working in KiCad as he was explaining each step, and the pace he set made it hard to keep up. If I was left to my own devices, I would definitely want to supplement this instruction with something like an Instructable, as I deal better with text. Secondly, he would often tell you how to do something without explaining the larger context. Some of the steps make sense within that specific circuit, but I would have a hard time transferring that knowledge to a circuit of my own design. I think this could be helped by starting the process over again but try a design that is not as well documented to find where I am lacking and need more practice. The presenter would also sometimes make mistakes and have to go back to fix them, but ultimately this was helpful since I knew I would run into similar situations on my own.
Ultimately I was able to finish the design presented in the video tutorials on my own. Since the tool was still pretty hard to use and the aforementioned stopping and rewinding, all told this took about five hours. Once I was able to take the finished design, see that there was no errors, and submit it to OSH Park for printing, I found the overall experience to be rewarding and worth the growing pains. The tough part now is waiting! I will also have to start learning how to solder surface mounted components, since this is what my first board used. Surface mounted components are soldered to little conductive pads on the surface of the board, saving space and ultimately cost as the boards’ price is determined by their area.
While I was working on this first stage of the project, I came across a couple other resources that will help guide me in the next phase. One that I’m sure will be helpful is the EEVBlog forums, which has subforums devoted to KiCad. I also decided that rather than making an Arduino clone, I will try to make an Arduino shield using a student-friendly design program called Fritzing. This software is used to layout virtual circuits with an Arduino and breadboard, but I didn’t know you could prepare circuit board designs within it, as this video quickly explains. I’m not sure what my shield will do – it probably will be more useful than the googly-eyed shield – so perhaps I will try to make a pinball controller shield that could be used with our Scratch pinball game.