Embedded Systems

People 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.

Inside …

Raspberry Pi with breakout cable


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 based WIFI router

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.

Inside …


Arduino NG

Arduino

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.

Inside …


DS80C390 Module

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.)

  • DS80C390
  • 512kB of flash memory
  • 1MB of NV SRAM
  • 10Base-T Ethernet Controller
  • RTC
  • Dual CAN controllers
  • Dual serial ports (one RS-232 level and one +5V level)

80C400 based project

  • 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 Keypad Encoder

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.