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.
Hackaday did do a post on Espruino (another JS Microcontroller) last year: http://hackaday.com/2012/10/05/a-javascript-interpreter-for-arm-micros/
node.js FTW!
http://xseignard.github.io/2013/06/25/interfacing-leap-motion-with-arduino-thanks-to-nodejs/
How comes that the upper mounting hole of the PCB in the picture is somewhat exactly the opposite of round?
I’m going to wager a guess that the picture is of a development prototype that was quickly/cheaply fabbed for promo purposes.
the holes have been darkened with Mspaint not to see what’s behind
Javascript? Do we really need that?
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.
you can always -arduino and -mbed
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”.
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.
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.
I said the same thing, lol. I’m all for using high level languages on chips but, JavaScript!? Really!?
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?
its almost like tp-link, except its 2x slower and probably 2x more expensive
Carambola seems to have the hardware side nailed: http://8devices.com/carambola-2 Wifi, Linux, insanely small and cheap. I even had Espruino working on it 5 months ago – but there was no real interest… http://www.youtube.com/watch?v=aCWG6Z0Dgx8
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
Giving JavaScript direct hardware access. What could possibly go wrong?
It’s the One True Programming Language.
perhaps you can elaborate why javascript is more or less secure than any other language in this application
Well I for one love the idea. Javascript is a pleasure to _prototype_ in. Making huge applications – meh. But fiddling around? Lovely.
The little “open source” logo is conspicuously absent from the project page
Without source code we must just assume it contains hidden backdoor access
They have a github repository but it’s just some demos, the core code is apparently closed
No love from me then.
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.
They now have a FAQ at http://blog.technical.io/ which mostly answers some of your questions.
This is awesome…
…but I still don’t ‘get’ Node.js
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
So no c/c++? No assembly? Just JavaScript?
I will also have to agree with others, a severe lack of information and I can’t take a development board serious that is closed source.
See this tweet: https://twitter.com/technicalhumans/status/367797493871812608
1) “Open Source Through and Through”
2) Yes, “bare metal” programming is encouraged.
Perhaps their biggest blunder is not writing this in flashing neon letters at the top of their webpage…..
Yeah, there actual device webpage is useless.
However, if you have a look at their blog it is a wealth of information.
http://blog.technical.io/
They should have lead with it.
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…
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.
How have you not seen JavaScript running on an ARM board? Beaglebone has “bone script” ( http://beagleboard.org/Support/BoneScript ) – a node.js library that exposes access to the low level hardware stuff.
Javascript and C to rules us all