Build your idea faster.

Tessel 2 is a robust IoT and robotics development platform. Leverage all the libraries of Node.JS to create useful devices in minutes with Tessel.

Order from Seeed Studio (China/Global)Order from SparkFun (USA/Global)

Tessel 2 Features

Everything you need to get up and running.

  • 2 Tessel Module ports
    add sensors and actuators in one step
  • 2 USB ports
    use peripherals like cameras and 3G/4G dongles
  • 802.11bgn Wifi
    connected out of the box and wirelessly programmable
  • Ethernet
    an ultra-reliable, wired connection
  • 580MHz Mediatek MT7620n
    execute your program faster
  • 64 MB DDR2 RAM & 32 MB Flash
    plenty of space for your code
  • 48MHz Atmel SAMD21 coprocessor
    realtime I/O and better power management
  • microUSB
    power and tethered programming

Plug & Play Module Ecosystem

Prototype fast with modular hardware.

Interact with the physical world from sensing to actuation to connecting with other devices. Each module has an open source library on NPM, with instructions and tutorials available online. It's literally plug, npm install, and play.

High Level Hardware APIs

Build your application in minutes.

Tessel 2 runs JavaScript and supports NPM (the Node package manager)— that's HTTP, Twitter, web server, color, and async right out of the box.

Install
npm install t2-cli -g

Add Library
npm install ambient-attx4  

Get Online
t2 wifi -n [ssid] -p [password] 

Tessel 2 also has the capacity to support multiple languages– see samples of Rust and JavaScript in the tabs below.

JavaScript
Rust
/* ambient.js example */
// this example streams sound data from // the ambient sensor every 0.5 seconds var tessel = require('tessel'); var ambientlib = require('ambient-attx4'); var WebSocket = require('ws'); // Connect to our ambient sensor. var ambient = ambientlib.use(tessel.port['A']); // Open a websocket to our app. var ws = new WebSocket('ws://awesome-app.com/ambient'); // When the connection is established ws.on('open', function () { setInterval(function () {// read some sound level data ambient.getSoundLevel(function(err, sdata) {if (err)throw err; sdata.pipe(ws); }) }, 500); // The readings will happen every .5 seconds });
/* ambient.rs example */
extern crate tessel; extern crate ambient_attx4; fn main() {let port = tessel::port("a").unwrap(); let mut ambient = ambient_attx4::Ambient::new(&port).unwrap(); loop {let sound_level = ambient.sound_level().unwrap(); println!("Sound: {}", sound_level); } }

Use your favorite text editor and libraries to program Tessel 2, just like any web development environment. Uploading new code is as easy as tessel run!

Run Code
t2 run ambient.js

USB Modules

Tessel has two USB ports. Plug in USB modules and control them with a simple script.

JavaScript
Rust
/* ambient-camera.js example */
// this example records video from a camera // when a certain sound level is reached var tessel = require('tessel'); var http = require('http'); // set up camera var cameralib = require('camera-usb'); // set up ambient sensor on port A var ambient = require('ambient-attx4').use(tessel.port['A']); // set a sound trigger ambient.setSoundTrigger(0.6); cameralib.find(function(camera) {// stream some video when sound is sensed ambient.on('sound-trigger', function(){var req = http.request({ hostname: 'example.com', path: '/upload', method: 'POST' }, function (res) { res.pipe(process.stdout) }); camera.captureStream(2000, 'mjpg').pipe(req); }); });
/* ambient_camera.rs example */
extern crate hyper; extern crate camera_usb; extern crate tessel; extern crate ambient_attx4; fn main() {let mut camera = camera_usb::find().expect("Could not find camera"); let port = tessel::port("a").unwrap(); let mut ambient = ambient_attx4::Ambient::new(&port).unwrap(); let mut client = hyper::Client::new(); loop { ambient.wait_for_sound_trigger(0.6); let mut video = camera.capture_stream(2000, camera_usb::Format::MJPG); let mut res = client.post("http://example.com/upload") .body(&mut video).send().unwrap(); } }


Combine USB and 10-pin modules and run them with the same script.

Run Code
t2 run ambient-camera.js

Clap to trigger camera
REC
Camera is off

Trusted by

Open Source

Just like the original Tessel, Tessel 2 is open source software and hardware. Contributions are welcome!

The Nitty

  • Programmable in JavaScript
  • Planned support for Rust and other languages
  • Tessel Modules for added hardware capabilities
  • Runs Node.js
  • Deploy over USB or remotely by WiFi
  • CE and FCC certified
  • MicroUSB programming and power
  • Supports 10/100 ethernet

The Gritty

  • 580MHz Mediatek MT7620n
  • Linux built on OpenWRT
  • 802.11bgn WiFi
  • WEP, WPA, WPA2-PSK, WPA2-Enterprise
  • 64MB DDR2 RAM
  • 32MB Flash
  • 16 pins GPIO, 7 of which support analog in
  • 2 USB 2.0 ports with per-port power switching

FAQ

Stay Updated

Sign up to receive a periodic (monthly) newsletter about Tessel news.
"This Week in Tessel" is where we highlight the latest news, projects, and events, from code, to community, to hardware manufacturing.

Order from Seeed Studio (China/Global)Order from SparkFun (USA/Global)