Update README.md

This commit is contained in:
Mark Qvist 2014-06-18 11:58:56 +02:00
parent 5495730c92
commit 904394502e

View File

@ -1,22 +1,22 @@
MicroModem
MicroAPRS
==========
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.
MicroAPRS is the APRS fork of [MicroModem](https://github.com/markqvist/MicroModem). It can be build very easily with an Arduino board based on the Atmega 328p, and around 15 common electronics components.
Please read the "Quickstart.pdf" in the Documentation folder for some pointers on building the modem!
Right now the APRS specific documentation is lacking, so all the docs included in this repository is directly from MicroModem, but it should still offer good pointers on building the modem, and getting started. The only difference is the firmware, and I will include instructions for communicating with the modem over serial shortly.
Currently a simple serial control protocol is implemented, while full KISS TNC functionality will be implemented soon.
To connect to the modem use 9600 baud, 8N1 serial. By default, the firmware uses time-sensitive input, which means that it will buffer serial data as it comes in, and when it has received no data for a few milliseconds, it will start interpreting whatever it has received. This means you need to set your serial terminal program to not send data for every keystroke, but only on new-line, or pressing send or whatever. If you do not want this behaviour, you can compile the firmware with the DEBUG flag set, which will make the modem wait for a new-line character before interpreting the received data. I would generally advise against this though, since it means that you cannot have newline characters in whatever data you want to send!
![MicroModem](https://raw.githubusercontent.com/markqvist/MicroModem/master/Design/Images/1.jpg)
The repository contains schematics and Eagle PCB files for a Microduino module. There is also fritzing sketches for both an Arduino shield and a Microduino module, with notes so they are easier to understand. I have had the eagle PCB fabricated, and it is working great, so you can use that if want to make your own board.
![MicroModem](https://raw.githubusercontent.com/markqvist/MicroModem/master/Design/Images/PCB-lo.png)
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](https://github.com/atomicobject/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 your normal C with makefile style, and uses libraries from the open source BertOS.
Visit [my site](http://unsigned.io) for questions, comments and other details.