|
The old thread was archived, time for a new one! Please suggest corrections and additions. What is embedded programming? "Embedded systems" is a catch-all term for all the computers around us that we don't think of as computers. It covers a large range of platforms - from tiny microcontrollers where every byte counts, to powerful SoCs running full-blown Linux setups. Unlike PCs, embedded systems are typically programmed to handle a set of specific tasks and do them indefinitely. What languages do I need to learn? The number of available languages increases with processing power and memory - Linux boards like the BeagleBoard can run just about anything, and boards like the Netduino let you do embedded programming with .NET (embedded Visual Basic, anyone?). On the lower end of the scale, though, you'll mainly be using C, and further along you'll want/need to look into assembly as well. Embedded platforms - a short rundown TI Launchpad (MSP430) On the low end of the scale, the TI Launchpad is a simple programming board for the MSP430G2xx chips - 16-bit RISC CPUs with 2 kB of flash memory and an absurdly low power usage. It's incredibly cheap to boot, costing just $4.30 shipped. Arduino (AVR) Based on the 8-bit AVR chips, the Arduino is one of the more popular microcontroller platforms out there. An official board costs around $30, but as it's open source hardware, cheaper clones are easy to find. It has a simple IDE that lets you set things up fairly quickly, and there is quite a lot of example code and tutorials available for it as well. STM Discovery (ARM) SilverAlicorn posted:ARM was developed by Acorn Computers in the early 1980s to replace the aging 6502 family. The developers pretty much saw the dropping cost of semiconductor fabrication, thought to themselves "hey we could probably make our own CPU" and designed the single-most prolific ISA to date. ARM is literally everywhere, seriously. Your router, your cable modem, your cell phone, your GameBoy, your DVD player, probably. At just under $10, the Discovery is probably the cheapest ARM dev board around. It has fairly good performance for the price, though, with a 32-bit CPU with 5 kB of RAM and 128 kB of flash memory. Raspberry Pi The Raspberry Pi is a fairly impressive system - it's credit card sized, it runs Linux, and it costs $35. It has a Broadcom BCM2835 SoC, with a 700 MHz ARM11 CPU and a dedicated GPU. (Right now the demand is huge, though - be prepared to wait or to pay extra if you want one.) BeagleBoard (ARM) The BeagleBoard blurs the line between embedded system and PC - it has fun things like a 1 GHz ARM CPU, 512 MB of memory, a dedicated DSP, USB, Ethernet, and just about everything else you could ever need. At $149, though, you probably won't be getting one to blink LEDs. Other interesting platforms
Useful resources and links
overeager overeater fucked around with this message at 22:03 on Aug 12, 2012 |
# ¿ Aug 11, 2012 22:48 |
|
|
# ¿ Apr 30, 2024 13:50 |
|
PIC, 8051, Netduino, and Teensy have all been noted! I'll write a bit as soon as I can - I'm actually using the Teensy for a simple MIDI box I'm making.Pham Nuwen posted:The Raspberry Pi and the Beagle Board are both very cool, but I wouldn't call them embedded environments. They're really general-purpose computing devices which just happen to be in a small package. Fair enough - I put them there mostly to show the range of systems you can get for embedded use. The RPi in particular has been brought up often for DIY projects. Popete posted:Can we talk about embedded operating systems in this thread? By all means!
|
# ¿ Aug 12, 2012 20:59 |
|
abraham linksys posted:So, I've always been interested in embedded programming, since it's so far removed from what I do (web development). I'm thinking I'd like to buy a board and gently caress around with it, but I don't have any ideas for projects. So I'm wondering, what kinds of DIY projects you guys have been working on with your Arduinos and Teensys (Teensies?) and whatnot? If you have a microcontroller that simplifies USB HID stuff - like the Teensy and the Uno, I think - making a MIDI controller or a joystick is pretty simple and makes for a fun project. Buy cheap arcade buttons off eBay or DX, cut up a lunchbox for an enclosure, hook it up and play games/make music Alternatively, you could make a pan/tilt rig for a laser pointer (or really small camera) with two servos. If you're lucky, you might be able to power both of them with the micro's current source for less wiring The easiest way to do the "light show", I think, would be processing the audio on the PC, and then send commands over the serial port to have the Arduino control the lights. I can't really think of a way to detect a beat without FFT, which I think is a little too much for the Arduino.
|
# ¿ Nov 13, 2012 20:19 |