A few folk have asked me how to get started in designing and building electronics. Here are a few pointers to the most user friendly resources and tools that I have found.
Designing Embedded Hardware by John Catsoulis, 2nd edition, O'Reilly is a good place to start - this will take you through the basics of designing an embedded hardware project. It covers the basics of board design, layout and construction techniques. Ignore the chapter on Forth. Pretty much everyone uses C or assembly for embedded hardware programming. See below for details of the C compiler that I use.
The Art of Electronics Students Manual by Thomas Hayes. Best book written. This is the course book for the legendary Art of Electronics by Horowitz and Hill, which is an excellent reference, but a tad imposing to start off with. TheStudent's Manual takes the reader through a comprehensive course on analog and digital electronics. I used a simulator for the practicals - Livewire; this is the most intuitive simulation package I've come across and aimed at learning electronics. Limited for high frequency simulation and design, but it is not written for this. I haven't been through the final chapters on assembly in detail as I was already writing firmware by the time I found this text. If only I'd had it ten years before!
Circuit Cellar Magazine. Subscribe. Read. Inwardly digest.
I use the free C compilers produced by Mikroelektronika,for the 8 bit PICs and their 16 bit big brothers, the dsPICs and PIC24s. Mikroelektronika also produces compilers for the popular AVR range of microprocessors. The support forum is useful and I usually get a reply from their email support within 24 hours. I've bought a few of their development boards for PICs and dsPICs plus a bunch of daughter boards that clip onto them. Excellent value for money. The development boards plug into a USB port and can be programmed directly from the Mikroelektronika compiler.
Most of my designs are built around Microchip's PIC and dsPIC range. To program the circuit boards that I build using these chips I use the PICKit2. This has a great programming interface that can be set to automatically reload the hex file that your compiler produces, each time you rebuild it. This means that the PICKit2 can easily be used with any compiler - it is not tied to Microchip's own MPLab tool suite the way that many of their other programmers are. Plus - it is one of their cheapest programmers! The newer PICkit3 did not originally have this functionality, but Microchip are working on it.
For drawing up my circuits I use Eagle - the free version is all you need to get started. I now have a licence as some of my designs need the extra board area that having a licence allows. Eagle comes with a tutorial and manual file, but the best tutorials I've found are by the good folk at Sparkfun here. There are three tutorials on the site - the link is to the first one. Be sure to read them all!