Running a Web Server on the ESP8266

We’ve written lot about the ESP8266 lately, but people keep finding more awesome uses for this inexpensive module. [Martin] decided that using the ESP8266 with an external microcontroller was overkill, and decided to implement his project entirely on the module with a built-in web server.

[Martin] started out with the ESP8266 web server firmware developed by [sprite_tm]. This firmware provides a basic web server that supports multiple connections and simple CGI scripts right on the module. The web server firmware opens up a ton of possibilities with CGI scripting. When booting up in AP mode, you can even connect the ESP8266 to another access point right from the your browser.

[Martin] decided to connect a DHT22 temperature/humidity sensor to the module as a proof of concept. He used a DHT22 library written for the ESP8266 to read data from the sensor, and wrote a CGI script to display the data on a web page. [Martin] also added buttons to control a GPIO pin as a proof of concept. He posted his source code and a binary (see the end of his post) so you can try out his application and mod it for your own project.

Photographing a Display Controller Die

Who doesn’t like integrated circuit porn? After pulling a PCD8544 display controller from an old Nokia phone, [whitequark] disrobed it and took the first public die shot.

As we’ve seen in the past, removing a die from its packaging can be a challenge. It typically involves nasty things like boiling acid. Like many display controllers, the PCD8544 isn’t fully encapsulated in a package. Instead, it is epoxied to a glass substrate.

Removing the glass proved to be difficult. [whitequark] tried a hot plate, a hot air gun, sulphuric acid, and sodium hydroxide with no success. Then the heat was turned up using MAPP gas, which burned the epoxy away.

After some cleaning with isopropanol, the die was ready for its photoshoot. This was done using a standard 30 mm macro lens. Photo processing was done in darktable, an open source photography tool and RAW processor.

[whitequark] plans to take closer photos in the future using more powerful magnification. These high resolution die photos can be useful for a number of things, including finding fake chips and reverse engineering retro hardware.

Hacking a $20 WiFi Smart Plug

The Kankun smart plug is an inexpensive device that lets you switch an outlet on and off over wifi. The smart plug only works with an Android or IOS app that ships with the device, which limits its usefulness to turning things on and off from your phone.

In an attempt to make this device more useful, [LinuxGeek] probed the device with nmap and discovered that it runs OpenWRT. After trying various common default passwords he discovered the login was root/admin. While [LinuxGeek] hasn’t sniffed the protocol yet, others have hacked it a bit further. The plug apparently uses UDP packets to communicate with the Android app, but the packets are unfortunately encrypted.

Rather than hack at the protocol, they wrote code that toggles the GPIO pin from a CGI script and developed a small Windows application that hits the CGI script for simple control from a computer. There’s also a Google+ group where more information and a couple other hacks for these plugs are posted. For $20 (from AliExpress) and with a bit of hacking, this smart plug could be a great way to add wireless control to a home automation system.

2.5kW of Beverage-Cooling Awesomeness

We’ve covered many thermoelectric beverage coolers in the past, but none come close to the insane power of the AbsolutZero. [Ilan Moyer] set out to design a beverage cooler that chills a drink from room temperature to 5 degrees Celsius as quickly as possible, and it looks like he succeeded. The AbsolutZero consumes around 2.5kW of power and runs 8 water-cooled thermoelectric modules to quickly chill a drink.

[Ilan] put his machinist skills to work and fabricated many custom parts for this build. He machined water blocks for each thermoelectric cooler out of solid copper which draw heat away from each thermoelectric cooler. He also fabricated his own bus bars to handle the 200A+ of current the system draws. To transfer heat from the beverage to the thermoelectric modules, he turned and milled a heat spreader that perfectly fits a can of any beverage.

[Ilan]’s design uses a closed-loop water cooling system and 4 radiators to dissipate all of the heat the system produces, which is quite a lot: thermoelectric modules are typically only 10-15% efficient. The whole design is buttoned up in a custom polycarbonate enclosure with a carrying handle so you can conveniently lug the massive setup wherever quickly chilled beverages are needed. Be sure to check out [Ilan]’s build photos to see his excellent machining work.

Thanks for the tip, [Stefan].

Using Cell Phone Screens with any HDMI Interface

Thanks to the worldwide proliferation of smartphones, tiny high-resolution displays are common and cheap. Interfacing these displays with anything besides a phone has been a problem. [twl] has a board that does just that, converting HDMI to something these displays can understand, and providing a framebuffer so these displays can be written to through small microcontrollers.

[twl] is using a rather large FPGA to handle all the conversion from HDMI to the DSI the display understands. He’s using an Xilinx Spartan-6-SLX9, one of the most hobbyist friendly devices that is able to be hand soldered. Also on the board is a little bit of SDRAM for a framebuffer, HDMI input, and a power supply for the LCD and its backlight.

On the things [twl] has in his ‘to-do’ list, porting Doom to run on a cellphone display is obviously right at the top. He also wants to test the drawing commands for the Arduino side of his board, allowing any board with the suffix ~’ino to paint graphics and text on small, cheap, high-resolution displays. That’s a capability that just doesn’t exist with products twice [twl]’s projected BOM, and we can’t wait to see what he comes up with.

You can check out the demo video of [twl]’s board displaying the output of a Raspberry Pi below. If you look very closely, you’ll notice the boot/default screen for the display adapter is the Hackaday Jolly Wrencher.

Continue reading “Using Cell Phone Screens with any HDMI Interface”

An ESP8266 Based Smartmeter

During these last weeks we’ve been talking a lot about the ESP8266, a $4 microcontroller based Wifi module. As the SDK was recently released by Espressif a lot of cheap Internet of Things applications were made possible.

[Thomas] used one module to make a simple smartmeter measuring the active time of his heater together with the outside temperature. He added 2 AT commands starting/stopping the logging process and used one GPIO pin to monitor the heater’s oil pump state. The measurements are then periodically pushed via a TCP connection to his data collecting server, which allows him to generate nice graphs.

In the video embedded below you’ll see [Thomas] demoing his system. On his project page he put up a very detailed explanation on how to replicate his awesome project. All the resources he used and create can also be downloaded on the project’s GitHub page.

Continue reading “An ESP8266 Based Smartmeter”

Dual-mode Avalanche and RF Random Number Generator

[Paul] designed a new open-hardware RNG (random number generator) that includes two sources of entropy in a small package. The first source of entropy is a typical avalanche diode circuit, which is formed by a pair of transistors. This circuit creates high-speed random pulses which are sampled by the onboard microcontroller.

What makes this design unique is a second entropy source: a CC2531 RF receiver. The RF receiver continuously skips around channels in the 2.5Ghz band and measures the RF signal level. The least-significant bit of the signal level is captured and used as a source of entropy. The firmware can be configured to use either source of entropy individually, or to combine both. The firmware also supports optionally whitening the entropy byte stream, which evens out the number of 1’s and 0’s without reducing entropy.

The OneRNG uses the USB-CDC profile, so it shows up as a virtual serial port in most modern operating systems. With the rngd daemon and a bit of configuration, the OneRNG can feed the system entropy source in Linux. [Paul] also has a good writeup about the theory behind the entropy generator which includes images of his schematic. Firmware, drivers, and hardware design files are open-source and are available for download.