Embedded SystemsPeople who are really serious about software should make their own hardware. -Alan Kay
Most recently, I added some Raspberry Pi boards to my ever growing number of embedded platforms to experiment with. While in the same price range as some Arduino boards, the Raspberry Pi is not as easy to integrate into basic embedded projects but is much more powerful and equipped with ethernet, two usb, audio and HDMI out.
- Raspberry Pi – Small Inexpensive Powerful Comparing the Raspberry Pi with 3 Arduino boards.
- Raspberry Pi – Where to start? A quick look at the Pi’s components, memory split, and boot process.
- Raspberry Pi – WiFi (Edimax EW-7811Un) Creating that bootable SDCard incl. WiFi setup.
- Raspberry Pi – Getting access via Serial Connection 3 ways to access the Pi’s UART TXD/RXD pins.
- Raspberry Pi – Enclosures Battle of the Enclosures.
- Streaming Your Webcam w/ Raspberry Pi
- Presentation: Raspberry Pi, what we have learned so far
- Raspberry Pi – Speech Recognition on device (SphinxBase and PocketSphinx)
- Raspberry Pi – Translator connecting to speech related services from Google and Microsoft
Besides everything Android of course, some of the work I’m currently doing in the embedded space evolves around the Atheros AR2315 single-chip WiFi processor, the Arduino Project, as well as designing embedded Internet devices, using Dallas Semiconductor’s DS80C390 and DS80C400 Microcontrollers.
Atheros AR2315 WiFi / Integrated 32-bit MIPS R4Kc-class Processor
This relatively simple and inexpensive router is built on the AR531x/231x Atheros WiSoC (Wireless System-on-a-Chip), a platform for which the OpenWRT project recently added a Hardware Abstraction Layer (HAL), i.e. the OpenWRT firmware can be deployed on this board.
The board features 32MBytes SDRAM (Hynix hy57V561620F) and 8MBytes Flash Memory (MX 25L6405MC-20G), in short, has all the attributes required to be added to digital playground.
- La Fonera Hacking
Does the FON have all the attributes required to be added to the digital playground?
- La Fonera (FON2100) Hardware Details
A detailed look at the La Fonera (FON 2100) hardware.
- La Fonera 2.0 (FON2202) Hardware Details
A detailed look at the La Fonera 2.0 hardware.
- La Fonera 2.0 (FON 2202) Hacking, Cleaning House
Preparing the FON 2202 for reflashing with OpenWrt or DD-WRT
- OpenWrt, Post Kernel System Initialization
A closer look at what happens when OpenWrt boots on the Fonera FON Router
- PhoneME, a JavaVM for the Fonera FON Router
A closer look at how a JavaVM could be built, packaged, and deployed into an embedded system, running the OpenWrt firmware.
- Recent conference presentation: Turning a WiFi Router into a general-purpose Network Device
Arduino is an open-source computing platform based on a simple board, and a development environment for writing software. The Arduino board hosts an Atmel MicroController chip, the AVR-ATMega8, which has 8-KByte self-programming Flash Program Memory, 1-KByte SRAM, 512 Byte EEPROM, 23 I/O pins, 6 or 8 Channel 10-bit A/D-converter, and 16 MIPS throughput at 16 MHz.
The other IC on the board is an FTDI FT232RL, a single chip USB/Asynchronous serial data transfer solution, with 256 Byte receive and 128 Byte transmit buffer.
- Small hack increases available memory by 6%
- Doubling Arduino’s amount of Flash Memory
- ATmega 8 / 168 internal clock and fuse settings
- Recent conference presentation: Arduino Fever – PHYSICAL COMPUTING
- ATmega 328, Doubling Arduino’s Flash Memory Once Again
- The $3 Arduino – Minimal Bare-Bones ATmega168 without Boot-Loader
- Extended list of 8-bit AVR Micro-Controllers, easily programmable with the Arduino IDE
DS80C390 / 80C400
Dallas Semiconductor provides several Ethernet-ready prototype boards, which include a small but powerful chipset and a Java programmable runtime environment. The chipset provides processing, control, device-level communication and networking capabilities. Most of the features of the underlying hardware are exposed through a set of Java APIs.
Here is one of my prototypes, based on the DS80C390 microcontroller.
(I added the pen to show the size of the device – and no; I’m not getting any kickbacks from Compuware.)
- 512kB of flash memory
- 1MB of NV SRAM
- 10Base-T Ethernet Controller
- Dual CAN controllers
- Dual serial ports (one RS-232 level and one +5V level)
- 10/100 Base-T
- 3 Hardware Serial Ports
- Integrated 1-Wire® Network Master
- CAN2.0B Port
- Real-Time Clock for Time Stamping
- 1MB Flash ROM for Application Storage
- 1MB NV SRAM for Data Storage
8051 Embedded Systems Projects
Other embedded projects I have worked on include 8031, 80C32, and 8051 boards as Keypad Encoder, Digital Camera Controllers, and Motion Detectors.