Software

PC Operating Systems: Ubuntu VS Windows.  I went from Windows XP to Ubuntu and back to Windows 7 just recently.  If you have a spare computer sitting around that you don’t mind formatting, I suggest installing Ubuntu on it.  It has a Windows environment (WINE) that lets you run some windows programs successfully.  For people trying to get by doing day to day tasks it is a good operating system.  For me, I was usually running into trouble trying to get it to do things that Windows would usually not have problems with.  Not being able to use my oscilloscope was the biggest problem though.  When I went from Ubuntu 11.10 to Windows 7 on the same PC, there was no going back.  Much better performer out of the box.  I spent about three full years using Ubuntu on three different machines, so I think that have a fair opinion.  Windows will allow you to be productive, but Ubuntu will make you an expert with Linux.

Producing Printed Circuit Boards: I have used ExpressPCBPCB123 (AKA: Sunstone Circuits, PCBExpress), and EAGLE software to design printed circuit boards.  I learned how to use all three within the same year and purchased a couple boards made with each.  All are free to download and try.  Here are my thoughts:

ExpressPCB is the best of the three:

PCBexample

  • PROS: Easy to learn – Easy to setup in Ubuntu – Easier to setup in Windows – Stable software without constant updates and revisions – Easy ordering of boards through the website – For making small boards there is a production option for $51 that you can fit a couple mini-boards on (I have used this option to get a couple projects built at the same time) – Really good customer service – Consistantly fast turn around time when purchasing boards
  • CONS: File format can only be used to order boards from their website – You might get stumped at more complex board layouts – You can not rotate parts

Sunstone looks like it can deliver everything, but the software was lacking stability:

  • PROS: Regular software updates – A few more features than ExpressPCB has – Almost as easy as ExpressPCB to learn – Active links to Digikey – 3D view option – Good customer support – Autoroute feature to route traces for you (not a fan of it, but cool)
  • CONS: Regular software updates – In 2010 I was running into problems with the software because of software updates and there were compatibility issues from older to newer software, it was obvious they lacked a good grip on the product at the time – Glitchy – when doing simple things like Ctrl+Z or zooming in and out it would do odd things or not do what was expected – The 3D view was neat, but sometimes didn’t work properly, was misleading – The parts library sounded extensive but wasn’t – I switched to them from ExpressPCB because all the features looked cool, but the lack of stability in the software was a real let down – Maybe it is finally better?

EAGLE is only software to produce the files used to order PCB’s from manufacturers.  You can use EAGLE software and place an order with the files through Sunstone or any other website.  ExpressPCB will only accept their file format (.PCB) for orders.  The big deal about EAGLE files is that they are the same format as what you get with the high end, expensive PCB software.  This means you are not limited to one manufacturer.  If you plan to make thousands of a board then this is what you want instead of ExpressPCB or Sunstone.

  • PROS: Can do complex tasks – The files (Gerber format) don’t hide anything (ExpressPCB and Sunstone files are converted to other formats when it comes time to machine the boards) – Easiest install in Ubuntu since it is available in the Software Center for one click installation
  • CONS: Not very easy to learn compared to the other two – Can be tricky to understand how to use the files to order boards for new comers

Schematic Diagrams:  This goes hand in hand with producing the circuit board designs because the schematic software installs with the circuit board software.  They will also let you create something called a netlist.  This is a list of all pins that are wired together.  When the schematic is complete it can be checked against the netlist for errors.  Sunstone/ PCB123 does have a nice feature the does this check automatically.  That was kind of glitchy when I was using it, but the idea is great.  I have been using ExpressPCB and it has met my needs.

SCHexample

I have used Microsoft Viso on several occasions through work and it is always rough.  Connecting pins made me feel like I was failing a field sobriety test because they were rarely straight, even on a grid with snap-to features.

Programming Microprocessors: In college I had a couple classes with microprocessors.  It was more about understanding the process by which a micro did its job.  In July of 2012 I bought my first Arduino Uno and started learning how to program again.  About 4 months of spare time later I had a working LED gauge for the Fiero.  Arduino takes Atmel microprocessors and packages them in a way that makes it easier for a beginner with limited experience to achieve complex results.  While the Arduino setup does have some limitations, most users will not notice them.  If you are reading this, have not done any microprocessor work, and want to, then the Arduino is the best way to go, and only about $27.  Extra chips for the board are only about $3 from Digikey, but you will need to program the bootloader, or pay about $5 to buy it with that already programmed.  Go and order one already!

To program the chips in the boards that I have made I use the Atmel AVRISP mkii with the board powered up.  The Arduino software can use the mkii to program the Atmel chip without actually having it installed in the Arduino circuit board.  You will run into driver conflicts in Windows if you try installing the Atmel Studio software because they use different drivers and both can not be installed.  Troubleshoot this problem using the forums if you run into it.  If you only wanted to build one of my devices and reprogram it, you could either buy an Arduino Uno and swap the chips after programming them on the Arduino Uno Board, or you could use the mkii.  Both paths get the same result at about the same price.

Leave a Reply