Hackaday Links: April 12, 2015

Everyone loves Top Gear, or as it’s more commonly known, The Short, The Slow, And The Ugly. Yeah, terrible shame [Clarkson] the BBC ruined it for the rest of us. Good News! A show featuring the Dacia Sandero drones will be filling the Top Gear timeslot. And on that bombshell…

More Arduino Drama! A few weeks ago, Arduino SRL (the new one) forked the Arduino IDE from Arduino LLC’s repo. The changes? The version number went up from 1.6.3 to 1.7. It’s been forked again, this time by [Mastro Gippo]. The changes? The version number went up to 2.0. We’re going to hold off until 2.1; major releases always have some bugs that take a few weeks to patch. Luckily the speed of the development cycle here means that patch should be out soon.

Need an ESP8266 connected to an Arduino. Arachnio has your back. Basically, it’s an Arduino Micro with an ESP8266 WiFi module. It also includes a Real Time Clock, a crypto module, and a solar battery charger. It’s available on Kickstarter, and we could think of a few sensor base station builds this would be useful for.

[Ben Heck] gave The Hacakday Prize a shoutout in this week’s episode. He says one of his life goals is to go to space. We’re giving that away to the project that makes the biggest difference for the world. We’re not sure how a [Bill Paxton] pinball machine fits into that category, but we also have a Best Product category for an opportunity to spend some time in a hackerspace… kind of like [Ben]’s 9 to 5 gig…

[Jim Tremblay] wrote a real time operating system for a bunch of different microcontrollers. There are a lot of examples for everything from an Arduino Mega to STM32 Discovery boards. Thanks [Alain] for the tip.

45s – the grammophone records that play at 45 RPM – are seven inches in diameter. Here’s one that’s 1.5 inches in diameter. Does it work? No one knows, because the creator can’t find a turntable to play it on.

Are we betting on the number of people who don’t get the joke in the second paragraph of this post? Decide in the comments.

Modded Microwave Sets Its Own Clock

Of all the appliances in your house, perhaps the most annoying is a microwave with a flashing unset clock. Even though a lot of devices auto-set their time these days, most appliances need to have their time set after being unplugged or after a power outage. [Tiago] switches off power to some of his appliances while he’s at work to save a bit of power, and every time he plugs his microwave back in he has to manually reset the clock.

Thankfully [Tiago] wrote in with his solution to this problem: an add-on to his microwave that automatically sets the time over the network. [Tiago]’s project uses an ESP8266 running the Lua-based firmware we’ve featured before. The ESP module connects to [Tiago]’s WiFi network and pulls the current time off of his Linux server.

Next, [Tiago] ripped apart his microwave and tacked some wires on the “set time” button and on the two output pins of the microwave’s rotary encoder. He ran all three signals through optoisolators for safety, and then routed them to a few GPIO pins on his ESP module. When the microwave and the ESP module are powered up, [Tiago]’s Lua script pulls the time from his server, simulates a press of the “set time” button, and simulates the rotary encoder output to set the microwave’s time.

While [Tiago] didn’t post any detailed information on his build, it looks like a great idea that could easily be improved on (like adding NTP support). Check out the video after the break to see the setup in action.

Continue reading “Modded Microwave Sets Its Own Clock”

Reverse Engineering An RC Spy Tank

[Michael] sells a remote control spy tank through his company, and although it’s a toy, there’s an impressive amount of electronics in this R/C tank. It’s controlled from an Android or iDevice over a WiFi connection, something that simply won’t do if you’re trying to sell this to the hacker and maker crowd. The solution to this problem is Wireshark, and with a little bit of work this spy tank can be controlled from just about anything, from a microcontroller via WiFi to a Python app.

Wireshark, everyone’s favorite network packet analysis and capture tool, was used to listen in on the communications between an iPad and the tank. This immediately showed the video stream coming from the camera in the tank, and pointing VLC to the correct port displayed the video.

The motors in the tank were a little trickier, but looking at the data stream, a few packets stood out as being responsible for controlling the motors. After a little experimentation the simple command set was decoded and a Python app whipped up.

These spy tanks are cheap – about $70 from [Michael]’s company and the other usual vendors. It’s not a particularly useful piece of hardware, but someone out there is sure to do something cool with this bit of reverse engineering.

WiFi Sucks for RC Vehicles, Upgrade to 3G

This is the Kyosho Blizzard, a tracked remote control vehicle that’s a blast to take out in the rapidly retreating snowpack. [Antibore] was interested in performance testing the range of the thing. It includes a camera that streams video back to a tablet or smartphone. Both the video and the controls use WiFi for communications. As he expected, the rover loses control signal at about fifty meters, with the video has a disappointing twenty meter limit. His workaround is to saddle the crawler with a 3G bridge. Not a bad idea that may be feasibly completed with hardware you have on hand.

In this case he grabbed a Beagleboard-XM. It runs embedded Linux and has USB ports which is perfect for the other two parts of the added hardware: a Huawei E230 3G dongle and a WiFi dongle. This means no alterations to the rover were necessary. He set up OpenVPN and performed a few other tweaks. The WiFi signal is constant, as the transmitter and receiver are both attached to the rover. We just wonder about the latency of the 3G traffic. Let’s hear your thoughts on that in the comments below.

We would be remiss if we didn’t tie-in the potential of this hack. Previously this winter we saw a Kyosho with a 3D printed snow thrower attached to the front. More snow removal power, arguably unlimited range… you can do your entire block from the comfort of the couch. To the Future!

Arduino IDE Support for the ESP8266

Despite a wealth of tutorials for setting up and writing code for the ESP8266 WiFi module, there has not been much of anything on programming this cheap wireless module with the Arduino IDE. Finally, this has changed. After many months of coding, the Arduino IDE supports the ESP8266 module.

The Arduino IDE support was announced on the ESP8266 community forum. Setup is fairly simple with downloads for Linux, OS X, and Windows. This isn’t an ESP8266 shield, either: you can write code for the ESP module, connect the serial pins, and hit the program button.

The basic functions of the Arduino IDE – pinMode, digitalRead, digitalWrite, and analogRead – are available. Most of the WiFi functions work just like the WiFi shield library.

There are a few things that aren’t written yet; PWM doesn’t work, as the ESP8266 only has one hardware PWM source. SPI and I2C slave mode aren’t done yet, and uploading sketches via WiFi needs a little bit of thought. That said, this is a great introduction to programming the ESP module. If the Arduino IDE isn’t your thing, you could always do it the cool way with [CNLohr]’s programming tutorial we featured last week.

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!


How to Directly Program an Inexpensive ESP8266 WiFi Module

The ESP8266 is the answer to “I want something with Wifi.” Surprisingly, there are a number of engineers and hobbyists who have not heard of this chip or have heard of it but don’t really understand what it is. It’s basically the answer to everything IoT to so many engineering problems that have plagued the hobbyist and commercial world alike.

The chip is a processor with integrated RAM, some ROM, and a WiFi radio, and the only external components you will need are 4 capacitors, a crystal and an external flash! It’s CHEAP, like $4/ea cheap! Or $5 if you want it on a nice, convenient carrier board that includes all these components. The power consumption is reasonable (~200mA)1, the range is insane ~300m2 without directional equipment, and a PCB trace antenna and ~4km if you want to be ridiculous.

One place thing that more people need to know about is how to program directly for this chip. Too many times projects use it as a crutch via the AT commands. Read on and find out how to hello world with just this chip.

Continue reading “How to Directly Program an Inexpensive ESP8266 WiFi Module”