First Look: Tessel 2 Embeds Node.js in Your Project for 35 Bucks

Technology
First Look: Tessel 2 Embeds Node.js in Your Project for 35 Bucks
The new Tessel 2 board from Technical Machine.
The new Tessel 2 board from Technical Machine.

Earlier today Technical Machine,ย the people behind the Tessel,ย released the Tessel 2, their next generation board. We’ve taken a lookย atย the original Tesselโ€”along with the Espruino boardโ€”before, and as I’ve said elsewhere I think these new Javascript powered boards are rather intriguing.

The Javascript community already has an interest in hardwareโ€”you only have to look at nodecopter to see thatโ€”and the arrival of boardsย that are both Javascript-native and event-based wasย met with a lot of interest.

But I found these boards intriguing, notย just because they’re bringing the web developersย to hardware, but because they seemโ€”at least to meโ€”to be the beginning ofย a new generation of event-driven micro-controllers.

The new Tessel 2 is less than half the cost of its predecessor, butย is a lot more capable. Additionally,ย Technical Machine is offering the ability toย order custom batches of the board with only the parts of the board that you need populated, and to bakeย Tessel Modules directly ontoย the main circuit boardโ€”instead of using the edge connectorsโ€”at the time you order.

Effectively they teamย at Technical Machine have tried to design the board to allow it to be embedded inside products. Thisย board has beenย built from the ground up for pro-makers, who are looking to build Internet of Things thingsย and turn their Kickstarter projects around quickly, rather the maker-hobbyists looking to build projects.

I talked withย Jon McKayโ€”one of the co-founders of Technical Machine, the people behind the Tesselโ€”ahead of today’s release about the new board, how it compares with the original Tessel board, and how he sees the new boardย fitting into the current market.

Do you see this board aimed more at pro-makers than makers? It seems to be designed to prototype products rather than build projects?

Yes, thatโ€™s mostly accurate. We are still very interested in the prototyping stage and experience, but we now want to also help the development and manufacture of those products once they’ve matured.

If so, do you see this board as a direct competitor to the Intel Edison and Raspberry Pi Compute module?

Yes, all of these tools exist in the same space. We see two ways we can ย improve the hardware ecosystem to help product developers. We think the prototyping experience could be much improved and made more accessible with a first class code deployment experience that abstracts system management and allows you to simply write code. We don’t think our customers need to spend upfront time crawling through data sheets, maintaining a Linux distribution, soldering, meticulously writing low-level code, etc. We also saw many of the customers of Tessel, Raspberrry Pi, and Edison run into a wall when it comes to going into production. Most of that process is entirely opaque and we want to build a more transparent pathway.

In addition, we want to continue building entirely open source software and hardware implementations- something other platforms have failed to provide. We have a growing library of first-class open source software and hardware modules which means our customers can be confident that their Tessel hardware is going to work out of the box.

If the new Tessel is intended to be embeddedย directly into products what sort of long term availability guarantees are you offering to manufacturers?

Weโ€™re still working on the specifics of our Long Term Support policy but we anticipate supporting and manufacturing Tessel 2 or a form factor equivalent, for at least 4 years. In addition Tesselโ€™s software and hardware stack is open source in any case.

One of the reasons why there has been problems embedding boards like this into products is that theyโ€™ve generally lacked the necessary qualifications for shock, temperature and EMI that manufacturers in industry require. Does the new Tessel carry these?

The customers we’ve been working with so far haven’t expressed a need for shock or temperature qualifications but we’re happy to work with customers who do have those requirements. Tessel 2 will be CE and FCC certified by the time we ship.

The original Tessel board was based around an ARM Cortex M3 ย and had a CC3000 WiFi radio onboard. Does the new board have similar sorts ย performance?

Tessel 2 features a 580MHz Mediatek 7620N SoC for most processing and WiFi (802.11b/g/n) communication. A particular strength of this chipset is Wifi throughput as fast as 300Mbps, compared to 11Mbps of the CC3k, and itโ€™s powered by an open and robust IP/TCP stack. JS execution is 1-2 magnitudes faster than the original Tessel. The SoC manages the two USB ports available for Tessel USB Modules (which will be available in August). Tessel 2 also features a Cortex-M0 co-processor for real time communications with our module ports.

In terms of power consumption, Tessel 2 is comparable to Tessel 1. In addition, we enabled Tessel 2 to enter sleep modes (in deference to the coprocessor) and power control over module ports, allowing it to enter a lowest power state possible while still being useful.

Are you using the same Lua-based Javascript stack as the first Tessel board, or are you working with a different run time?

No, we are not using the Lua-based JavaScript stack. We will be leveraging (and contributing back to) openWRT with the standard io.js/Node runtime which means we can offer near 100% compatibility.

The Tessel found a home with the node.js community, has the new board been designed with their input in mind? Or are you looking at a different market with V2?

Tessel 2 was absolutely designed in response to the input of the Node community. The biggest concerns raised by the Node community with the original Tessel was that they wanted better JS compatibility and improved WiFi reliability. We’ve delivered that with Tessel 2. The Node community is extremely active, vocal, and very adept at building on top of itself and we want to carry that enthusiasm over to our hardware ecosystem. We want to take the fantastic tools the community has developed and make them accessible to software developers looking to build hardware products.

Is itย possible to make use of node.js modules with native C and C++ code?

Weโ€™re happy to say that it will be possible to make use of modules with binary addons using Tessel 2. We’ll be marrying Tessel 2’s build process to a server that pre-builds binary archives for the device, so users don’t even need a compiler on their host system (but can choose to if they’d like).

Can you tell me a bit more about the hardware modules. Presumably theyโ€™re not backwards compatible with the original board, but is the code backwards compatible with the original library code?

We’ll be moving a handful of the 10-pin form factor modules over to USB Modules (BLE, GPRS, MicroSD, Camera, Audio) because these high-power modules can be found with better quality and more cheaply in a USB form factor. The original Audio and Camera modules will not be compatible with Tessel 2 (due to overly complex technical constraints). The low-power modules are now our “microcontroller” line, retaining our simple 10-pin form factor, suited for direct and complex I/O manipulations and retains full compatibility with the original Tessel.

You mentioned when we talked just before you shipped the original board ย that in the long term the Tessel could support not just Javascript, but ย C/C++, Lua, Rust, Go and even Python and Ruby. Why did you chose to ย support Rust as the next language?

We chose Rust because we wanted to offer a lower level alternative for folks who want the speed or memory safety benefit of a compiled language. We’ve been following the development of Rust (some employees contribute code) and we’ve been really impressed with the language. We believe Rust is a much better designed and more approachable alternative to C or C++ and we’re investigating cross-language abstractions.

The Raspberry Pi Foundation has famously claimed that theyโ€™re never going to EOL a product. Is the original board still going to be kept around? If not, is there going to be any support for the original form factor?

We’ll continue to submit small bug fixes and maintain the original Tesselโ€™s runtime but a majority of our engineering effort has been shifted over to Tessel 2. Of course, all components of the original Tesselโ€™s hardware and software is open source so users can take development into their own hands if they feel so inclined.

I must admit to being surprised by Technical Machine’s choice of processor. Choosing to build a MIPS based board, when most other people are choosingย ARM, is a bold move. Especially given the difficulties of node.js on the MIPS platformโ€”historically the V8 engine on which node.js was built didn’t support the MIPS architecture and it was only towards the middle of last year when this problem got resolved.

At least as far I can tell however, MIPS is still a second-class citizen, and I’m unsureย as to what support it’s going have in the long termโ€”especially considering the forking of node.jsย itself. Technical Machine might well find themselves carrying most of the responsibility of maintaining the MIPS port, which would be good for us and the rest of the community, but not so good for them.

However at least to the end user that’s going to be almost entirely hidden, and the promise of a real node.js compatible, or at least io.js compatible which is more-or-less the same thing, board is tantalising. Especially attractive as so many node modules rely on native C or C++ under the hood, and this boardโ€”unlike the original Tessel or it’s competitorsโ€”will support them.

The new Tessel board is available for pre-order from today. It’ll cost $35 in low volumes, but you can expect that to drop as low as $30 in large volumes. The board is expected to ship inย August, and if you want to be part of the first manufacturing run of 3,500 you’ll need to order by the 4th of April.

Tagged

Alasdair Allan is a scientist, author, hacker and tinkerer, who is spending a lot of his time thinking about the Internet of Things. In the past he has mesh networked the Moscone Center, caused a U.S. Senate hearing, and contributed to the detection of what wasโ€”at the timeโ€”the most distant object yet discovered.

View more articles by Alasdair Allan
Discuss this article with the rest of the community on our Discord server!

ADVERTISEMENT

FEEDBACK