Start Your Day With The Mountain That Rises

Like many of us, [Zach Archer] enjoys the comfort of his darkened room so much that he has trouble getting up and facing the day. To make things a little easier for himself, he decided to put together a custom alarm clock that would fill his mornings with the glorious glow of LEDs; and since he finds the mountains an inspirational sight he decided to wrap the whole thing up in a 3D printed enclosure that resembles snow capped peaks.

But even Bob Ross himself couldn’t have imagined a snowy mountain range that featured an integrated e-ink screen. The big 4.2″ panel is connected to a custom designed PCB by [romkey], which was graciously donated for this project. An ESP32 runs the show, providing a convenient web interface to control not only the clock, but various aspects of the mountain’s internal LEDs such as fade in time and total duration.

[Zach] says he originally printed the mountains in PLA, but the heat generated by the LEDs eventually started to cause things to warp. Switching over to translucent PETG not only solved the heat problem, but made for a very effective LED diffuser. Rather than complex animation patterns, he’s found that smoothly transitioning between different shades of blue and green seems to work best for him in the mornings.

This isn’t the first time we’ve seen somebody use LEDs to get them out of bed in the morning, but we do appreciate the aesthetic that [Zach] has achieved here between the design of the mountains and the impressive artwork on the e-ink display. Then again, we’re also quite partial to this version that looks like a warp core, so our tastes do run the gamut.

A Web API For Your Pi

There are many ways to attach a project to the Internet, and a plethora of Internet-based services that can handle talking to hardware. But probably the most ubiquitous of Internet protocols for the average Joe or Jane is the web browser, and one of the most accessible of programming environments lies within it. If only somebody with a bit of HTML and Javascript could reach a GPIO pin on their Raspberry Pi!

If that’s your wish, then help could be at hand in the form of [Victor Ribeiro]’s RPiAPI. As its name suggests, it’s an API for your Raspberry Pi, and in particular it provides a simple web-accessible endpoint wrapper for the Pi’s GPIO library from which its expansion port pins can be accessed. By crafting a simple path on the address of the Pi’s web server each pin can be read or written to, which while it’s neither the fastest or most accomplished hardware interface for the platform, could make it one of the easiest to access.

Security comes courtesy of Apache password protected directories via .htaccess files, so users would be well-advised to consider the implications of connecting this to a public IP address very carefully. But for non experts in security it still has the potential to make a very useful tool in the armoury of ways to control hardware from the little single board computer. It’s not the first try at this idea as we’ve seen a PHP example early in the Pi’s lifetime as well as one relying upon MySQL, but it does seem to be a simpler option than the others.

This Word Clock Has Dirty Alphanumeric Mouth

Clocks which use words to tell the time in place of numbers are an increasingly popular hacker project, but we have to admit that before seeing this gorgeous clock from [Mitch Feig], we didn’t realize how badly we wanted to see one that could curse like a sailor.

But don’t worry, the WordClock-1 knows more than just the bad words. Rather than using an array of illuminated letters as we’ve seen in previous clocks, this one uses six alphanumeric LED displays. So not only can it display the time expressed with words and numbers, but it can show pretty much any other text you might have in mind.

[Mitch] is partial to having his clock toss a swear word on the display every few seconds, but perhaps you’d rather have it show some Klingon vocabulary to help you brush up. The lack of extended characters does limit its language capabilities somewhat, but it still manages to include Spanish, Italian, French, and Croatian libraries.

The ESP32 powered clock comes as a kit, and [Mitch] has provided some very thorough documentation that should make assembling it fairly straightforward as long as you don’t mind tackling a few SMD components. Additional word databases are stored on an SD card, and you can easily add your own or edit the existing ones with nothing more exotic than a text editor. The clock itself is configured via a web interface, and includes features like RGB LED effects and support for pulling the time down from an external GPS receiver.

Of course, if you’re content with what we can apparently now refer to as “old style” word clocks, we’ve seen plenty of projects which should serve as inspiration for anyone looking to roll their own textual timepiece.

Continue reading “This Word Clock Has Dirty Alphanumeric Mouth”

Homekit Compatible Sonoff Firmware Without A Bridge

Generally speaking, home automation isn’t as cheap or as easy as most people would like. There are too many incompatible protocols, and more often than not, getting everything talking requires you to begrudgingly sign up for some “cloud” service that you didn’t ask for. If you’re an Apple aficionado, there can be even more hoops to jump through; getting your unsupported smart home devices working with that Cupertino designed ecosystem often involves running your own HomeKit bridge.

To try and simplify things, [Michele Gruppioni] has developed a firmware for the ubiquitous Sonoff WIFI Smart Switch that allows it to speak native HomeKit. No more using a Raspberry Pi to act as a mediator between your fancy Apple hardware and that stack of $4 Sonoff’s from AliExpress, they can now talk to each other directly. In the video after the break you can see that the iPad identifies the switch as unofficial device, but since it’s compliant with the HomeKit API, that doesn’t prevent them from talking to each other.

Not only will this MIT licensed firmware get your Sonoff Basic, Sonoff Slampher, or Sonoff S26 talking with your Apple gadgets, but it also provides a web interface and REST API so it retains compatibility with whatever else you might be running in your home automation setup. So while the more pedestrian users of your system might be turning the porch light on with their iPhones, you can still fire it up with a Bash script as nature intended.

Of course, if you don’t mind adding a Raspberry Pi bridge to the growing collection of devices on your network, we’ve got plenty of other HomeKit-enabled projects for you to take a look at.

Continue reading “Homekit Compatible Sonoff Firmware Without A Bridge”

Stepping Up Your Python Printf Debugging Game

Debuggers come in all shapes and sizes, offering a variety of options to track down your software problems and inspecting internal states at any given time. Yet some developers have a hard time breaking the habit of simply adding print statements into their code instead, performing manual work their tools could do for them. We say, to each their own — the best tools won’t be of much help if they are out of your comfort zone or work against your natural flow. Sometimes, a retrospective analysis using your custom-tailored debug output is just what you need to tackle an issue.

If the last part sounds familiar and your language of choice happens to be Python, [Alex Hall] created the Bird’s Eye Python debugger that records every expression inside a function and displays them interactively in a web browser. Every result, both partial and completed, and every value can then be inspected at any point inside each individual function call, turning this debugger into an educational tool along the way.

With a little bit of tweaking, the web interface can be made remote accessible, and for example, analyze code running on a Raspberry Pi. However, taking it further and using Bird’s Eye with MicroPython or CircuitPython would require more than just a little bit of tweaking, assuming there will be enough memory for it. Although it wouldn’t be first time that someone got creative and ran Python on a memory limited microcontroller.

Web Matrix Control Proves Power Of ESP8266

LED matrix projects are all over the place, but this one is interesting for its simplicity: it’s an LED matrix that is driven straight from an ESP8266 board. [Ray] put it together as a quick project for his students to teach the basics of LED programming.

It’s built using a WS2812 LED matrix board he designed himself and his own ESPToy ESP8266 dev board. But the gist of the hardware is simply an ESP8266 and some WS2812’s. Where this gets interesting is with the user interaction side of things. The ESP makes WiFi and web serving easy, and [Ray] has build a simple HTTP GET API into the firmware. This is a great combination for the web dashboard and JavaScript-based animation programs [Ray] is demonstrating in the video below.

Just get on the same network and load up the module’s WiFi address for a graphical representation of the 5×7 LED matrix. Pick a color, turn pixels on or off, or choose a predefined pattern and send it to the hardware. This is a powerful way to get use input and with this as a guide it’s fast to set up for pretty much an application you can think of. Just work your way through the documents he put together for the workshop (Zip file link), including all of the code and the slides he used to run the workshop.

Continue reading “Web Matrix Control Proves Power Of ESP8266”

Custom Raspberry Pi Thermostat Controller

Thermostats can be a pain. They often only look at one sensor in a multi-room home and then set the temperature based on that. The result is one room that’s comfortable and other rooms that are not. Plus, you generally have to get up off the couch to change the temperature. In this day and age, who wants to do that? You could buy an off-the-shelf solution, but sometimes hacking up your own custom hardware is just so much more fun.

[redditseph] did exactly that by modifying his home thermostat to be controlled by a Raspberry Pi. The temperature is controlled by a simple web interface that runs on the Pi. This way, [redditseph] can change the temperature from any room in his home using a computer or smart phone. He also built multi-sensor functionality into his design. This means that the Pi can take readings from multiple rooms in the home and use this data to make more intelligent decisions about how to change the temperature.

The Pi needed a way to actually talk to the thermostat. [redditseph] made this work with a relay module. The Pi flips one side of the relays, which then in turn switches the buttons that came built into the thermostat. The Pi is basically just emulating a human pressing buttons. His thermostat had terminal blocks inside, so [redditseph] didn’t have to risk damaging it by soldering anything to it. The end result is a functional design that has a sort of cyberpunk look to it.

[via Reddit]