Tessel is a new generation of development boards powered entirely by Node.js. and after a successful Kickstarter, they have now reached the level of accessibility for everyone. What is it, how is it different from other hobby boards, and what are its potential uses?

What is Tessel?

Tessel is a clean slate for Node.js development, so everything is written in JavaScript and runs on Google’s super-fast Node engine. It’s $99 including your choice of basic module, or $125 with an advanced module like RFID.

In terms of hardware, Tessel has:

  • Processor ARM 180 MHz
  • 32MB SDRAM
  • 32 MB Flash
  • 20 GPIO pins
  • Built-in WiFi (although the signal is weak so adding your own antenna is recommended)

The built-in WiFi is a great feature: in one simple command, my Tessel was connected to my home network, the details of which are then saved separately for all the programs you add, so that it will automatically reconnect every time.

There is currently no dedicated IDE required (or provided) for Tessel programming. Since it’s standard JavaScript, you can use any text editor or a programming oriented editor like Sublime Text (check out my review) syntax highlighting. Loading code into Tessel is done through the command line with one simple command. As with any Node application, there are thousands of software libraries available, such as a simple web server, that can be inserted into your application using NPM (Node Package Manager).

tessel example

There are 14 different hardware modules to add additional features such as infrared or RFID, although some are not yet shipping. They work similar to Arduino shields by inserting one of the module’s four Tessel connectors. If this happens in the same way as in Arduino, we should expect third party add-ons to appear pretty soon.

In the picture below: RFID and IR modules are connected to Tessel through 3 of 4 expansion ports.

tessel expansion boards Comparison with Raspberry Pi

Much of what Tessel can do can already be achieved with a Raspberry Pi. : for example, the Pi can run Node.js, albeit very slowly (we tried it in the Heimcontrol home automation project Home Automation Guide); and it has a set of GPIO pins for interacting with sensors. Like the Pi, Tessel’s GPIO pins operate at a maximum voltage of 3.3V, although the board provides power at 5V.

Ease of use is the main differentiating factor. Installing Node.js on a Raspberry Pi is no easy task, and even with desktop graphical features disabled, Node runs at a snail’s pace. You will need to remotely connect to the Pi to edit files, and then there will be a wireless setup problem.

Uploading Node.js code to Tessel is a single command, just like connecting to WiFi. And thanks to the nodal launch of Node, this happens much faster.

Of course, you can’t use Tessel like a cheap general purpose computer like the Pi. Pi is a jack-of-all-trades and jack-of-all-trades; Tessel is the master of the newly launched Node. The Pi also has significantly more RAM and more storage space for your apps thanks to SD card storage.

Comparison with Arduino

Arduino is an extremely cheap microcontroller (you can even build one yourself) available in a variety of form factors. With a mind-boggling amount of tutorials and additional functionality available through standard components as well as patch panels, this makes the perfect low cost starter in the electronics world. It uses a dedicated programming language based on C and an application development environment (IDE), but picking it up is no less difficult than Node/JavaScript, especially if you already have a little experience.


Programming in Node makes things like responding to sensors easier thanks to the event-based paradigm. In Arduino reacting to sensors means adding a function to read the value on every cycle of the cycle. With Node, you simply attach to an event, which is then fired when a signal is encountered.

The processor power and memory of the Arduino is quite limited compared to the Tessel — it can’t handle anything heavy on software. Even the largest of the real Arduino boards only offers 128 KB of flash memory with 8 KB of RAM.

However, if your project is heavily electronics based, or you need more fundamental access to things like interrupts and timings, you might want to stick with the Arduino. The cost is also a big difference, of course.


In theory, Tessel should work with most NPM packages. This is buggy in practice, and at the time of writing, neither Express nor Sockets.io were fully functional due to incompatibilities in the core HTTP modules. I have no doubt that they will be fixed in time, but right now it is a bit limiting.

While the expansion module hardware is a good package, the Infra-Red functionality is not as easy to work with as the Arduino. — this requires the use of decoded buffers, and not the standard signal type + hex code that we are used to. Again, improvements are promised here later.

The WiFi antenna also has terrible range — ideally, we’re talking in the same room — and requires nasty fine soldering to improve it (although the instructions on how to hack it are very clear). The documentation also suggests that the WiFi chip may have issues with 802.11n speeds and 5GHz networks, although I was at least able to connect it to my 2.4GHz 802.11n network. Turning on a switch to hack an antenna with a pre-soldered external connector would be very helpful, and not everyone is confident with a soldering iron.

Why is tessel good?

Internet of Things . Tessel has something to like, but it’s still early. Built-in WiFi means it’s perfect for a new generation of interconnected devices; supporting Node from the ground up should allow for fast and easy implementation of JSON APIs or simple server stacks.

The Tessel is worth a look — even a potential contender for the Arduino crown — but I would wait until some of the wrinkles are ironed out. And if you decide to buy it, you will find great DIY Tessel tutorials with us that are worth checking out.

Похожие записи