MicroModem, For Data Transmission Explorations

modemThem kids with those Arduinos don’t know what they’re missing. A serial connection is just too easy, and there’s so much fun to be had with low bandwidth modems. [Mark] made the MicroModem with this in mind. It’s a 1200 baud AFSK modem, capable of APRS, TCP/IP over SLIP, mesh network experimentations, and even long-range radio communication.

As the MicroModem is designed to be an introduction to digital wireless communication, it’s an extremely simple build using only 17 components on a board compatible with the Microduino. The software is built around something called MinimalProtocol1, a protocol that will be received by all other listening stations, features error correction, and automatic data compression. There’s also the ability to send TCP/IP over the link, which allowed [Mark] to load up our retro site at a blistering 1200 bps.

The code is extremely well documented, as seen on the Github for this project, with board files and even breadboard layouts included. [Mark] has three PCBs of his prototype left over, and he’s willing to give those out to other Hackaday readers who would like to give his modem a shot.


  1. James says:

    I’d love to give it a shot.

  2. n1elkyfan says:

    I’d like to give it a shot too

  3. Aaron says:

    This sounds pretty awesome, I’d love to try it out!

  4. Andy Lau says:

    I’d give it a shot. Would love to see this with Ham radio

  5. gajiopiswrong says:

    why not higher baud?

    • markqvist says:

      Because it’s very difficult to get speeds higher than that over narrow and noisy RF channels. You could probably go much higher over an analog phone line, or a direct wire connection, but since I wanted this to work with more or less any kind of radio out there, the low speed was chosen :)

    • Truth says:

      If you ignore FEC for the moment, to keep things simple.
      The sample rate is 9600 samples per second
      1200 baud is just 8 samples per tone!
      The two tones, 1 is at 1200Hz and 0 is at 2200Hz

      • markqvist says:

        Exactly, and when the lowest tone is 1200 Hz, we need those 8 samples for the demodulator to accurately discern whether it is reading a 1 or a 0. Or to say it in another way, you can only fit a 1200Hz tone 1200 times in a second, hence the 1200 baud rate. That was a lot of 1200 in one sentence!

  6. dayne says:

    Sounds cool but I think HaD killed his server :P ERROR 504.

  7. ax25 says:

    Just picking apart the bits he finds fun is the most interesting. Speaker as a probe is interesting. It is more interesting as a logic probe. The use of the heatshrink library is verry intersting to me as I find playing around with un-encrypted ssh at 1200 bps on ax.25 fun, a better compression method makes more fun.

  8. Robert says:

    Let’s put lasers on this thing !
    Or use it between graphics calculators through the serial port to communicate in class.
    Nice build.

  9. x3n0x says:

    This project would be a great fit for High altitude balloon projects, or model rocket telemetry. You don’t need gobs of bandwidth for either of those, and cell, NRF chips, or Zigbee dont have the range capability for this kind of stuff. The only other options are costly rf modem modules, and even then, they don’t have that great of range either most of the time. Definitely going on my bucket list of things to try or leverage in the future! My only beef is using BERtos libs to build it, but that could be worked around too I suppose if one wanted to put forth the effort… Great project!

    • markqvist says:

      Yeah, I also would like to liberate it entirely from the BertOS libraries, which is definitely within reasonable reach, and is on my todo for this project. When I have another extended break from work, I will probably take a coding-vacation to do that :)

  10. ubuntuman says:

    Would you have another board to spare? I would like to build one as well.

  11. Brandon Nishan says:

    I would like to try out one of these boards too. I work with things directly related to this so my coworkers would find this interesting as well.

  12. Brandon says:

    I would like to try out one of these boards too. I work with things directly related to this so my coworkers would find this interesting as well.

    Edit: Didn’t know it included my name.

  13. alwyz says:

    you could call my c64 bbs with it :) udi.dyndns.tv port 6400 :)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

Join 97,758 other followers