As we work on the BASPLC project, we're going to need a lot of tooling, both software and hardware. I'll use this post to keep track of what's in use. I'll also keep track of my suppliers and the experiences with them.
For circuit and PCB design, we're using Cadsoft Eagle 6.4.0, the Windows "lite" edition. The limitations of this free version won't hurt us to begin with. We may move to the hobbyiest version if we need larger or more complex boards.
So far, the experience with Eagle has been so-so. As someone who worked for many years on CAD systems I have pretty high standards and Eagle doesn't always make the grade. Nothing major, mind you, but lots of little annoyances. UI actions that aren't intuitive or conflict with standard usage.
One feature that I would like to see would be integration with an external configuration management system, like Subversion.
Prototyping and test
I got a nice breadboard from Amazon. It's got room enough that I should be able to prototype two components at the same time, so that I can test their interoperability.
The breadboard power supply from SparkFun is nice. Much of the time we'll be getting power from the programming link, but having independent power is useful.
SparkFun also provide us with our AVR programmer and a nice adapter board making it easy to connect to a breadboard. I built the breakout board with right angle headers so that it sits vertically on the breadboard, leaving more room to work.
I've got an Arduino UNO to use as a test driver for the components.
A logic analyzer can be a big help in debugging hardware. This 8-channel one uses a USB connection to a PC, meaning that the cost of the analyzer hardware is kept to a minimum.
I've got the Arduino development environment. This will be used to program the UNO for testing purposes but not for much else. First off, it's Arduino-specific and that's not what we're building here. More importantly, the libraries seem to be licensed under the GPL or LGPL and I won't include that software in mine.
For AVR programming, we'll be using WinAVR, which includes AVRDude for programming the MCUs. The libraries there are under the BSD license.
I'm a big fan of Eclipse, so I'm running the Eclipse C/C++ Development Tooling (CDT) on the Helios Indigo base. Within this, the avr-eclipse plugin enables actual AVR development. I have to say that the experience has not been as nice as it could be. There's some sort of error that gets thrown whenever I compile something. The output works, but the error is annoying. There are also some annoying warnings in the IDE about undefined symbols and missing headers that are just bogus.
Much as I hate dealing with infrastructure, some form of source control is absolutely required. I'm using a local copy of Subversion since that's powerful enough for my purposes and much easier to use than CVS. There's a plugin for integrating Subversion and Eclipse, called Subclipse. Sadly, there isn't any such integration with Eagle.
SparkFun. Every order has arrived in a reasonable time and has been accurate. Parts, including their own circuit boards are of good quality.
DigiKey. Good commercial supplier that can handle small orders. Shipping costs aren't bad and, like SparkFun, every order so far has been accurate.
Amazon. Well, really some of the vendors that use the Amazon Marketplace, like Joe Knows Electronics.
Futurlec. This is a component supplier located in Australia(?). Online reviews have been mixed at best, tending towards very negative. My first experience has born that out. I ordered some red/green LEDs which showed as in stock on their web site. Got an e-mail from someone telling me that they were out of stock with no scheduled availability. The funny part was the alternate parts they suggested included the one that is supposedly out of stock! Doesn't give me a lot of confidence. It's also taking a long time, so I may go back to DigiKey on this, although the LEDs are more expensive there. (Update: Cancelled the Futurlec order and went with Mouser.)
Mouser. Much like DigiKey, but with a slightly different product set. For instance, I found the replacement LEDs that I wanted from Mouser and not DigiKey — DigiKey didn't stock the common-anode versions.