Another Radio Module for IoT fun – EMW3162

The availability of cheap radio modules is making them ubiquitous in an increasing number of projects that we have been seeing recently. The usual go-to solution is using any one of the several modules based on the ESP8266 device. [Willem] wrote in to share with us his experiences with another radio module – the EMW3162 from MXChip, which at $10 isn’t as cheap as the ESP8266 modules, but is a more capable, power packed, device.

The EMW3162 (PDF datasheet) is a low-power embedded WiFi module with integrated wireless LAN, and a STM32F205 Cortex-M3 microcontroller that runs a “self-hosted” WiFi networking library and software application stack. The microcontroller has 1M flash, 128k RAM and runs at 120MHz. And since MXChip is a Broadcom partner, they are allowed to use the WICED_SDK.

The on-board ARM M3 means all kinds of useful interfaces are available: UART, SPI, I2C, ADC, DAC, PWM, TIMERS, GPIO, and a JTAG flash interface. The good news could be on the power consumption figures – the module is touted to be low-power, and the data sheet shows 7mA when connected to an access point but with no data transfer. When transmitting at 20kbps, the current draw is about 24mA, which goes up to 320mA at 11Mbps.

[Willem] has his EMW3162_WICED repository up on Github, but also take a look at the MXChips MICO (Mico-controller based Internet Connectivity Operation System) repository. At the moment, he has it working using Linux, with a gnu gcc compiler and a JLINK JTAG programmer. He also has the WICED SDK working and has a WiFi AP with an on-board 120MHz arm chip. It would be interesting to hear about other users’ experiences with this radio module. Do let us know in the comments below!

 

IoT Chameleon Lamp Does It with Python

If this Internet of Things thing is gonna leave the launchpad, it will need the help of practical and semi-practical project ideas for smartifying everyday items. Part of getting those projects off the ground is overcoming the language barrier between humans that want to easily prototype complex ideas and hardware that wants specific instructions. A company called Things on Internet [TOI] has created a system called VIPER to easily program any Spark Core, UDOO or Arduino Due with Python by creating a virtual machine on the board.

The suite includes a shield, an IDE, and the app. By modifying a simple goose neck IKEA lamp, [TOI] demonstrates VIPER (Viper Is Python Embedded in Realtime). They opened the lamp and added an 24-LED Adafruit NeoPixel ring, which can be controlled remotely by smartphone using the VIPER app. To demonstrate the capacitive sensing capabilities of the VIPER shield, they lined the head of the lamp with foil. This code example will change the NeoPixels to a random color each time the button is pressed in the app.

Check out the lamp demonstration after the break and stay for the RC car.

Continue reading “IoT Chameleon Lamp Does It with Python”

Hack your phone: turn your volume buttons into GPIO ports

Internet connected cameras are mighty useful, specially in situations requiring some form of remote monitoring. An always-on camera that is available over an internet connection, is cheap, and uses re-purposed  hardware – that’s what the Gonzo project hopes to achieve. To accommodate these requirements, the Exploratory Engineering program team in Telenor Digital are using off-the-shelf phone hardware running on top of a fork of Firefox OS. You hang the Gonzo where you want to monitor a situation, after which it will function for up to one month before needing a recharge, sending data to a designated public URL over the 2G network.

A big downside with using such hardware is that it is not designed for the task at hand, and offers no expansion ports that may be needed for certain functions. In this particular case, the designers needed a couple of output ports to drive some LED’s. The hardware guys got a bit creative,  and re-mapped the volume buttons of the phone into generic GPIO ports. On the software side, they looked at where the button GPIO’s were referenced, and located how they are mapped to a keymap. They then added a device driver that maps the GPIO ports to be generic ports instead. Modding the hardware needed a little bit more hard work, figuring out which traces connected to the two volume buttons, adding series resistors, and then wiring the LED’s in place. The project itself is still a work in progress, and you can read more about it at the Gonzo website.

If you’re like one of us and have a box full of old phones lying around, take a look at some creative suggestions here for some Arduino controlled robots.

Thanks for the tip [pb] !

The Future of the Internet of Things

When buying anything, you’re going to have a choice: good, fast, or cheap. Pick any two. A plumber will fix a drain good and fast, but it won’t be cheap. The skeezy guy you can call will fix a drain fast and cheap, but it won’t be good.

Such it is with radios. You can have long-range (good), high bandwidth (fast), or a low price (cheap). Pick any two. The Internet of Things demands a cheap, long-range radio module, but until now this really hasn’t existed. At Electronica last week, Microchip demoed their IoT solution, the LoRa. This module has a 15km (rural) or ~3km (heavy urban) range, works for a year on two AAA batteries, and is very cheap. Bandwidth? That’s crap, but you’re not streaming videos to your shoe.

Continue reading “The Future of the Internet of Things”

GCC for the ESP8266 WiFi Module

When we first heard about it a few weeks ago, we knew the ESP8266 UART to WiFi module was a special beast. It was cheap, gave every microcontroller the ability to connect to a WiFi network, and could – possibly – be programmed itself, turning this little module into a complete Internet of Things solution. The only thing preventing the last feature from being realized was the lack of compiler support. This has now changed. The officially unofficial ESP8266 community forums now has a working GCC for the ESP8266.

The ESP8266 most people are getting from China features a Tensilica Xtensa LX3 32-bit SOC clocked at 80 MHz. There’s an SPI flash on the board, containing a few dozen kilobytes of data. Most of this, of course, is the code to run the TCP/IP stack and manage the radio. There are a few k left over – and a few pins – for anyone to add some code and some extended functionality to this module. With the work on GCC for this module, it’ll be just a few days until someone manages to get the most basic project running on this module. By next week, someone will have a video of this module connected to a battery, with a web-enabled blinking LED.

Of course that’s not the only thing this module can do; at less than $5, it will only be a matter of time until sensors are wired in, code written, and a truly affordable IoT sensor platform is created.

If you have a few of these modules sitting around and you’d like to give the new compiler a go, the git is right here.

Internet of Things Refrigerator Alarm

For anyone who gets a late-night craving for anything out of the refrigerator and needs some help in the willpower department, [Claudio] may have the project for you. He has just finished work on a project that sends out an alarm when the refrigerator door opens, alerting others that you’re on the prowl for munchies.

The device uses a light sensor connected to an OpenPicus IoT kit that contains a FlyportPRO Wi-Fi module. When the refrigerator door is opened, the device sends out an email message via a web server, which can be sent to whomever you choose. All of the project’s code and instructions are available on the project site as well.

The project is pretty clever in that no actual interfacing with the refrigerator is required, beyond running a power cable through the seal of the door (although [Claudio] notes that the device will run on a lithium battery as an option). The web server itself can be set up to send out alarms during any timeframe as well, allowing a user to customize his or her nighttime snacking window. If you’re looking for a less subtle approach, we’d recommend the fridge speakers with a volume setting of 11.

Pinoccio: Mesh All The (Internet Of) Things

PinnThere’s a problem with products geared towards building the Internet of Things. Everyone building hardware needs investors, and thus some way to monetize their platform. This means all your data is pushed to ‘the cloud’, i.e. a server you don’t own. This is obviously not ideal for the Hackaday crowd. Yes, IoT can be done with a few cheap radios and a hacked router, but then you don’t get all the cool features of a real Things project – mesh networking and a well designed network. Pinoccio is the first Thing we’ve seen that puts a proper mesh network together with a server you can own. The Pinoccio team were kind enough to let us drop in while we were in Rock City last weekend, and we were able to get the scoop on these tiny boards from [Sally] and [Eric], along with a really cool demo of what they can do.

The hardware on the Pinoccio is basically an Arduino Mega with a LiPo battery and an 802.15.4 radio provided by an ATmega256RFR2. The base board – technically called a ‘field scout’ – can be equipped with a WiFi backpack that serves as a bridge for the WiFi network. It’s a pretty clever solution to putting a whole lot of Things on a network, without having all the Things directly connected to the Internet.

Programming these scouts can be done through Arduino, of course, but the folks at Pinoccio also came up with something called ScoutScript that allows you to send commands directly to any or all of the scouts on the mesh network. There’s a neat web-based GUI called HQ that allows you to command, control, and query all the little nodules remotely as well.

In the video below, [Sally] goes over the basic functions of the hardware and what it’s capable of. [Eric] was in Reno when we visited, but he was kind enough to get on a video chat and show off what a network of Pinoccios are capable of by emblazoning their web page with Hackaday logos whenever he presses a button.

Continue reading “Pinoccio: Mesh All The (Internet Of) Things”