Hi!
I have an education from both hardware and software computer engineering, but I have only worked with software for many years now. I'm not up to date with what's what in the world of embedded systems now, so I hope someone here might point me in the right direction.
I have a little private pet project which required an embedded system. It is quite simple, but I don't know what CPU or kit to use. Here are some (short) specs on the system:
The CPU should control four small electric motors. There should be two buttons which the CPU gets input from. These buttons should be lit, so that the CPU can control if the light is on or off. There will be a small LED/LCD display of some sort, able to show at least 12 characters. The CPU must keep track of the date/time as the logic depends on time. Ideally the system should run for at least a month on a set of batteries. If batteries are a problem, plugging the system into the socket is possible, but batteries are ideal. During development, it would be great if the CPU was available via USB. I know a bit of asembler code, but if there was any way to program at a higher level (C is fine), that would be great! This is, as I said, a private project, so price on the components is an issue. I'm hoping that the components I need should be less than $100 and absolutelly below $200.
Can anyone recommend any components/kits/resources to help me get started with this project? If you can recommend CPU/kit, display, buttons, power supply or have any other tips, I would be most gratefull!
Chris.
If you are getting started with microcontrollers, you should look into simple 8-bit parts. A microcontroller from the '51 family might be a good idea, see http://www.silabs.com for a selection of excellent MCUs. But the '51 architecture comes from the 1980's and it has its quirks and limitations, although it doesn't stop developers from actively using them in many new designs. For a more up-to-date architecture see еру AVR family at http://www.atmel.com. The added benefit is the availability of free WinAVR toolset, so you don't have to invest into developing tools. Most modern microcontrollers have on-chip debug support. You should use it as it greatly eases debugging of your code in a live running system. You should think about what adapter you will have between the microcontroller and your PC running the debugger. Often you can get away with a simple wiggler-style adapter between a JTAG port and a parallel port of a PC. Wigglers can easily be made at home. Unfortunately, USB debug adapters are more expensive, with a price in the hundreds of dollars. From your description the code for your application could fit into 1 or 2 KB or ROM and 128 or so bytes of RAM. But you should choose a microcontroller with 4 KB or more of ROM and 1 KB or more of RAM. This will cost you an extra dollar or two, but it will save you lots of headaches while developing code as you won't be so constrained in resources, especially when writing in C. As for real-time clock, some microcontrollers have this facility with low-power modes with power consumption of a microamp or so. But you can always use a dedicated chip for that purpose.
Regards, - mike