Multi-Year Doorbell Project

Camera modules for the Raspberry Pi became available shortly after its release in the early ’10s. Since then there has been about a decade of projects eschewing traditional USB webcams in favor of this more affordable, versatile option. Despite the amount of time available there are still some hurdles to overcome, and [Esser50k] has some supporting software to drive a smart doorbell which helps to solve some of them.

One of the major obstacles to using the Pi camera module is that it can only be used by one process at a time. The PiChameleon software that [Esser50k] built is a clever workaround for this, which runs the camera as a service and allows for more flexibility in using the camera. He uses it in the latest iteration of a smart doorbell and intercom system, which uses a Pi Zero in the outdoor unit armed with motion detection to alert him to visitors, and another Raspberry Pi inside with a touch screen that serves as an interface for the whole system.

The entire build process over the past few years was rife with learning opportunities, including technical design problems as well as experiencing plenty of user errors that caused failures as well. Some extra features have been added to this that enhance the experience as well, such as automatically talking to strangers passing by. There are other unique ways of using machine learning on doorbells too, like this one that listens for a traditional doorbell sound and then alerts its user.

Continue reading “Multi-Year Doorbell Project”

Supercon 2022: Andy Geppert Is Bringing Core Memory Back

Many Hackaday readers will be familiar with the term “core memory”, likely thanks to its close association with the Apollo Guidance Computer. But knowing that the technology existed at one point and actually understanding how it worked is another thing entirely. It’s a bit like electronic equivalent to the butter churn — you’ve heard of it, you could probably even identify an image of one — but should somebody hand you one and ask you to operate it, the result probably won’t be too appetizing.

That’s where Andy Geppert comes in. He’s turned his own personal interest into magnetic core memory into a quest to introduce this fascinating technology to a whole new generation thanks to some modern enhancements through his Core64 project. By mating the antiquated storage technology with a modern microcontroller and LEDs, it’s transformed into an interactive visual experience. Against all odds, he’s managed to turned a technology that helped put boots on the Moon half a century ago into a gadget that fascinates both young and old.

In this talk at the 2022 Hackaday Supercon, Andy first talks the audience through the basics of magnetic core memory as it was originally implemented. From there, he explains the chain of events that lead to the development of the Core64 project, and talks a bit about where he hopes it can go in the future.

Continue reading “Supercon 2022: Andy Geppert Is Bringing Core Memory Back”

Turn Your Furniture Into A Light Show With Hyelicht

There’s something about the regimented square shapes of the IKEA Kallax shelf that convinced [Eike Hein] it could benefit from some RGB LED lighting, and while he could have simply used a commercial solution, he decided instead to develop Hyelicht: an incredibly well documented open source lighting system featuring multiple control interfaces and APIs. We’d say it was overkill, but truth be told, we dream of a world where everyone takes their personal projects to this level.

Hyelicht’s default touch UI

In the boilerplate configuration, [Eike] shows off controlling the LEDs using a graphical user interface running on a Waveshare 7″ touch screen mounted to the side of the shelf. That’s the most direct way of controlling the LEDs, as the touch screen is plugged into the Raspberry Pi 4B that’s actually running the software. But the same interface can also be remotely accessed by your smartphone or desktop.

You can also skip the GUI entirely and control the LEDs with a command line interface, or maybe poke Hyelicht’s HTTP REST interface instead. The system can even integrate with the Philips Hue ecosystem, if you prefer going that route.

The 5×5 Kallax shelf is the project’s official reference hardware, but of course it will work with anything else you might wish to cover with controllable LEDs. We’ve seen similar setups used to light storage bins in the past, but nothing that can even come close to the documentation and customization possibilities offered by Hyelicht. This is definitely a project to keep a close eye on if you’ve got the urge to add a little color to your world.

Odd Inputs And Peculiar Peripherals: Touch This Macro Pad

The need to provide custom controls for complex software packages has been satisfied in many ways, the most usual of which is to have a configurable keypad. It’s a challenge [Meir Michanie] has taken up in a slightly different way, by creating a custom touch-screen macro pad. Unlike the buttons, this allows entirely custom layouts with different shaped keys in any configuration.

At its heart is a versatile ESP32 touch screen development board of the type that can be found easily among the pages of your favorite online electronics mart. The Arduino IDE has been used to program the device, and configuration is as simple of providing it with a PNG of the desired layout, and a CSV file to define the buttons. The whole then connects via BLE where it’s presented to the host computer as a keyboard. The result is one of the coolest macro pads we’ve ever seen, with a limitless number of options.

With such a neat idea it’s perhaps no surprise among the numbers of macro pads that have made it to these pages there might be another take on the same idea.

Winamp Reborn With The Adafruit PyPortal

One look at the default Winamp skin is sure to reawaken fond memories for a certain segment of the community. For those who experienced the MP3 revolution first hand, few audio players stick out in the mind like Winamp and its llama whipping reputation. No, the proprietary Windows-only media player isn’t the sort of thing you’d catch us recommending these days; but it was the 1990s, and things were very different.

For those who want to relive those heady peer-to-peer days, [Tim C] has posted a tutorial on how to turn Adafruit’s PyPortal into a touch screen MP3 player that faithfully recreates the classic Winamp look. As you can see in the video below it certainly nails the visuals, down to the slightly jerky scrolling of the green track info which we’re only now realizing was probably the developer’s attempt to mimic some kind of a physical display like a VFD.

With minimal UI functionality, playlists must be created manually.

[Tim] has even included support for original Winamp themes, although as you might expect, some hoop-jumping is required. In this case, it’s a Python script that you have to run against an image of the original skin pulled from the Winamp Skin Museum. From there, you just need to edit a couple of lines of code to point the player at the right skin files. In other words, switching between skins is kind of a hassle, but you should at least be able to get your favorite flavor from back in the day up and running.

But before you get too excited, there’s a bit of a catch. For one thing, the Winamp UI isn’t actually functional. You can tap the top section of the screen to pause the playback, and tapping down in the lower playlist area lets you change songs, but all the individual buttons and that iconic visual equalizer are just for show. Managing your playlists also requires you to manually edit a JSON file, which even in the 1990s we would have thought was pretty wack, to use the parlance of the times.

Of course, things could easily be streamlined a bit with further revisions to the code, and since [Tim] has released it into the public domain under the Unlicense, anyone can help out. As it stands, it’s still a very slick media display that we certainly wouldn’t mind having on our desk.

Continue reading “Winamp Reborn With The Adafruit PyPortal”

ESP8266 weather widget with touchscreen display

Nothing Should Cloud The Build Of This Wieldy Weather Widget

Weather is one of those things that seems to be endlessly interesting to hackers. We may decry the notion that weather can be accurately predicted two days out, much less seven, but if there’s an extended forecast available, by gosh we’re gonna take a gander at it.

So why pick up your phone or open a browser tab every time you want to check the temperature? If you’re so into it, you should build a desktop weather widget. [opengreenenergy] has written a great guide to a tidy build of this classic and oh-so-useful project that covers everything from the soldering to obtaining an API key. Inside is an ESP8266 and a 2.8″ touch screen display that shows localized conditions via Open Weather Map. The main screen shows the time, date, current weather, 7-day forecast, and the moon phase for each day, and subsequent screens go into further detail. It’s informative without being busy.

We love the streamlined look of the snap-fit enclosure. This may be a fairly simple project, but the build as designed is challenging due to the space constraints inside. Check out the video after the break, which features the venerable Stickvise.

What? You’ve never heard of the Stickvise? You must be new around here. Allow me to introduce you two.

Continue reading “Nothing Should Cloud The Build Of This Wieldy Weather Widget”

Raspberry Pi Hitches A Ride In A 1989 BMW Dashboard

It probably won’t surprise you to find out that a 1989 BMW 325i doesn’t have much in the way of electronic gadgetry onboard. In fact, what passes for an in-dash “computer” in this vintage Beemer is just a digital clock with a rudimentary calendar function. Not content to waste his precious dashboard space any longer, [Ryan Henderson] used his time in quarantine to replace the clock module with a Raspberry Pi.

Nestled in a custom laser-cut housing is a touch screen LCD module that connects directly to the GPIO header of a Pi Zero. Combined with some Python code, this provides a very slick multipurpose interface for pretty much anything [Ryan] wants. Right now he’s got it hooked up to a GPS receiver so he can figure out things like speed and acceleration, but the only real limit on what this little drop-in upgrade can do is how much code you want to sit down and write.

Thankfully, it sounds like [Ryan] has done a lot of the hard work for you. He’s put together a Python library that allows the user to easily draw analog gauges on the screen. The faces are parametrically sized, and even have custom minimum/maximum marks. Of course if you’d rather just throw some text and images on the screen, that’s accomplished easily enough with existing libraries such as PyGame.

[Ryan] says he’s also working on some code to better integrate the Pi into the vehicle’s systems by way of a Bluetooth OBD2 adapter. In the most basic application that would allow you to throw various bits of engine data up on the screen, but on more modern cars, you could potentially tap into the CAN bus and bend it to your will.

While the physical size and shape of this particular modification is clearly focused on this model and year of BMW, the general concepts could be applied to any car on the road. [Ryan] has recently started a GitHub repository for the project and hopes to connect with others who are interested in adding a little modern complexity convenience to their classic rides.

The reality is that cars become more dependent on their onboard computers with each passing year. Already we’re seeing Tesla owners struggle with cooked flash chips, and things are likely to get worse before they get any better. While undoubtedly there are some that would rather keep their daily driver as simplistic as possible, we’re encouraged by projects like this that at least let owners computerize their cars on their own terms.