Saturday, September 13, 2014

Wifi Wifi Everywhere

Intel announced the Edison Module at the Intel Developer Forum this week.  To me, what's really exciting about the Edison is that this really is a full fledged computer (similar to Beagle Board families) with first class built-in support for wireless infrastructure in a tiny form-factor.  There's a huge difference in programming in an embedded quasi-OS environment like the Spark Core and having the full Linux environment available - it really opens up the world of software ecosystem that you can reuse.  Edison has two Silvermont cores and real storage (4GB eMMC) to go along with the connectivity - it really is amazing to see the technology being open and available at such small form factor and low price.

As far as I can tell, the cheapest and least fussy way to get the Edison is through Newegg - Sparkfun seems to planning a series of boards that could be plugged into enable various sensors and IO interfaces but for learning about the system and experimenting, it'd probably be hard to beat the Arduino interface board with 3.3V/5V tolerant I/Os.

At the other extremes, I came across the ESP8266 Wifi Module.  This seems to be something recently discovered by hacker community at large with minimum AT command documentation in Chinese and an information free website, but it's basically a very cheap, very simple Wifi modules available from AliExpress for well under $4 each including shipping.  The firmware that ships with the module exposes AT command set that can be accessed through the UART to use the module as a simple network device from a microcontroller.

What would be ideal, though, is to be able to run my application directly on the ESP8266 part instead of having another microcontroller interface it - it would allow cheap single board solution that can fit in wide variety of IoT applications.  There is a IoT SDK available, though it seems to provide secret bits in precompiled libraries.  From the makefile, I can tell that it's using Tensilica Xtensa core, which is similar to Nios 2, but on synthesizable for ASICs.

I'm trying to order some of the modules (payment verification is giving me some trouble) and once they're here, I'm hoping to figure out how to run my own code on the devices - this will be the perfect way to interface with the battery monitoring system!  The pictures of the module show a "Winbond" chip which I imagine is the serial flash that holds the code, so my plan is to try to tap into that directly and get the currently loaded firmware and to program updates directly to it.  But if I fail, I can always just stick a MSP430 or something to start gathering data from the battery monitor.

Picture from AliExpress - Serial Flash part
Between $4 ESP8266 and $50 Edison, my excitement with Spark Core has basically vanished.  Spark Core's "cloud software" doesn't interest me much (since you get so much more with full Linux running on Linux).  At $39, I can burn through 10 ESP8266 for the price of one Spark Core board.  What is clear, though, is that it's a pretty interesting time to be in this space!

No comments:

Post a Comment