top | item 6333406

Tessel, a NodeJS-based microcontroller

54 points| bpierre | 12 years ago |dragoninnovation.com | reply

41 comments

order
[+] waterlion|12 years ago|reply
I don't understand this craze to use JS everywhere. It's not the best language for every job. The main argument seems to be 'if you know JS you can use it in product X'. If you're not competent enough to learn another language then are you competent to write good enough JS?
[+] joeblau|12 years ago|reply
The community is one of the best development communities out there. Node + NPM have created an ecosystem with lots of contemporary tools that fall in line very well with the UNIX Philosophy. The few people that I've shown Node to have been surprised about how easy it is to use NPM and tackle dependency management.

> If you're not competent enough to learn another language then are you competent to write good enough JS?

I used to say that about Java Developers that didn't know C/C++. As I've grown, the thing I've realized is that the end user/customer/client doesn't care what you write your application in (Unless you're on a Government contract). They care if it works.

[+] egeozcan|12 years ago|reply
I think in this case there are a few reasons:

1) Node.js has a huge ecosystem and it's easy to use

2) JavaScript is known by many

3) JavaScript may not even come close to being a proper language for hardware programming but it is good enough for these kind of devices

[+] thedufer|12 years ago|reply
JavaScript is built around events and the event loop in a way that few languages are, which makes it well-suited to a hardware environment like this.
[+] bryanlarsen|12 years ago|reply
Many embedded projects these days do command and control via a small web server. So you've likely got a fair amount of JavaScript in your project anyways. The rest is often written in a combination of c and Lua. Lua might be a better language than JavaScript in isolation, but it might be better to avoid the cost of context switching your brain several times a day.
[+] jffry|12 years ago|reply
I think it's fine for rapid prototyping. It has WiFi and is positioned for internet-connected stuff. There are lots of people who use node.js and packages from npm to interface with internet services, so this gives them an easy way into working with an embedded device without a large learning curve.
[+] gfwilliams|12 years ago|reply
It's not strictly NodeJS based - According to their site it runs on top of Lua...

There's also another JavaScript microcontroller crowdfunding at the moment: http://www.kickstarter.com/projects/48651611/espruino-javasc...

[+] jffry|12 years ago|reply
AFAICT the Espruino and Tessel are slightly different. The Espruino's focus seems to be providing an ultracompact, low-power, very simple JS-powered Arduino, which (with physical adapter) could be used with existing Arduino shields. The Tessel seems to be focused more on the interfacing-with-the-internet side of things, with built-in wifi.

I think there's plenty of room for both, and it's exciting to see continued efforts towards making it easier to bridge the gap between embedded devices and the software world!

[+] mcescalante|12 years ago|reply
For the price, I still think that most developers are better off buying a BeagleBone Black for $45MSRP which can run a flavor of nix. The default "IDE" it ships with is cloud9, and has js libraries to control the pinouts, etc. JS fans can use this happily, or you can put nix on it, and just install Node.
[+] chabreck|12 years ago|reply
I agree. Even the default distro that the BeagleBone comes with (Angstrom linux) has Node preloaded onto it, out of the box. And the power that thing offers for $45 seems almost impossible to beat.
[+] jdn|12 years ago|reply
The question I have for this is, why not just use Node with Firmata on an Arduino? Anyone give me the apparent weakness of that setup that makes this more preferrable?
[+] xutopia|12 years ago|reply
I've played with Arduino and the #1 complaint I have about it is that in order to do anything I have to learn a whole lot about electronics. With Tessel you just plug a new module and npm install and you're good to go.
[+] topherjaynes|12 years ago|reply
Is there any information on when it's shipping? Read through the crowdfunding site a few times, but might have just glanced over it.
[+] egeozcan|12 years ago|reply
Isn't it a bit too expensive? I think it is, especially when considering the competition (Arduino).
[+] bryans|12 years ago|reply
I think you aren't taking into consideration the differences between this and the competition. The Tessel is intended to be a powerhouse right out of the box. For example, 160MHz compared to <20MHz, and 32MB of flash and RAM compared to 32-256kB.