Tessel boards extend their capabilities by plugging in modules. It's as easy as connect, npm install, and a few lines of code to get started. There's a wide variety of modules to pick from, and they play well together. Try combinations of modules to make new devices!


Detect orientation and movement of your Tessel by measuring gravity / acceleration.

Control by tilt!

  • 3-Axis Digital Accelerometer
  • 12-bit resolution
  • Selectable ±2g/±4g/±8g scales
var accel = require('accel-mma84')
  .connect(tessel.port('a'), function () {
    // Request acceleration measurement.
    accel.getAcceleration(function (err, xyz) {
      console.log(xyz); // { x: 0.0, y: 0.0, z: 1.0 }
Preorder Now!


 Ambient Light + Sound

The Ambient sensor can detect ambient light and sound levels.

Clap to turn on the TV (paired with infrared) or know from a webapp if the lights are on at home.

  • The microphone is optimized for detecting the ambient noise level in a room or building a sound-activated device.
  • The ambient light sensor and can be used for detecting fine-grain brightness in a room.


Decode audio files or streams and output; record audio.

Make your Tessel play a tune, or listen in...

  • Decodes MP3/AAC/WMA/MIDI/FLAC/Ogg Vorbis files
  • Supports files and streams
  • Supports both headphones and line-out
  • Can record audio through an on-board microphone or line-in jack

 Bluetooth Low Energy

Allows your tesselation to work as a Bluetooth LE master or slave device.

Connect to your phone, FitBit, or other low-powered device.

  • Compatible with iOS 5+, Android 4.3+
  • Supports master mode to connect to other BLE devices and Tessels
Preorder Now!



Add the sense of sight to Tessel!
More details coming soon... Current estimated specs are

  • Supports 640x480, 320x240, and probably 160x120
  • Still image camera. May have NTSC video out
  • Current max esitmated snapshot stream speed is ~10fps for 640x480 and ~45fps for 320x240
These are all estimates and may change if we switch suppliers


Detect humidity and temperature from your environment.

Monitor your plants or exotic pets. Pull weather data from the internet and replicate a climate by hooking up relays to fan/heater/humidifiers.

  • Measure 0 to 70 °C (32 to 160 °F) with ±1° accuracy
  • Measure 0% to 80% relative humidity
var climate = require('climate-s17005')
  .connect(tessel.port('a'), function () {
    // Read temperature in Fahrenheit & humidity
    climate.readTemperature('f', function (err, temp) {
      climate.readHumidity(function (err, humid) {
        console.log('Degrees:', temp.toFixed(4) + 'F',
          'Humidity:', humid.toFixed(4) + '%RH');


Detect your global position.

Helps you figure out where you are– and where you're going!

  • Up to 1.8m accuracy
  • 66 search channels, 22 tracking channels, -165dBM sensitivity
  • Max 10Hz update rate


Connect your Tessel anywhere with GPRS/SIM card support for 2G internet!

Make a call on the Tessel phone, or have your Tessel send you texts.

  • Max downlink 85.6 kbps
  • Max uplink 42.8 kbps
  • Supports SIM cards at 1.8v and 3v


The Infrared (IR) Module can send and detect IR signals.

Use a Tessel as a remote for your TV, radio, or even another Tessel.

  • Transmits and receives from 30+ feet (line of sight)
  • Detects max 38kHz

 MicroSD Card

Reads high-density media from microSD cards.

Store pictures or other data locally on your Tessel.

  • Reads / writes microSD cards
  • Module ships with a 1GB card
var sd = require('sdcard')
  .connect(tessel.port('a'), function () {
    // Copy from "from.txt" to "to.txt"


The nRF24 Module is used for wireless communication without WiFi. It's great for low-power mesh communication between Tessels.

  • 2.4GHz operating frequency, with up to 64 different frequency bands
  • Up to 2Mbps air data rate
  • Note: only communicates with other nRF24 devices


Control high-current devices, such as power cords and appliances.

Turn your coffee maker on when the Ambient module detects light, or based on input from an app.

  • Rated for 240V and 5A
  • AC or DC current
  • Secure and remove wires with the help of a ballpoint pen. No more loose wires or screwdrivers.
var tessel = require('tessel');
var relays = require('relay-im48dgr')
  .connect(tessel.port('a'), function () {
    setTimeout(function () {
      setInterval(function () {
      }, 1000);
    }, 500);
    setInterval(function () {
    }, 500);
Preorder Now!


 RFID 13.56 MHz

Read RFID cards.

Have your pet door automatically open when their RFID-tagged collar approaches, or connect to the unique IDs of your and your friends' public transit cards for customized interactions!

  • 13.56 MHz
  • Support CharlieCards, ClipperCards, and other metropolitan cards
  • Comes with an RFID card
var rfid = require('rfid-pn532')
  .connect(tessel.port('b'), function () {
    rfid.on('read', function (err, data) {
      // Read data whenever a card is read.
      console.log('Read a card:', data);


Control up to 16 hobbyist/RC servos.

Make it move! Control locks, wheels, cords, or anything else you can think of.

  • Standard PWM output is compatible with servos of all sizes
  • Takes a separate barrel jack power connection (included with US shipments)
  • Comes with anES3001 YinYan Servoand a 5V external power jack (US-style plug)
  • Can also be used as an LED driver.
var servos = require('servo-pca9685')
  .connect(tessel.port('a'), function () {
    // Rotate servo #1 to 180 degrees.
    servos.moveServo(1, 180);