IKEA Cloud Lamp Displays The Weather With An ESP8266

The IKEA DRÖMSYN is a wall mounted cloud night light that’s perfect for a kid’s room. For $10 USD, it’s just begging for somebody to cram some electronics in there and make it do something cool. Luckily for us, [Jodgson] decided to take on the challenge and turned this once simple lamp into a clever weather display. It even still works as an LED lamp, if you’re into that sort of thing.

After stripping out the original hardware, [Jodgson] installed a Wemos D1 Mini and a string of fourteen SK6812 RGB LEDs that run down the length of the cloud’s internal structure. Weather data is pulled down with the OpenWeatherMap API, and conditions are displayed through various lighting colors and effects.

Sunny days are represented with a nice yellow glow, and a cloudy forecast looks like…well it’s already a white cloud so that one’s pretty easy. If rain is expected the cloud turns blue and the bottom LEDs flicker a bit to represent raindrops. When there’s a thunderstorm, the cloud will intermittently flash random LEDs on the strip a bit brighter than their peers; a really slick effect that gets the point across immediately.

This isn’t the first time we’ve seen somebody take a cheap light from IKEA and turn it into something much more impressive with the ESP8266. Just like with that previous project, we wouldn’t be surprised to see this particular modification popping up more in the future.

Smarten Up Your Air Conditioning With The ESP8266

If you’re looking for “smart” home appliances, there’s no shortage of options on the market. Even relatively low-end gadgets are jumping on the Internet of Things bandwagon these days (for better or for worse). But what if you’re not looking to purchase a brand new major appliance right now? In that case, you might be interested in seeing how [Giulio Pons] added some high-tech features to his existing air conditioner on the cheap.

Since his AC unit had an infrared remote control, the first thing [Giulio] needed to do was come up with a way to emulate it. An easy enough project using the ESP8266 and an IR LED, especially when he found that somebody had already written a IR communications library for his particular brand of AC. From there, he could start tacking on sensors and functionality.

With the addition of a DHT11 sensor, [Giulio] can have the AC turn on and off based on the current room temperature. It also gives him an easy way to verify the AC is actually on and operating. By checking to see if the room starts cooling off after sending the IR command to start the AC, his software can determine whether it should try resending the code, or maybe send a notification to alert him that something doesn’t seem right. Of course, it wouldn’t be a proper ESP8266 project without some Internet connectivity, so he’s also created a smartphone application that lets him control the system while away from home.

Now admittedly nothing in this project is exactly new, we’ve seen plenty of hackers switch on their AC with the ESP8266 at this point. But what we particularly liked was how well thought out and documented the whole process was. The rationale behind each decision is explained, and he even documented things like his network topology to help illustrate how the whole system comes together. Even if the techniques are well known by many of us, this is the kind of project documentation that makes it accessible to newcomers. Our hats off to [Giulio] for going the extra mile.

In the past we’ve seen a similar project that allowed you to control your AC from Slack, and our very own [Maya Posch] took us on a whirlwind tour of the very impressive ESP8266-powered environmental monitoring system she helped develop.

Freeform ESP8266 Network Attached Data Display

Like many of us, [Josef Adamčík] finds himself fascinated with so-called “freeform” electronic designs, where the three dimensional circuit makes up sections of the device’s structure. When well executed, such designs really blur the line between being a practical device and an artistic piece. In fact his latest design, an ESP8266 MQTT client, would seem to indicate there might not be much of a “line” at all.

The inspiration for this project actually comes from something [Josef] had worked on previously: an ESP8266-based environmental monitoring system. That device had sensors to pick up on things such as humidity and ambient light level, but it didn’t have a display of its own; it just pushed the data out onto the network using MQTT. So he thought a companion device which could receive this environmental data and present it to him in a unique and visually appealing way would be a natural extension of the idea.

As the display doesn’t need any local sensors of its own, it made the design and construction much easier. Which is not to say it was easy, of course. In this write-up, [Josef] takes the reader through the process of designing each “layer” of the circuit in 2D, printing it out onto paper, and then using that as a guide to assemble the real thing. Once he had the individual panels done, he used some pieces of cardboard to create a three dimensional jig which helped him get it all soldered together.

On the software side it’s pretty straightforward. It just pulls the interesting bits of information off of the network and displays it on the OLED. Right now it’s configured to show current temperature on the display, but of course that could be changed to pretty much anything you could imagine if you’re looking to add a similar device to your desktop. There’s also a red LED on the device which lights up to let [Josef] know when the batteries are getting low on the remote sensor unit; a particularly nice touch.

If you’d like to see more of these freeform circuits, we’d advise you to checkout the finalists for our recently concluded “Circuit Sculpture” contest. Some of the finalists are truly beyond belief.

ESP8266 Upgrade Gives IKEA LEDs UDP Superpowers

It can be difficult to resist the impulse buy. You see something interesting, the price is right, and even though you know you should do your research first, you end up putting it in your cart anyway. That’s how [Tobias Girstmair] ended up being the not-so proud owner of a LEDBERG RGB LED strip from IKEA, and what eventually pushed him to replace wimpy original controller with an ESP8266.

So what was the problem with the original controller? If you can believe it, it was incapable of producing white light. When IKEA says an LED is multi-color, they apparently mean it’s only multi-color. A quick check of the reviews online seem to indicate that the white version is sold as a different SKU that apparently looks the same externally and has confused more than a few purchasers.

Rather than having to pick one or the other, [Tobias] decided he would replace the original controller with an ESP-03, hoping that would give him granular enough control over the LEDs to coax a suitably white light out of them. He didn’t want to completely start from scratch, so one of the first decisions he made was to reuse the existing PCB and MOSFETs. Some handy test points on the PCB allowed him to hook the digital pins of the ESP right to the red, blue, and green LED channels.

Then it was just a matter of coming up with the software. To keep things simple, [Tobias] decided to create a “dumb” controller that simply sets the LED color and intensity according to commands it receives over a simplified UDP protocol. Anything beyond that, such as randomized colors or special effects, is done with scripts that run on his computer and fire off the appropriate UDP commands. This also means he can manually control his newly upgraded LEDBERG strips from basically anything that can generate UDP packets, such as an application on his Android phone.

It might not be the most robust implementation we’ve ever seen, but all things considered, it looks as though this modification could be a pretty good way to get some cheap network controlled RGB lighting in your life.

A DIY Sprinkler Controller Using An ESP8266

There is something strangely amusing about the idea of a sprinkler system relying on a cloud. But it was this limitation in some commercial offerings that led [Zack Lalanne] to create his own controller when it was time to upgrade his aging irrigator.

It’s a straightforward enough device, he’s taken an ESP8266 on the ubiquitous NodeMCU board, and added a shift register for some output line expansion to drive a set of relays. The interest here lies with the software, in which he’s used the ESPHome firmware and added his own custom part for the shift register. This change alone should be useful for many other experimenters with the ‘8266 and ESPHome combination.

The ESP8266 end of the device ties in with his instance of the Home Assistant home automation hub software. On this he’s been able to tie in all his various sprinkler outputs he added, and apply whatever automation scripts he chooses. The result is a freshly watered lawn, with not a cloud in the sky (or backend).

The value of this project lies only partly in its use for sprinkler owners, for us it also lies in the clear write-up showing the way for others with similar home automation tasks. It’s not the only way to make an ESP sprinkler controller, you should also see this one from 2017.

Building An ESP8266 Game System With MicroPython

After a seemingly endless stream of projects that see the ESP8266 open doors or report the current temperature, it can be easy to forget just how powerful the little WiFi-enabled microcontroller really is. In fact, you could argue that most hackers aren’t even scratching the surface of what the hardware is actually capable of. But that’s not the case for [Brian Wagner] and his students from the Kentucky Country Day School.

Their project, the GamerGorl, is a completely custom handheld game system running on a Wemos D1 Mini development board. The team’s PCB, which was developed over several iterations, is essentially a breakout board which allows them to easily connect up peripheral devices. Given the low total component cost of the GamerGorl and relative simplicity of its construction, it looks like a phenomenal project for older STEM students.

Beyond the ESP8266 board, the GamerGorl features a SSD1106 1.3″ OLED display, a buzzer for sound effects, two tactile buttons, and an analog joystick originally intended for an Xbox controller. Around the backside there’s a WS2812B RGB LED strip that’s at least partially for decoration, but it’s also actively used in some of the games such as the team’s take on Simon.

Even if you aren’t in the market for a portable game system, the GameGorl does provide an interesting case study for MicoPython applications on the Wemos D1 Mini. Browsing through the team’s source code as well as the helpful hints that [Brian] gives about getting the software environment up and running could be useful if you’re looking to expand your ESP8266 programming repertoire. We’d also love to see this device running the “ESP Little Game Engine” we covered recently.

Continue reading “Building An ESP8266 Game System With MicroPython”

How-To: Mapping Server Hits With ESP8266 And WS2812

It has never been easier to build displays for custom data visualization than it is right now. I just finished one for my office — as a security researcher I wanted a physical map that will show me from where on the planet my server is being attacked. But the same fabrication techniques, hardware, and network resources can be put to work for just about any other purpose. If you’re new to hardware, this is an easy to follow guide. If you’re new to server-side code, maybe you’ll find it equally interesting.

I used an ESP8266 module with a small 128×32 pixel OLED display connected via an SSD1306 controller. The map itself doesn’t have to be very accurate, roughly knowing the country would suffice, as it was more a decorative piece than a functional one. It’s a good excuse to put the 5 meter WS2812B LED strip I had on the shelf to use.

The project itself can be roughly divided into 3 parts:

  1. Physical and hardware build
  2. ESP8266 firmware
  3. Server-side code

It’s a relatively simple build that one can do over a weekend. It mashes together LED strips, ESP8266 wifi, OLED displays, server-side code, python, geoip location, scapy, and so on… you know, fun stuff.

Continue reading “How-To: Mapping Server Hits With ESP8266 And WS2812”