Ben wrote in to share his latest labor of love, a homebrew VoIP-capable web server running on a… wait a minute, on a PIC? He admits that he isn’t the first to attempt this, but the VoIP routing bit is pretty exceptional.
His system is based around the PIC18F26K20 microcontroller. To cram everything into 4MB of storage and 4k of RAM, the entire system is written in assembler. The example TCP/IP stack provided by Microchip wasn’t up to his standards, so he went and wrote his own. Here are some of the features:
- Homemade TCP/IP stack
- supports 4 concurrent HTTP connections
- various timeouts to keep the board “in line”
- ~220kBps maximum transfer rate
- 4MB onboard storage, programmed via TFTP
- Custom lightweight file system (can open files by name!)
- PIC18F26K20 microcontroller clocked at 64MHz
- HTTP, Telnet, and TFTP servers
- audio input/output, 8-bit @ 8kHz sampling
- very basic VoIP capability with phonebook and automatic address resolution
- an alarm clock with separate settings for each day of the week
Project documentation appears to be served by the device itself, which is pretty cool, however there is a tiny capacity problem since it can only handle 4 concurrent HTTP connections. Anyone know of a mirror?
Update: a mirror of the project site is available here