About this project
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
Support this project
- (30 days)