
One of the things I see at Make: is a lot of new boards, and — at least at the moment — most of these boards try and sell themselves somehow on simplifying development for the Internet of Things.
There’s also a definite trend right now — I call it the ‘kitchen sink’ trend — to throw more, or a least different, radios onto the board. Or to back the board with a cloud service that may, or may not, be there in a years time. For those of you that follow along, you might realise that I have some reservations about that sort of thing.
My approach to each of these boards as they drop onto my desk is take them with a grain of salt, as I try and figure out “…what will this let me do that I couldn’t do yesterday.”
The Esquilo Kickstarter pitch.
Amongst these new arrivals the Esquilo board is rather interesting, as it takes the “kitchen sink” trend and stands it on its head. Fully funded, and in the closing couple of days of its Kickstarter campaign, it has everything — including the development environment — running on board.
In a similar manner to the Beaglebone Black — which ships with the Cloud9 web-based development environment on the board — the Esquilo boots with an on-board web-based IDE with a source-level debugger and command console. However the interesting twist is that the on-board IDE, and the board itself, can be accessed from anywhere using the Esquilo Nest cloud service.
“Our philosophy is that the cloud enhances IoT but it should not be required in order to use it. Our cloud site serves only as a management and remote access portal for the device.”
The Esquilo cloud service effectively acts as a management service, rather than a fully blown development environment. It’s an interesting compromise, that I actually sort of like.
The Esquilo hardware is designed to fit the Arduino form-factor, it’s hardware compatible, and includes all the peripherals and bus support that you’d expect. However it’s far from software compatible, as the board is programmed using Squirrel.
Conceptually, Squirrel is a high level language somewhat similar to Javascript, and it’s a daring choice for a new board trying to make a name for itself in the Maker world. Why? Because we haven’t seen one before, and— unlike the sudden arrival of Javascript powered boards — that means that the Esquilo team is trying to build a community from scratch.
However, there are advantages, especially for IoT applications. Squirrel runs inside a virtual machine, which makes recovering from application crashes somewhat more robust, and for those people coming from an Arduino background there is also a Squirrel library that makes it look — more or less — somewhat Arduino like.
The board also ships with what the team is calling Esquilo Remote Procedure Call (or E-RPC for short). Effectively this lets you build your application’s front end using the onboard web server, as a web app, and easily integrate it with the Squirrel application that’s doing the heavily lifting using just a couple of lines of code.
If you’re interested in picking up an Esquilo, you’ll need to hurry. There’s only a couple of days left before their Kickstarter project closes.
5 thoughts on “Esquilo and the Internet of Things”
Comments are closed.
The Electric Imp uses Squirrel. They’re good devices, and there is a sizeable community and several commercial products built around it. I think you’ve not heard of them because they require you to use their cloud in order to function. That ultimately exempted them from consideration in my projects.
Of course I’ve heard of the Electric Imp! However I sort of think the demographic this board is chasing is very different than the Imp’s, hence I didn’t mention them. I probably should have brought them up anyway. Thanks for pointing it out to folks!
“Squirrel is a … daring choice for a new board trying to make a name for itself in the Maker world. Why? Because we haven’t seen one before”
82$/hour@@i like makezine
>/ click OnNetJobHere
Disclosure: I work for Esquilo.
First of all, thank you for the thoughtful write-up. It recognizes that the board is not just another Arduino clone or kitchen-sink Linux board, while also bucking the cloud-dependent endpoint trend.
To address the ‘Why Squirrel?’ question:
– Squirrel is based on Lua, so it was made from the ground up to be a small portable embeddable dynamic language, unlike JavaScript which would need a serious haircut to get into a micro.
– It uses classical OO, so it is closer to C++ / Arduino.
– It has great debug hooks exposed in the VM, making it practical for us to implement the source level debugger in the web IDE.
– It’s dynamic, so gives you a very nice ‘shell-like’ interface to use for tinkering and debugging.
– As you pointed out, it runs in an isolated VM, so is much less susceptible to system crash-and-lock-up than the typical compiled onto bare-metal model. Very important for IoT.
A final thing I’d like to mention: Unlike most Kickstarter campaigns, we have production stock ready to go and will ship rewards right after the Kickstarter ends. We will also bring our store online shortly after for direct sales.
Thanks again!