Internet of Things Technology
Esquilo and the Internet of Things
The Esquilo board in front of the onboard web-based development environment.
The Esquilo board in front of the onboard web-based development environment.

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.

Esquilo pinouts.

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.

Esquilo board with a Freescale IMU shield.
Esquilo board with a Freescale IMU shield.

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.

Squirrel nut

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

  1. 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.

    1. 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!

      1. “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”

  2. 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!

Comments are closed.

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