Embedded Systems
Like many who got onto the IT bandwagon, I never got to utilize what I was trained in – electrical engineering. After a career of high-level application development (i.e. in the IT Industry), I’ve taken the plunge, into the embedded world – back to my roots.
It really is an exciting and much more challenging area to be in – compared with drudgery of enterprise software development (fatware – where you don’t care about efficiency, you just slap on more memory, disk, cpu’s). Code-for-code embedded systems development pays a lot more too :-). I guess because Java programmers are a dime a dozen, but embedded systems need a tighter subject matter expertise. Compared with enterprise software development, one thing that sets embedded systems apart is the meticulous attention given to code correctness, efficiency, and reliability.
I have to thank the Slug for getting me into the world of embedded. It got me into learning about embedded Linux systems, embedded hardware, ARM processors, and 8-bit microcontrollers.
Surprisingly very little has changed since the Zilog Z80 (years ago) in terms of how they work. What has changed is that the CPU and all its peripheral components (RAM, EEPROM, Flash, USART, ADC, DAC, clock circuitry) have been all compressed into a single unit – the microcontroller (uC or MCU). And the cost typically around $2 and consumes typically less than 1W (compare that with $200 and 40W of CPU of PCs – I know it’s an unfair comparison, but how often big wig consultants propose CPU driven solutions to do an MCU’s job).