Hackaday Prize Entry: ESP Swiss Knife

The best equipment won’t help you if you don’t have it with you in the moment you need it. Knowledge, experience, and a thick skin may help you out there in the mud of the hardware battlegrounds, but they can’t replace a multimeter, an oscilloscope, a logic analyzer, a serial console or a WiFi access point. [Arcadia Labs] has taken on the challenge of combining most of these functions into a single device, developing the Hacker’s equivalent of a Swiss Army Knife: The ESP Swiss Knife.

esp_swiss_knife_enclosureJust like a Swiss Army Knife is first and foremost a knife, the EPS Swiss Knife is first and foremost an ESP8266. That means it is already a great platform for any kind of project, and [Arcadia Labs] supercharged the plain ESP-12E module by adding a couple of useful features commonly used in many projects. There’s an OLED display, four pushbuttons, a temperature sensor, and a Li-Ion cell with a charging module to power the device on the go. A universal “utility socket” breaks out the ESP8266’s leftover GPIOs and the supply voltage for attaching further peripherals.

With the hardware up and running, [Arcadia Labs] went on with building a couple of applications to provide the functionality that would make the device earn its name. Among them is a basic oscilloscope, a digital NTP based clock, a thermometer, a WiFi tester, a weather station and a 3D printer status monitor. More applications are planned, such as a chronometer, a timer, a DSLR intervalometer and more. A protective 3D printable enclosure is also in the works. [Arcadia Labs] has been joining the Hackaday Prize 2014 and 2015 before and we’re glad to see another great build coming into existence!

The HackadayPrize2016 is Sponsored by:

Wired Networking For The ESP8266

The ever popular ESP8266 is popping up in more and more projects. There are CNC controllers, blinkey WiFi lighting, and downright bizarre WiFi to Ethernet bridges. [Cicero] has thrown his hat into the ring with one of these Ethernet-enabled ESP8266 builds, and right now everything works, it’s simple to put together, and cheap to build.

Astute readers will notice we’ve seen something like this before. A few months ago, [cnlohr] discovered the Ethernet controller in the ESP8266. This was, by every account, the hard way of doing things. [cnlohr] was driving the Ethernet directly through the ESP’s I2S bus. [Cicero]’s project does not. It uses the cheap ENC28J60 SPI to Ethernet adapter to put the ESP on a wired network. Is one solution better than the other? That’s arguable. Is one solution much simpler than the other? Yes, [Cicero]’s work allows anyone to add Ethernet to the ESP8266 with a few resistors and a module that costs $3 from the usual online shops.

With the Ethernet stack taken from [Ulrich Radig], the SPI driver from [MetalPhreak], and an ESP8266-based web server from [Sprite_tm], [Cicero] managed to serve up web pages through both the wired and wireless connections.

Although this build is not as technically amazeballs as [cnlohr]’s work with driving Ethernet directly from the ESP, it is very easy to implement, opening up the doors to a few of the more interesting capabilities of a wired ESP. With the Ethernet unlocked, there’s a free WiFi interface to wardrive, snoop around in promiscuous mode, inject packets, bridge a bunch of ESPs in mesh mode to another network, and other network shenanigans. The ENC28J60 modules have probably already found their way into a few parts bins and junk boxes already, making [Cicero]’s work the quick start guide to wired networking on the ESP.

Thanks [PuceBaboon] for sending this one in.

How To Keep An Unruly Dryer In Line

If necessity is the mother of invention, then inconvenience is its frustrating co-conspirator. Faced with a finicky dryer that would shut down mid-cycle with a barely audible beep if its load was uneven (leaving a soggy mass of laundry), [the0ry] decided to add the dryer to the Internet of Things so it could send them an email whenever it shut itself down.

After opening a thinger.io account, adding the soon-to-be device, and setting up the email notification process, [the0ry] combined the ESP8266 Development Board, a photosensitive resistor, and a 5V power supply on a mini breadboard. All that was left was to mount it on the dryer and direct the LDR (light-dependent resistor) to the machine’s door lock LED to trigger an email when it turned off — indicating the cycle had finished or terminated prematurely. A little tape ensured the LDR would only be tripped by the desired light source.

If you’re an apartment-dweller have WiFi in the wash area it would be awesome to see a battery-powered version you take with you. But in general this is a great hardware blueprint as many device have status LEDs that can be monitored in a similar way. If you want to keep the server in-house (literally in this case) check out the Minimal MQTT series [Elliot Williams] recently finished up. It uses a Raspberry Pi as the center server and an ESP8266 is one of the limitless examples of hardware that plays nicely with the protocol.

We love seeing hacks like this because not only does it conserve water and energy by reducing instances of rewashing, but it’s also a clever way to extend the life of an appliance and potentially save hundreds of dollars in replacing it. Add this to the bevvy of hacks that add convenience to one’s home — some of which produce delicious results.

Espressif Releases ESP8266-Killer!

It’s no secret that we love the ESP8266 chip, and the community of hackers that have contributed to making it useful. We often joke about this or that new WiFi-enabler being an ESP8266 killer, but so far none have stepped up. Here we go again!

Espressif has released a chip that’s going to be an ESP8266 killer, and no, it’s not the ESP32. The ESP8285 went into mass production in March, and should start to appear in the usual outlets fairly soon.

What makes it an ESP8266 killer? It’s an ESP8266, but with the flash memory onboard. Nothing more, but also nothing less. What does this mean? Tiny, tiny designs are possible. And, if the street price ends up being right, there’s no reason you wouldn’t opt for built-in flash. (Unless you were planning on doing some ROM hacking.)

Continue reading “Espressif Releases ESP8266-Killer!”

An Improved WiFi Connected E-Ink Display

[David] created a great looking e-ink WiFi display project that works a little like a network-connected picture frame with a few improvements over other similar projects. With the help of an ESP8266 it boots up, grabs an 800×600 image over the network, updates the screen, then goes back to sleep. Thanks to some reverse engineering, he was able to make his own firmware for the onboard controller to handle the low-level driving of the display. Since e-ink displays require no power to hold an image and the rest of the unit spends most of the time either asleep or off, power use is extremely low. [David] hopes to go months without needing to recharge the internal lithium-polymer battery.

eink_back
Lithium-polymer charger (top left); Single-cell lithium-polymer battery (center); pullups and power cutoff for nonessential electronics (green board, lower right); ESP866 (lower left).

We previously featured another WiFi-connected e-ink display project that was in fact also the inspiration for this version. [David] uses a 4.3″ 800×600 GDE043A e-ink display and wrote his own firmware for the STM32F103ZE ARM CortexM3 SoC used as a display controller, a process that required some reverse engineering but was aided by the manufacturer providing a closed-source driver for him to use. [David] writes that some reverse-engineering work for this display had already been done, but he had such a hard time getting a clear understanding from it that he reverse engineered the firmware anyway and used the documents mainly for validation and guidance.

As a result, [David] was able to make use of the low-level driver electronics already present on the board instead of having to make and interface his own. E-ink displays have some unusual driving requirements which include generating relatively high positive and negative voltages, and rapidly switching them when updating the display. Taking advantage of the board’s existing low-level driver electronics was a big benefit.

eink_apThe ESP8266 rounds out the project by taking care of periodically booting things up, connecting to the wireless network and downloading an image, feeding the image data to the STM32 to update the display, then disconnecting power from all non-essential electronics and going back to sleep. We especially like how the unit automatically creates a WiFi access point to allow easy (re)configuring.

There’s one more nice touch. [David] goes the extra mile with server software (in the form of PHP scripts) to design screens for the display with data like weather forecasts, stock prices, and exchange rates. Check it out in the project’s github repository.

Continuous Delivery For Your ESP8266

There’s nothing to be ashamed of. It’s a problem we all have. You change your code a lot — you can’t help it, you just need to tweak one last little bit. And then you have to go downstairs, fetch your ESP8266 module, plug it in to your computer, flash the new firmware in, and then run back down and re-install your wine-cellar temperature monitor. If only there were a way to continuously update your ESP8266 over the air, pulling new code down from your GitHub repository, automatically running your test suite on it, and then pushing it off to the ESP.

OK, it’s ridiculous overkill, but [squix] strung together a bunch of open-source continuous integration tools and made them work with the ESP8266. A simple PHP script connects the ESP to the rest of the web infrastructure.

[squix] says the word “security” in the same way that gin aficionados whisper “vermouth” over their Martinis. Which is to say, there is none. But for a home solution, or if you want to play around with continuous development, it’s a good start.

And this is a cool project because it makes use of the ESP8266 OTA (over-the-air) programming library to push the code across. And we do hate having to run around the house to update firmware.

So check it out if you want to push code to your ESP8266s without physically going to fetch them, or if you want to integrate your web development with your home deployment.

Hacking A Fluke Multimeter To Serve Readings Over WiFi

Your multimeter is probably your most useful instrument if you work regularly with electronics. It goes with you everywhere, and is your first port of call in most cases when you are presented with a piece of equipment. And when you think about it, it’s a pretty amazing instrument. Multimeter technology has advanced to the point at which even an inexpensive modern device has functions that would have required a hefty budget a few decades ago.

There is still one thing affordable multimeters remain unable to do: they can’t log their readings for analysis on a computer. They’re an instantaneous instrument, just as they always have been.

Lord of Hackaday [Sprite_TM] decided to hack his multimeter to serve its readings over Wi-Fi. Rather than start with a throwaway meter from the bargain bin, he did it with a Fluke. The meter he chose was a Fluke 15B+, the company’s budget offering for the Indian and Chinese markets, since he had one spare.

Opening up the 15B+, he was presented with its processor concealed under a blob of epoxy and thus unidentifiable. Armed with the knowledge that other similar Flukes contain Fortune Semiconductor parts, he investigated as many data sheets as he could find from the same company and finally identified it as an FS98O24 one-time-programmable microprocessor. Sadly this chip has no serial port, but he did find an I2C EEPROM which he correctly guessed held calibration settings. Removing this chip gave him a meter with slightly off calibration, but also gave him a serial port of sorts.

Further detective work allowed him to identify the baud rate, and supplying random commands delivered him some that returned data packets. Eventually he identified a packet containing the states of the LCD’s segments, from which he could derive its displayed value. Connecting an ESP8266 module with appropriate software left him with a Wi-Fi connected multimeter. There was a little more refinement to his hack, he created a power management board to activate the ESP when needed, and a neat hack to display its IP address on the screen.

Multimeter hacks have featured several times here at Hackaday. We’ve had another serial port hack, or how about a remote display for another Fluke on a Gameboy Advance?