3 ms·
As other's have mentioned I'd suggest that you start with an Arduino. It simplifies a lot of the complexities of embedded development while still been surprisin
by blcArmadillo 14y ago
As other's have mentioned I'd suggest that you start with an Arduino. It simplifies a lot of the complexities of embedded development while still been surprisingly powerful. You'll want to start by learning the basics: How to control the general purpose IO (GPIO) pins, basic serial communication, analog to digital converters (ADC), digital to analog converters (DAC), etc.
The Arduino is a nice platform for beginners because it provides a nice set of libraries that abstract away a lot of the complexities of developing embedded systems. If you're just interested in building hardware for a hobby the Arduino may satisfy all your needs. But, if you're interested in actually developing products to sell I'd recommend that you quickly move from the Arduino to some more serious hardware. This isn't to say you can't make real products with an Arduino; I know there are projects like the Makerbot that use it to great success. But I think by just using an Arduino you run the risk of learning a framework rather than having a comprehensive understanding of the interaction between the software and hardware.
After Arduino I'd recommend getting a development board such as: http://www.actel.com/products/hardware/devkits_boards/smartfusion_eval.aspx http://www.actel.com/products/hardware/devkits_boards/smartf.... One of the classes I took in college used these boards and they're pretty awesome. They have an ARM microcontroller and FPGA on a single chip. If you're not familiar with FPGAs check out the wikipedia article: http://en.wikipedia.org/wiki/Field-programmable_gate_array http://en.wikipedia.org/wiki/Field-programmable_gate_array. Basically they enable you to implement digital logic through software using a Hardware Descriptor Language (HDL). Usually the manufacturer will also provide you with premade IP cores you can drop in. These are things like ADC converters, controllers for SPI or I2C, etc. You can also get crazy though and design custom chips even a complete general purpose processor and test it out on the FPGA.
Hopefully this helps. Let me know if you have any questions and I'll try to answer them.