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
.
12 thoughts on “Homebrew VoIP server on a PIC”
Comments are closed.
ADVERTISEMENT
Join Make: Community Today
There’s a mirror at http://web.ics.purdue.edu/~blaskows/embedded_mirror/index.htm .
Thanks Ben!
Mirror? That’s what the coral cache is for.
http://benlaskowski.is-a-geek.net.8000.nyud.net/
Hey, I like that. I think the original website went down too quickly, though, the cache site isn’t coming up either.
This line from the summary is awesome.
“Besides, their code is a bit bloated for what it does (upwards of 30k when compiled).”
Hehehe, I have a sad feeling that just the markup on this page describing the project is that big. What a bloated world of bits we live in!