Powerful AFSK modem platform
Go to file
2014-04-30 13:26:54 +02:00
bertos TCP mode 2014-04-28 17:47:32 +02:00
Design Update fritzing file 2014-04-30 13:26:54 +02:00
Modem TCP mode 2014-04-28 17:53:43 +02:00
.gitignore Added schematics 2014-04-29 21:26:55 +02:00
buildrev.h Updated Microduino PCB 2014-04-29 23:03:38 +02:00
flash MP1 protocol receive implemented 2014-04-04 11:17:47 +02:00
Makefile Working 2014-04-03 22:21:37 +02:00
Modem.project Working 2014-04-03 22:21:37 +02:00
Modem.workspace Working 2014-04-03 22:21:37 +02:00
project.bertos Working 2014-04-03 22:21:37 +02:00
README.md Update radme 2014-04-29 22:34:19 +02:00
VERSION Working 2014-04-03 22:21:37 +02:00

MicroModem

MicroModem is an educational implementation of a 1200-baud AFSK modem. This implementation is targeted at the Atmega 328p microprocessor used in many Arduino boards and spinoffs. It can be build very easily with an Arduino board based on the Atmega 328p, and around 15 common electronics components. The repository contains schematics and PCB layouts for both an Arduino shield, and a PCB suitable for stacking on the Microduino (which I am using for this project myself). The PCBs are currently untested, so don't trust them too much ;) I have just ordered a few samples and will assemble and test them as they come in. The schematics should be rather sound, they were drawn from the current working perfboard prototypes I have, but if you find an error, please let me know.

I am currently writing an illustrated tutorial to go along with the source-code, but even now, the source code is extremely well documented, and all the concepts are explained in great detail in the comments.

By default MicroModem uses a very simple protocol dubbed MP1. The protocol enables end-to-end transport with forward error-correction and compression. Compression is courtesy of the excellent Heatshrink library. MP1 can also encapsulate TCP/IP traffic from a host computer with SLIP.

MicroModem was created as an easy to build, low-cost and very flexible radio-modem. It also supports the AX.25 implementation in BertOS, so it can be used with that for APRS and the likes very easily.

While this project is based on Arduino hardware, it does not use the Arduino IDE. The project has been implemented in a normal C with makefile style, and uses some libraries from the open source BertOS.