Skip to content
Branch: master
Go to file
Code

Latest commit

rmeister authored and arms22 committed 8e369c5 Aug 18, 2016
Update of README (#6)
changed intro text
added links to projects based on SoftModem
added section about supported boards
changed picture of schematic to one that includes AIN1

Files

Permalink
Failed to load latest commit information.

README.md

SoftModem

SoftModem

SoftModem is a wired, low-cost and platform independent solution for communication between an Arduino and mobile phones. It uses the phone's audio jack and Bell 202 modem-like FSK encoding with up to 1225 bit/s. Check out this blog post.

Projects based on SoftModem:

Install via Arduino Library Manager

Open the Arduino Library Manager from the menu: Sketch → Include Library → Manage Libraries.... Then search for 'SoftModem' and click install.

Manual install

Create a folder 'SoftModem' inside your libraries folder and place these files there.

Supported Boards

  • ATmega328: Arduino Uno / Nano / Pro / Pro Mini / Fio
  • ATtiny85, ATmega32U4: not implemented yet, contributions welcome!
Board TX pin RX pin AIN1 pin Timer Notes
Arduino Uno 3 6 7 2

Usage

This is an example sketch that forwards data to/from the serial port.

#include <SoftModem.h>

SoftModem modem = SoftModem();

void setup() {
  Serial.begin(115200);
  Serial.println("Booting");
  delay(100);
  modem.begin();
}

void loop() {  
  while(modem.available()){
    int c = modem.read();
    if(isprint(c)){
      Serial.print((char)c);
    }
    else{
      Serial.print("(");
      Serial.print(c,HEX);
      Serial.println(")");      
    }
  }
  if(Serial.available()){
    modem.write(0xff);
    while(Serial.available()){
      char c = Serial.read();
      modem.write(c);
    }
  }
}

Notes

SoftModem uses Timer2, therefore you can not make use of the analogWrite() function for pins 3 and 11 in your sketch.

Hardware

A shield is available here or here. You can also build your own. Here is the schematic:

Schematic

##License BSD 3

You can’t perform that action at this time.