Join our list

Subscribe to our mailing list and get interesting stuff and updates to your email inbox.

Thank you for subscribing.

Something went wrong.

We respect your privacy and take protecting it seriously

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?