• Stars
    star
    206
  • Rank 184,105 (Top 4 %)
  • Language
    C
  • License
    Other
  • Created about 10 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Atmega328p-based 1200 Baud AFSK radio modem

MicroModem - Deprecated Firmware

Please note that the firmware in this repo is deprecated! For a newer, much better general purpose firmware, use MicroModemGP. For an APRS-oriented firmware use MicroAPRS

There is now a completely reworked hardware and software platform based on the legacy of MicroModem, called OpenModem, with many more features and a more flexible implementation.

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.

Please read the "Quickstart.pdf" in the Documentation folder for some pointers on building the modem!

If you want to use MicroModem for APRS, check out the MicroAPRS. This fork is created specifically for APRS.

MicroModem

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

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 your normal C with makefile style, and uses libraries from the open source BertOS.

Visit my site for questions, comments and other details.

More Repositories

1

Reticulum

The cryptography-based networking stack for building unstoppable networks with LoRa, Packet Radio, WiFi and everything in between.
Python
1,487
star
2

NomadNet

Communicate Freely
Python
405
star
3

MicroAPRS

APRS fork of MicroModem
C
244
star
4

Sideband

LXMF client for Android, Linux and macOS allowing you to communicate with people or LXMF-compatible systems over Reticulum networks using LoRa, Packet Radio, WiFi, I2P, or anything else Reticulum supports.
Python
200
star
5

LibAPRS

An APRS library for the Arduino IDE
C++
189
star
6

OpenModem

Powerful AFSK modem platform
C
163
star
7

LXMF

Lightweight Extensible Message Format for Reticulum
Python
129
star
8

RNode_Firmware

Firmware for the RNode radio interface
Python
114
star
9

tncattach

Attach TNC devices as network interfaces
C
104
star
10

MicroModemGP

General purpose firmware for MicroModem with forward error correction and larger packet sizes
C
58
star
11

MidiKatapult

Custom layout mapper for the Novation Launchpad
Processing
27
star
12

rnodeconfigutil

Python
22
star
13

LoRaMon

LoRa packet sniffer for RNode hardware
Python
21
star
14

MicroDigi

Standalone digipeater firmware for MicroModem
C
17
star
15

WiPacket

A simple WiFi raw packet interface
C
15
star
16

ArduLASER

Arduino based laser controller
Processing
10
star
17

TelemetryKit

Arduino library for 1200-baud AFSK FPV audio-channel telemetry
C++
5
star
18

openmodemconfigutil

Configuration utility for OpenModem
CSS
4
star
19

reticulum_website

Website for Reticulum
CSS
4
star
20

otp

One-Time Pad Helper
C
2
star
21

rnview

Remote view utility for Reticulum
Python
2
star