Does anyone know of a list of projects I should do to at least be able to pickup kicad/eagle to start laying out boards into gerber files into manufactured boards?
One suggestion I got was to design and implement one's own Atari Punk Console: http://www.makershed.com/product_p/mkjr2.htm
I also found this book: http://www.amazon.com/Build-Your-Printed-Circuit-Board/dp/00...
I tried modifying some open source designs, as well as designing a board from scratch, using Eagle and Kicad last year. I found the software so cumbersome and maddening, I gave up rather quickly.
I've stumbled upon some better tools since then. I hope one of these will get me from idea to gerber with less heartburn.
Those are both free. On the commercial side, there are a lot of options, but I'm tempted to just buy Diptrace, which seems to have a good array of features and reasonably-priced licenses.
For instance, recently I got some supercapacitors and had a few ideas for a simple circuit (consisting of resistors, diodes and capacitors). I did an EE unit when I was at school a long time ago but wanted to get a better understanding of how my circuit would behave, particularly voltage levels and discharge rates over time.
I was expecting there would be some software which would allow me to draw a simple circuit, specify input voltages and press 'play', allowing me to see how the circuit acted as a live simulation and see charts of voltage at particular nodes over time.
However, despite googling around, I couldnt find such software geared towards visualisation of simple analog circuits...
Happy to look at OSS or propriety software, I was expecting to find something used in academia but no such luck.
Designing a complete system from scratch has three components, the system design, verification of the design, and then bring-up. Its very frustrating there in the middle. If you want to practice take a built system, and the data sheets for the parts, and write an operating system for it. A lot of chicken/egg problems. Things like "Ok see if the HW bootloader is working by loading a loop which toggles this line which I can watch using an oscilloscope." Real, starting from nothing into something stuff.
Designing shields (Arduino) and capes (BeagleBone) gives you a "known" working system so that you can prototype various peripherals you want in the final system. This is what manufacturer evaluation boards are actually for. They have the ability to be configured into all of the supported modes so that you can try them out prior to building them. A number of systems just lift the schematic from the Evaluation board, delete the parts they don't want, add the parts they do, and voila system "design."
Staying below 20mhz is a good idea until you get a handle on what happens to signals as they travel across a circuit board. Working with LVDS (low voltage differential signalling) lines only makes sense when you see what a 50mhz line looks like 4" from the processor on an unterminated 3 mil trace. :-)
Also if you make useful shields/capes and re-sell them then you can earn some money to buy the tools to make the more complex systems. You will also discover that a 500Mhz oscilloscope that is 15 years old is nearly as expensive as a 500Mhz oscillocope that is new because well if it works and is calibrated, then it works. Kind of like machine tools, they have intrinsic value.
Heh... forget making sense, you can't even tackle some LVDS systems until you start thinking about your "observer effect" when you try to measure signals, i.e. the impedance of your probes...
My first goal is a FPGA dev board, not altogether unlike the FPGA module on bunnie's laptop. The board I envision has a USB interface (for FPGA configuration and communication with host computer), a few peripherals and high speed IO header. I broke the project into three steps: a microcontroller board with USB interface not unlike the Arduino Leonardo (built and working), a board with a small (= cheap) FPGA to experiment with soldering BGAs (board just back from the fab), and the final design.
The ultimate chip I want to use is a BGA, which needs to be soldered with a process called reflow. (Basically, you bake the board in an oven.) So as a side project, I'm modifying a toaster oven into a reflow oven with the first microcontroller board as the controller. Lots of people have done this; you can find tutorials online. I started with an AVR chip for the USB, but I'm planning to switch to a ARM Cortex series M chip (STM32F4, only a few dollars more but way more capable) in later boards.
(EDIT: fixed wrong link)
High Speed Digital Design: A Handbook of Black Magic by Johnson and Graham:
and RTL Hardware Design using VHDL by Chu:
(the latter for designing for FPGAs)