Control a Swarm of RC Vehicles with ESP8266

Over at RCgroups, user [Cesco] has shared a very interesting project which uses the ever-popular ESP8266 as both a transmitter and receiver for RC vehicles. Interestingly, this code makes use of the ESP-Now protocol, which allows devices to create a mesh network without the overhead of full-blown WiFi. According to the Espressif documentation, this mode is akin to the low-power 2.4GHz communication used in wireless mice and keyboards, and is designed specifically for persistent, peer-to-peer connectivity.

Switching an ESP8266 between being a transmitter or receiver is as easy as commenting out a line in the source code and reflashing the firmware. One transmitter (referred to as the server in the source code) can command eight receiving ESP8266s simultaneously. [Cesco] specifically uses the example of long-range aircraft flying in formation; only coming out of the mesh network when it’s time to manually land each one.

[Cesco] has done experiments using both land and air vehicles. He shows off a very hefty looking tracked rover, as well as a quickly knocked together quadcopter. He warns the quadcopter flies like “a wet sponge”, but it does indeed fly with the ESP’s handling all the over the air communication.

To be clear, you still need a traditional PPM-compatible RC receiver and transmitter pair to use his code. The ESPs are simply handling the over-the-air communication. They aren’t directly responsible for taking user input or running the speed controls, for example.

This isn’t the first time we’ve seen an ESP8266 take the co-pilot’s seat in a quadcopter, but the maniacal excitement we feel when considering the possibility of having our very own swarm of flying robots gives this particular project an interesting twist.

PC-XT Emulator On ESP8266

Do you remember the simpler times when you had a DOS command line, a handful of commands, and you talked to the hardware through a few BIOS and DOS interrupts? Okay, maybe it was a little limited, but nostalgia doesn’t care. Now [mcuhacker] is working on bringing some of those memories back by getting a PC-XT emulator running on an ESP8266.

For the x86 CPU emulator, he ported Fake86 which is written in C, and created an Arduino IDE environment for it. The MS-DOS 3.3 bootdisk image is stored in flash and is accessed as the A: drive. There’s no keyboard yet but he has 640×200 CGA working with 80×25 characters on a 3.5″ TFT display with the help of a low pass filter circuit. In the video below he shows it booting to the point where it asks for the date.

Continue reading “PC-XT Emulator On ESP8266”

ESP8266 Broadcasts Memorial WiFi Spam

John Perry Barlow, founding member of the Electronic Frontier Foundation and Freedom of the Press Foundation, died on February 7th, 2018. To say that he left his mark on the Internet, and by extension modern culture, is something of an understatement. He may not be a household name, but between this activism (online and off), lectures, written work, and various entrepreneurial projects, his 70 years of life were surely not wasted. Barlow was once quoted as saying “I want to be a good ancestor”, and by pretty much any metric it would seem he made good on that goal.

To mark his passing, [Moritz Metz] came up with a rather unusual memorial. Using a bit of code on an ESP8266 board, he created a device that would broadcast out Barlow’s “A Declaration of the Independence of Cyberspaceline-by-line in the form of 228 WiFi SSIDs. Perhaps not the most effective way to get Barlow’s words out to the people, but we’ll give him extra points for style.

The code itself is based on FakeBeaconESP8266, which as the name implies, allows the user to create fake WiFi networks. to broadcast the manifesto of your choosing, you need only add in the appropriate sendBeacon() lines at the bottom of the code. It would appear that prefixing each line with a number is required to make devices scanning for networks show the lines of text in proper sequence. At least on the devices demoed, anyway.

Just to be clear: you should definitely not do this. Jamming up the local environment with a bunch of fake networks is a pretty terrible idea. But as a memorial for a man who occasionally claimed to be an anarchist, you could do worse. Plus we have to admit “Giants of Flesh and Steel” is an awesome name for a network.

Continue reading “ESP8266 Broadcasts Memorial WiFi Spam”

Count Your Fans with this Stylish ESP8266 Display

Continuous self-affirmation is a vital component to the modern lifestyle. Of course you know the world loves you, but exactly how much do they love you? Checking your phone every few minutes to see if you’ve gained any followers is gauche, and perhaps more to the point, doesn’t let you show off when you’ve got visitors over. In the modern era, the up-and-coming social media star needs a stylish way to display just how popular they are for the world to see.

That’s the idea behind this very slick social media counter created by [Becky Stern]. Built into a standard shadow box frame and using LED displays glowing through a printed piece of paper, the finished product looks more like modern art than the usual hacker fare.

The counter is powered by a NodeMCU, but you could drop in your favorite variant of the ESP8266 and things would work more or less the same. For the displays, [Becky] is using four Adafruit 7-Segment LED modules, which are easily controlled via I2C which keeps the wiring to a minimum.

It’s interesting to note that since her follower count on Twitter has already hit five digits, two of the display modules are used next to each other for that particular service. Her Instructables and Instagram counters only have one display each however, limiting her counts on those services to 9,999 each. There’s probably something to be learned here in terms of the relative follower counts you can expect on the different social networks if you’re targeting your content to the hacker and maker crowd, but we’ll leave the analysis to those with a better handle on such matters.

Hardware aside, [Becky] spends a lot of time in the video talking about the code she’s come up with to pull her stats from the various services and push them out to the LED displays at a regular interval. It’s nice to see so much attention and explanation given to the software side of a project like this, as more often than not you’re left to your own to figure out what the source code is doing.

This project is quite similar to the YouTube Play Button hack we covered a few months back, but the addition of multiple social networks in one device is a nice improvement over the basic concept.

Continue reading “Count Your Fans with this Stylish ESP8266 Display”

Alexa Controls This Projector Thanks to ESP8266

[jfessard] doesn’t have extra-sensory perception, but does have an ESP8266. The little board seems to pop up in every hack these days. Inspired by not wanting to get up from the bean-bag chair or leave the electronics-housing cabinet wide open to use an HDMI switcher, [jfessard] hacked together an Alexa-compatible projector control via the ESP8266!

The core functionality here is the ability to turn the projector on and off, and to switch the HDMI source. [jfessard] connected the Panasonic PT-AE3000U projector to a Monoprice HDX-401TA 4×1 HDMI switcher. Tucked away in the cabinet below the projector, it is controlled using a IR LED transmitter breakout board sitting at the end of a fairly long set of jumper wire. The projector control itself is through a RS232 interface.

To make this easy to use with Amazon’s Alexa, [jfessard] turned to some libraries for the ESP8266 D1 Mini. The fauxmoesp library makes it look like a WeMo device, and the IRemoteESP8266 library made remote control code cloning a snap. One really frustrating part of this hack was the MAX232-style breakout board; getting a board to work when it’s labelled backwards takes a bit of head-scratching to figure out.

If the the projector ever gets too noisy, we suggest this hack that shushes the machine. For the moment, we’d rather take another look at this laser projector that mimics a cool ‘laser sky’ effect.

How Low Can an ESP8266 Go?

We’ve been tuned into coin cell designs lately given the coin cell challenge, so we were interested in [CNLohr]’s latest video about pushing the ESP8266 into the lowest-possible battery drain with coin cells. The result is a series of hacks, based on a reverse-engineered library and depends on a modified router, but that gets the power consumption down by more than a factor of ten!

Although the ESP8266 has a deep sleep mode that draws only 20 microamps or so, that isn’t as rosy as it seems. If you could go to sleep for a while, wake up for just a moment, send your data, and then go back to sleep, that might be one thing. But when you use conventional techniques, the device wakes up and has to do about ten seconds of work (at high power) to connect to a nearby access point. Then it can do what you want and go back to sleep. That ten-second hit is a killer on small batteries.

Since that’s all you can do with the standard libraries, the next step was to find [pvvx] who has reverse engineered a great deal of the libraries and provides a library with no WiFi capability. That’s a two-edged sword. The pro is you get a 30 ms startup from a deep sleep. The downside is — well — you don’t have WiFi.

Continue reading “How Low Can an ESP8266 Go?”

ESP8266 Beacon Announces Your Arrival

It used to be people were happy enough to just have to push a button in their car and have the garage door open. But pushing a button means you have to use your hands, like it’s a baby toy or something. We’re living in the 21st century, surely there must be a better way! Well, if you’ve got a home automation system setup and a spare ESP8266 laying around, [aderusha] may have your solution with MQTTCarPresence.

The theory of operation here is very clever. The ESP8266 is powered via the in-dash USB port, which turns on and off with the engine. When the engine is started, the ESP8266 is powered up and immediately connects to the WiFi network and pushes an MQTT message to Home Assistant. When Home Assistant gets the notification that the ESP8266 has connected, it opens the garage door.

When [aderusha] drives out of the garage and away from the house, the ESP8266 loses connection to the network, and Home Assistant closes the door. The same principle works when he comes home: as the car approaches the house it connects to the network and the garage door opens, and when the engine is shut off in the garage, the door closes again.

The hardware side of the setup is really just a WeMos D1 mini Pro board, though he’s added an external antenna to make sure the signal gets picked up when the vehicle is rolling up. He’s also designed a very slick 3D printed case to keep it all together in a neat little package.

We’ve covered automated entry systems based on the ESP8266 before, though usually the ESP stays at home. Be sure to check out the awesome series [Elliot Williams] has on the wonders of MQTT if you’re looking to setup your own automation system.