top | item 11670498

Tutorial On Designing/Building A PCB (Using FOSS)

160 points| ChrisGammell | 10 years ago |contextualelectronics.com | reply

41 comments

order
[+] kirrent|10 years ago|reply
For those interested in the teaching philosophy behind contextual electronics you might be interested in this video - https://www.youtube.com/watch?v=5_9Q4DoUlT8

He favours diving into a teaching example where the student has little background knowledge and expanding later. While my interests are more in the fundamentals I can appreciate the motivation behind this approach, especially in an online environment where keeping your students engaged is key.

[+] nickpsecurity|10 years ago|reply
That was an interesting presentation and theory. Might check out his learning electronics series at some point.
[+] billylindeman|10 years ago|reply
For those interested in pcb design and you're not tied to FOSS I'd definitely recommend trying upverter.com. It's made loads of progress in the last few years and is probably the best / easiest to use layout software for beginners that I've come across.

I've worked with eagle, altium, and briefly KiCad but I can never get over the tediousness of using KiCad. I recently checked out upverter and after watching their tutorial was able to design an LCD adapter board from start to finish in ~2 hours.

Not trying to knock too hard on KiCad because it's great that we have an FOSS option, but if you're just into tinkering, upverter definitely has an easier learning curve and is pretty powerful. I always find that I want to spend my tinkering time actually getting my project designed instead of fighting with tooling.

[+] abetusk|10 years ago|reply
Upverter has all the standard trappings of proprietary SaaS businesses (see [1] for a flame-baity editorial).

I think KiCAD is awesome but the learning curve is steep, the interface is a little dated and it's hard to get started and/or share your schematics easily (e.g. online). This was one of the reasons why I wanted to like Upverter so much but the fact they were just another closed source business was a no-go for me.

Anyway, I created MeowCAD as an alternative [2]. It's free and open source [3] allowing you to do circuit design in your browser.

Sorry for the shameless self promotion.

[1] http://dangerousprototypes.com/blog/2011/09/21/editorial-upv...

[2] https://www.meowcad.com

[3] https://github.com/abetusk/www.meowcad.com

[+] ChrisGammell|10 years ago|reply
KiCad definitely has a learning curve, which is why I made these and many other videos.

I have scaled back my arguments a bit, but I'm not a fan of the network connected, in-browser tools (wrote about it previously here: https://contextualelectronics.com/learning/simple-plane-expe...). I rather like the Upverter guys as well, I have had them on my podcast in the past: http://www.theamphour.com/the-amp-hour-163-ramiform-reciproc.... I'm sure to lose this argument (browser tools) over the long term, as I think more things are moving that way. But for now I prefer a localized version of my CAD software and the fact that it's FOSS is a bonus.

The thing I can't figure out is what happens if Upverter goes away at some point in the future? They have good exporters it seems, but there's no way to run the software without their servers AFAIK. I know people still running local copies of Protel99 (ie. all of China). Will that be possible with Upverter?

[+] Animats|10 years ago|reply
KiCAD does seem to have a tediousness problem. The tutorial shows a process for creating a new parts library which requires far too many steps - saving some random part into a new library to create it, telling the part designer about the new library, and starting from a blank part which has text in the way of what you're creating.

Also, moving something by holding "M" and dragging with the mouse seems a holdover from the DOS era. Of course, if you don't like that, you can remap the hotkeys. That's so open-source.

[+] borgel|10 years ago|reply
I've been using Upverter for a couple weeks on a series of boards and have mixed feelings. Broadly it seems to work fine though there are a few niggles here and there.

There are definitely some random bugs (DXF board outline import?) and they have been silent on the support forums for a few weeks.

[+] c22|10 years ago|reply
For an open source option with a small learning curve I like Fritzing.
[+] wyager|10 years ago|reply
Having used Eagle, KiCAD, and several others, my current favorite is Fritzing. It's quite easy to use and has a large library of built-in parts. Creating new parts is pretty easy compared to other software I've used. Performance leaves a bit to be desired, but this doesn't become a problem except for pretty large circuits.
[+] ChrisGammell|10 years ago|reply
I've heard others say the same recently. I've always liked their intuitive breadboarding stuff, though haven't used it much. A lot of user-facing friendliness, which KiCad lacks to be sure.

Normally I'd call out the "built in libraries" as a false thing to optimize for, but since you mention making your own components, I assume you're willing to move outside of that as well, so that's good to hear. Most people assume every part should have a library component which is simply never going to be the case in electronics. Even if there were a library for every component, I usually only trust the parts I have made, verified and tested myself. Been burned too many times.

[+] blackguardx|10 years ago|reply
Out of all the open CAD packages, Fritzing takes the UI win but fails for advanced users by only supporting 2-layer boards (unless this has changed?).
[+] zintagon|10 years ago|reply
Fun project!

I watched the Building Blinky video.

You could improve the video if you hold a loupe in front of the camera lens when trying to zoom in for fine detail, like when you were trying to show us a bridge on two pins.

[+] ChrisGammell|10 years ago|reply
Good thinking, I like that. I normally zoom when for these kinds of details, didn't realize at the time the view was not sufficient.
[+] beardicus|10 years ago|reply
Hi Chris! Nice job with the tutorial and podcast. I haven't designed a board in a while, but next time I do I'll definitely be putting in some time moving from Eagle to KiCad.
[+] taneq|10 years ago|reply
Having made that jump over the past few months, I should warn you that KiCad has some very annoying rough edges. It's basically a bunch of FOSS PCB-related projects wedged together into a single launcher, which has then been spot fixed as individual problems got too annoying for individual users. Once you get used to it the main workflow is pretty alright, but there are a lot of facepalm-worthy 'features'.

Each program has its own (sometimes slightly, sometimes wildly) different UI, right down to things like selecting and moving objects. In addition, the PCB layout component has three different selectable "rendering engines", each of which has its own UI and available feature set inconsistent with the others. (Hint: OpenGL rendering enables the interactive routing features which speeds things up immensely.)

Information is transferred between programs via intermediate files, creating a lot of busywork to export/import changes. (For instance, to go from a schematic in eeschema to PCB ratsnest in pcbnew, you have to annotate components, run CvPCB to associate components with PCB footprints, generate and save a netlist, load pcbnew, and read in the netlist. Any name collisions with existing footprints will cause the conflicted footprints to not be updated.

Importing/vectorizing images from outside sources is byzantine and scaling images after import is poorly or not supported.

It crashes from time to time, especially in the PCB editor. Get used to spamming ctrl+s regularly.

Also, the part and footprint library management is insane and needs a rewrite.

Basically it's got all the ingredients for a great CAD package but it needs a single guiding force to turn it into a consistent, reliable tool.

[+] svens_|10 years ago|reply
Very nice introduction to KiCad - also for people with a background in other CAD tools like me.

It's awesome to have a short but complete example of the whole process. KiCad definitely has some room to improve in terms of UI/UX flow, so that was very helpful.

[+] znpy|10 years ago|reply
This is interesting to me because recently I have been playing with the open source spice software, ng-spice, and all of the other tools.

I'll make sure to watch the whole series tomorrow morning :)

[+] throwaway7767|10 years ago|reply
I'd love to hear from someone familiar with both KiCad and eagle how the library availability compares. Last time I tried the FOSS alternatives, the main pain point was that I needed to create pretty much all the component libraries myself, whereas for eagle someone had usually already done that work.

Eagle is a truly terrific program, but I would really like a FOSS alternative. I'll have to give KiCad a try next time I have to do some layout work.

[+] dbcurtis|10 years ago|reply
Just adding a note here that gEDA, the GNU EDA suite, is another free software alternative. Its older than KiCAD by quite a bit. I got started with gEDA since I was doing PCB's before KiCAD, and now have invested in tools and libraries and such and don't want to restart. The functionality seems roughly equivalent -- both have their rough edges, just in different places.
[+] ChrisGammell|10 years ago|reply
Yep, that's the thing about EDA. The curve is so steep, it's pretty hard to get someone to switch unless there is a disruptive event in their electronics life. I'll be saying the same some day about switching away from KiCad, I'm sure.
[+] aceperry|10 years ago|reply
Another free CAD program for pcb making is designspark pcb (http://www.rs-online.com/designspark/electronics/eng/page/de...). It's not opensource like Kicad and gEDA, and it's only available on Windows. But it's easy to learn, very polished for free software, and quite capable. Lots of tutorials as well. There is a lot of free software available for hobbyists/makers today and they're pretty impressive compared to commercial software.
[+] srean|10 years ago|reply
Sincere call for comments on make a living as a PCB designer in India.
[+] anujdeshpande|10 years ago|reply
Get your work out there.

- Make small batches and sell on Tindie - For bigger projects do a crowdfunding on CrowdSupply (has a rep for OSHW)

It's easy for software folks to get noticed courtesy of GitHub or building things which propagate faster than hardware (a simple script or emacs mode or atom plugin or whatever). It's much harder for a hardware guy.

Look at https://femto.io/. I think it is a small team spinning boards in relatively small batches and selling them - https://femto.io/collections/all

Also, there are a lot of makerspaces popping up in India. Showcase stuff there too. There are a lot of software guys looking to do hardware stuff.

[+] ChrisGammell|10 years ago|reply
Anuj has some great advice below. Maybe also try contacting Anool (https://twitter.com/anool) to ask a similar question? He works with a couple different companies and is a huge supporter of the KiCad project (writes about it regularly on Hackaday and runs workshops all over the world)
[+] callesgg|10 years ago|reply
Watched the hole series more or less, feel a bit suckerd when the device did not even work.

Put your wrists on something when you solder.

Long time Amphour listener.

[+] zakhomuth|10 years ago|reply
Great work Chris! Looks awesome.