Share this project

Done

Share this project

Done
A development platform with built-in Wi-Fi, web IDE, cloud access, Arduino shield, and more that makes creating IoT devices simple.
A development platform with built-in Wi-Fi, web IDE, cloud access, Arduino shield, and more that makes creating IoT devices simple.
A development platform with built-in Wi-Fi, web IDE, cloud access, Arduino shield, and more that makes creating IoT devices simple.
298 backers pledged $23,447 to help bring this project to life.

About

Esquilo: Simple IoT Development - WiFi + Web IDE + Cloud project video thumbnail
Replay with sound
Play with
sound

Esquilo: Simple IoT Development - WiFi + Web IDE + Cloud

$23,447

298

Check out the nice article on Esquilo just posted to Make Magazine...

Esquilo is all about making it simple to create connected devices for the Internet of Things (IoT). Everything you need to develop is built-in to the Esquilo hardware.  No cloud required.  You get a complete development system in the palm of your hand.  Just point your browser at Esquilo and go!

Check out our extensive technical documentation for detailed information.

 project video thumbnail
Replay with sound
Play with
sound

No cloud required.  The web-based integrated development environment (IDE) is stored in Esquilo's flash memory and served to your web browser by your Esquilo over Wi-Fi.  There is no dependency on an external cloud site unlike other web IDEs.  You do not need a connection to the Internet to program and debug your Esquilo, just a browser and a computer.

The web IDE includes a full source debugger that helps you find and fix software bugs in no time.  You can click on the source code to set break points, step through code, add watch variables which dynamically update; and inspect the call stack for a function.

The command console allows you to enter program statements for immediate execution on Esquilo.  This is great to try out a new bit of code, set or display variables while debugging, or to test out new hardware.  You can also use it to display output and read input from your programs.

The cloud is not required to use Esquilo but we provide easy and secure cloud access if you want it.  You can securely access your creation from anywhere with Esquilo's secure TLS tunnel and the Esquilo Nest site.  Just point your browser to your Esquilo's custom URL on the Esquilo Nest, enter your account password, and you are securely connected to your Esquilo from anywhere.  You can do anything through the secure tunnel that you can do with a local connection.  Esquilo's secure cloud access is designed to evolve as new IoT protocol standards do, and since it is based on a secure tunnel, you can use any protocol to communicate easily and securely with your application.

The Esquilo Nest site also has a convenient interface to manage your Esquilos.  Forgot your Esquilo ID or local IP address?  Just log into the Esquilo Nest and click a button to either connect over your local network or connect through the cloud.  The Esquilo Nest will also evolve to add new features such as notifying you if your Esquilo is not accessible, shared cloud storage, application download, and more.

Esquilo is programmed with the Squirrel language which is very similar to JavaScript and C++.  If you've ever programmed in either language, then Squirrel is easy to pick up.  We include a large set of support libraries that make it easy to access files, perform math and string operations, and control the hardware peripherals.  Also, if you've ever programmed with the Arduino Wiring language, we've made it easy to migrate by including an emulation of the Arduino API in Squirrel.

How many times have you crashed your device with a trivial programming error?  You then have to waste time to locate the error, fix it, recompile, and download your program again.  Well, those days are now gone.  Squirrel runs inside a virtual machine just like JavaScript or Python but with a much smaller footprint more appropriate for an embedded device.  The Squirrel virtual machine isolates your application and makes Esquilo nearly impervious to programming errors.  Esquilo will simply flag the error and allow you to correct it without skipping a beat.

Esquilo's built-in web server makes it easy to create connected applications using web technologies.  Esquilo makes the process trivial by allowing the JavaScript in the web application to make direct function calls into the embedded application. Data is transferred in both directions with JavaScript Object Notation (JSON) so it is easy to troubleshoot. We call this feature Esquilo Remote Procedure Call or E-RPC for short.

But E-RPC doesn't just stop with JavaScript in your web browser, you can also integrate it with standalone applications using a REST-like interface.  Here is an example E-RPC call using curl:

 You also can call E-RPC with an HTTP POST:

Or you can call it from your favorite programming or scripting language such as this Python example: 

E-RPC makes it easy to integrate embedded functionality into virtually any connected application.

The heart of Esquilo is a Freescale Kinetis ARM Cortex-M4F processor running at 120MHz. This processor is packed full of features including a 1MB flash, 256K SRAM, hardware floating-point, hardware encryption, 16- bit ADC's, a number of serial buses, and the list goes on and on. The 802.11b/g/n Wi-Fi interface is built around a Broadcom chipset. There are two options for powering your Esquilo, a 2.1mm barrel jack with a 6 to 17V DC supply or with 5V via the micro-USB jack. There are a large number of hardware features so take a look below for a longer list.

  • 120 MHz ARM Cortex-M4F
  • 1MB flash, 256KB SRAM, 8KB EEPROM
  • 802.11b/g/n Wi-Fi Arduino UNO R3 shields
  • Hardware cryptography engine
  • Hardware floating point
  • 6-17V DC power input (or 5V via USB)
  • Micro-USB (for bootloader and USB CDC console)
  • Micro-SD with FAT32 support (up to 32 GB)
  • 46 digital I/Os (5V tolerant inputs)
  • Serial buses: 2 x SPI, 2 x I2C, 5 x UART, 1 x CAN
  • 18 PWM outputs
  • Quadrature digital input
  • 16 analog inputs with 16-bit resolution (4 differential)
  • Analog output with 12-bit resolution
  • Precision voltage reference
  • Analog comparator

Esquilo would not have been possible without all of the great open source software available in the community. It seems only natural for us to give back too. That's why our hardware design is completely open source. Want to see the schematics or build a board for yourself? It's all available on our web site. Much of our software is also open source and available on GitHub. Want to create your own cloud portal? No problem. Download our secure tunnel daemon and run it on your own server.  Want to add a new Squirrel library?  You can do that too.

As big fans of the maker movement, we have created a wide variety of DIY projects with Arduino, Raspberry Pi, BeagleBone, and a slew other development platforms.  A simple development board like Arduino lets you quickly jump in and start creating.  But to add Wi-Fi, you've got to buy an Arduino and Linux mash-up board or add an expensive Wi-Fi shield and spend lots of effort integrating software just to provide basic networking.

Esquilo has Arduino-like simplicity
Esquilo has Arduino-like simplicity

On the other end of the spectrum, Linux-based boards like the Raspberry Pi or BeagleBone let you leverage a vast array of open source networking software but integrating them together still requires a lot of work and know-how. You've got to install a Wi-Fi dongle, load drivers, write configuration scripts, and install software packages just to get a usable Wi-Fi networking stack going.

Esquilo has Linux-like networking functionality
Esquilo has Linux-like networking functionality

There is also a new crop of IoT development platforms that make it much easier to get a Wi-Fi networking application going but these new platforms share a common flaw in that they require you to use cloud infrastructure.  In essence, they are "handcuffed" to the cloud.  Esquilo gives you the freedom to choose to use the cloud or not.  Since everything you need is built-in, Esquilo is perfectly happy running in an isolated network.

We think the community needs a development platform that bridges the gap between simple boards like Arduino and complex Linux-based systems to enable developers to create rich, network-enabled applications with ease without the cloud dependencies.  That’s why we created Esquilo.

Nothing drives home an idea like a good example.  Let's go through the weather station demonstration in the video in detail to show you how easy it is to develop a connected application with Esquilo.

Weather demo in a Safari browser
Weather demo in a Safari browser

We are using a SparkFun weather shield that uses two I2C sensors, the MPL3115A2 for pressure, and the HTU21D-F for humidity and temperature.  For the embedded app, we write a getWeather() function to read each parameter from the sensors over the I2C bus and a little code to initialize the sensors and the hardware.

Next we write some JavaScript and HTML boilerplate for the web page.  The JavaScript calls the getWeather() function using our E-RPC technology in the embedded app once per second and updates the HTML.  Combine this with a style sheet and you have a 100% code complete connected weather station.

Gas Meter

The gas meter demo shows you how to create a smart WiFi gas meter that you can use to graph your natural gas or propane usage as well as monitoring your bill and greenhouse gas emissions.

Remote LCD

The LCD demo shows remote control of a Newhaven Serial RGB LCD module using the NetIO mobile control app.

Sprinkler Controller

The sprinkler controller demo shows how to run an autonomous task on your Esquilo that functions independently from the web interface. It uses the Squirrel Timer class to run asynchronous timers in the background to control the sprinkler zones. The web interface is used to both configure the schedule for the zones and to immediately control their operation.  The demo uses a Seeed Studio relay shield to control the sprinkler zones.

Esquilo 3D

The Esquilo 3D demo shows a three dimensional Esquilo logo that moves in real time to match the orientation of the Esquilo board. The demo uses a Freescale IMU shield with accelerometer, magnetometer, and gyroscope. The logo is rendered on the browser using WebGL and the three.js JavaScript 3D library.

Top and bottom views of the ProtoShell
Top and bottom views of the ProtoShell

We also developed a prototyping shell - our name for an Arduino shield with our 40 pin expansion header - to allow you to add your own custom hardware on top of Esquilo.  The middle of the ProtoShell has a 12 x 12 grid for through hole components surrounded by power and ground bus bars.  There is also an area with a variety of footprints for adding SMT components, each with their own through hole pads to jumper to.  There are footprints for SOIC, SOP, SOT363, SOT23, 0603/0402, and 1206/0804.  Also, each pin coming from the Esquilo has a dedicated through hole pad so you can stack more shields or shells on top.

If you know someone who might be interested in easily creating Internet-connected things, then please help us spread the word.  The bigger the Kickstarter campaign, the more cool things we can add to Esquilo.

Thanks for checking us out!

Help us get to $25K, and we will add an MQTT client with an easy-to-use Squirrel interface that also supports MQTT over SSL/TLS. This will make it super easy to integrate Esquilo into any MQTT network and communicate with other IoT devices.  

Help us get to $50K, and we will include a MicroSD card with every reward we ship to store programs, data, web content, or whatever using Esquilo's MicroSD slot.  

Help us get to $75K, and we add an Esquilo Nest cloud drive and integrate it into the Esquilo operating system. You can read and write files stored in the cloud drive from your Squirrel programs, run Squirrel programs in the cloud from the Esquilo IDE, and share files between your Esquilos.  

Help us get to $100K, and we will include an Esquilo ProtoShell with every reward. For those rewards that already include them, then you'll get an extra ProtoShell. Esquilo is a great prototyping tool and having a flexible prototyping area for extra hardware sure comes in handy.

The Esquilo project started in June of 2014.  By September, we had hardware prototypes working with a full WiFi stack.  In November, we had the Squirrel virtual machine executing code with a fully functional IDE.  We spent December through February implementing the secure cloud access and Esquilo Nest and entered beta testing in March.  Our first production run is under way and we are set to be able to ship the first round of rewards by June of 2015.

Esquilo prototype, revision A0, and revision A1
Esquilo prototype, revision A0, and revision A1

We have a great relationship with our contract manufacturer who is based very near us in Austin, Texas.  We have already made a pilot run of Esquilos on their production line which are currently in the hands of our beta testers.  Our first production for our Kickstarter is already in progress.

PCB Panel for Production
PCB Panel for Production

We are big believers in testing products to assure quality from the design phase all of the way through to production.  We developed a sophisticated test fixture for manufacturing that performs both electrical and functional tests to assure quality and make our manufacturing process as efficient as possible.  We based our test fixture on a custom interface board connected to a Raspberry Pi running open source JTAG and testing software.

Production Test Fixture
Production Test Fixture

Scott Shumate started his hardware hacking career in his early teenage years by ripping apart the family's Tandy 1000 PC to see how it worked. He went on to study hardware more seriously by earning a Master of Science in Electrical Engineering from the University of Kansas.  Scott was a lead architect at industry bellwether Cisco Systems for 8 years.  He has also shown his entrepreneurial talent by founding successful start-ups including Linux home automation pioneer uControl. In his spare time, he enjoys contributing to open source with projects such as writing BOSSA, the ARM flash programmer in the Arduino IDE, the ShumaTech digital readouts, and many others.

Patrick Jackson has been coding since his dad brought home a Sinclair ZX80 way back in 1980. He holds a BSEE from the University of Texas and has performed architecture and team lead roles for the industry leader Cisco Systems, as well as a handful of startups. He founded a successful consulting firm, where he and his partners provided full-stack hardware, firmware, and software development services for a wide range of companies and products. He spends exactly the right amount of his spare time (and money) hacking together home automation projects.

Risks and challenges

Given our extensive professional experience and the fact that we have a fully working system already in beta test, we are very confident that the technical risks to this project are minimal. Production risks are low since we have an established relationship with a US-based contract manufacturer that has already built pilot units for the beta test and our production run is already in progress. Fulfillment risks are minimal since we have handled large volume shipments for previous projects and know how to do this efficiently.

The main uncertainty is concerning delivery dates if there turns out to be substantial interest in Esquilo that exceeds our first production run. We could exhaust available parts inventories for manufacturing a second run but we will mitigate this by staging the delivery of the rewards as availability allows.

Learn about accountability on Kickstarter

Questions about this project? Check out the FAQ

Support

  1. Select this reward

    Pledge $1 or more About $1.00

    Help to make Esquilo a reality and receive our sincere appreciation.

    Less
    Estimated delivery
    7 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Reward no longer available

    Pledge $39 or more About $39

    EARLY BIRD SPECIAL! Save by being an early supporter. Includes one Esquilo loaded with software and ready to go.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    Reward no longer available 50 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge $49 or more About $49

    One Esquilo loaded with software and ready to go.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    50 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  4. Reward no longer available

    Pledge $49 or more About $49

    EARLY BIRD SPECIAL! Save by being an early supporter. Includes one Esquilo loaded with software and ready to go plus one ProtoShell.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    Reward no longer available 50 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  5. Select this reward

    Pledge $59 or more About $59

    One Esquilo loaded with software and ready to go plus one ProtoShell.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    72 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  6. Select this reward

    Pledge $89 or more About $89

    TWO (2) Esquilos loaded with software and ready to go.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    16 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  7. Select this reward

    Pledge $109 or more About $109

    TWO (2) Esquilos loaded with software and ready to go plus TWO (2) ProtoShells.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    34 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  8. Select this reward

    Pledge $169 or more About $169

    FOUR (4) Esquilos loaded with software and ready to go.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    3 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  9. Select this reward

    Pledge $199 or more About $199

    FOUR (4) Esquilos loaded with software and ready to go plus FOUR (4) ProtoShells.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    8 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  10. Select this reward

    Pledge $399 or more About $399

    The Educator Pack. TEN (10) Esquilos loaded with software and ready to go.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    1 backer
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  11. Select this reward

    Pledge $479 or more About $479

    The Mega Pack. TEN (10) Esquilos loaded with software and ready to go plus TEN (10) ProtoShells.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    4 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.

Funding period

- (30 days)