Alan Kay: ".. people who love software want to built their own hardware .."
Embedded Systems
Most 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.
![[Atheros AR2315]](/img/lafon2202dark.jpg)
[Photo: © Wolf Paulus 2009]
Inside ...
- 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
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.
![[Arduino Board with the ATmega168]](/img/ardu168-4.jpg)
[Photo: © Wolf Paulus 2006]
Inside ...
- 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
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.

[Photo: © Dallas Semiconductor / Maxim-IC, 2001] Click image to turn over
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.)

[Photo: © Wolf Paulus, 2003]
- 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)
This prototype is based on the all-new high speed DS80C400 microcontroller.

[Photos: © Wolf Paulus, 2004]
- 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. More details can be found here and here.

[Photos: © Wolf Paulus, 2004]