Microcontrollers And Node.js, Naturally

We see a surprising amount of projects using Node.js, but despite this we haven’t seen much JavaScript running microcontrollers, even the ARM powered Raspi or BeagleBone. The folks at Technical Machine want to change that with a very cool dev board designed to be an Internet-connected JavaScript running prototyping device from the very beginning. It’s called Tessel, and brings some very cool tools to any maker’s workbench.

On board this little… board is an ARM Cortex-M3 running at 180 MHz, 32 Megs of Flash, 32 Megs of SDRAM, and a TI CC3000 WiFi module that we’ve heard so much about. The 16-pin GPIO can connect to other Tessel modules that allow for servos, accelerometers, micro SD cards, and a whole bunch of other sensors for just about any project imaginable.

Aside from having WiFi built in from the get-go, Tessel also has some Arduino compatibility, allowing it to work with existing shields and code. It seems pretty cool, and we can’t wait to get our hands on one when it launches in September.

34 thoughts on “Microcontrollers And Node.js, Naturally

    1. It’s probably because there are more JS people out there than people who know their way around low-level.

      The only thing I’m worried about is that if this becomes popular, it’s going to screw up my Google results even more. These days it goes a little something like this in my browser:

      me: “STM32 set ADC rate”
      Google: here’s a buttload of results for arduino. I put the one that explains ADC to 5 year holds on top.
      me: goddamnit. “STM32 Chibios set ADC rate”
      Google: here’s some results about CMSIS from the ST forum, a few from mbed and what you’re looking for is on result page 2.

        1. Thanks for the tip. Problem is that those keywords aren’t mutually exclusive – if the sites you’re looking for contains either of those words you want demoted then it’s back to square one.

          On a related note, Google this one: “snail pest”. On my computer it gets corrected to “snail pets”. Oftentimes it corrects “Java” to “JavaScript” for stuff that is found in both languages like “timestamps”.

          1. Put one of the terms in quotes, like this: snail “pest”

            That should force Google to search for “pest” only, not “pets”. Also, you can disable Google’s autocorrect by adding &nfpr=1 to the search URL. The latter might be a setting in your Google preferences if you have an account, but you could do it with a simple browser hack if not.

      1. I feel your pain. I dislike the Arduino shields and the weird mounting arrangement. However, I do quite a bit with the “bare” AVR boards like those from PJRC or MattairTech. Problem is.. those boards and others like it advertise themselves as being Arduino compatible despite not having the annoying shield layout.

  1. I don’t know if I understood this well… Do they claim they can run node.js on a M3? Hard to belive… really hard, specially if you don’t have an operating system running (ie: linux), what about libc, libvu dependencies on the system?

    Maybe it is just a wrapper on a local node server that sends commands to the board?

    1. yeah, if you are unable to perceive I/O pins

      if you are unable to distinguish ARM and MIPS

      if you don’t bother to measure power consumption

      if you think “no documentation” and “full documentation” are the same thing

      then sure they are similar

  2. No FAQ. Is internet access required as it is for the electric imp? Nothing answers that question. How do I program it? Do I need to do that through a website or do I do it locally on my own network? How do I tell it how to get onto my wifi which doesn’t broadcast an SSID and employs WPA encryption? More information about the architecture of how it’s programmed would have been nice.

    1. Node.js is all about events and asynchronous programming. Also, it’s nice when you deal with basic structured data, e.g. in form of JSON. Well, but in the light of building web applications around connected devices, I am currently exploring this in a book here: embeddednodejs.com/chapters.html

  3. Javascript is the default / built in language for the beaglebone, They just call it “bonescript”. Probably because it comes with an built in library with “arduino” compatible function names for the hardware interface. Their marketing could have been a bit better…

    I won’t use it though, I bought one (instead of Raspi) because of the 2 built in “real time engines”, which are supported by LinuxCNC (EMC2), but that’s still in the pipeline…

  4. I really like this board. Can be programmed with USB and/or wifi.

    That said, open source hardware part might not mean so much since that BGA Cortex M3 micro and RAM there will definitely make it hard to build your own.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.