A display with the magic mirror webpage shown running on it

Magic Mirror – On A Low CPU Budget

For quite a few hackers out there, it’s still hard to find a decently powerful Raspberry Pi for a non-eye-watering price. [Rupin Chheda] wanted to build a magic mirror with a web-based frontend, and a modern enough Raspberry Pi would’ve worked just fine. Sadly, all he could get was single-1 GHz-core 512MB-RAM Zero W boards, which he found unable to run Chromium well enough given the stock Raspbian Desktop install, let alone a webserver alongside it. Not to give up, [Rupin] gives us a step-by-step breakdown on creating a low-footprint Raspbian install showing a single webpage.

Starting with Raspbian Lite, a distribution that doesn’t ship with any desktop features by default, he shows how to equip it with a minimal GUI – no desktop environment needed, just an X server with the OpenBox window manager, as you don’t need more for a kiosk mode application. In place of Chromium, you can install Midori, which is a lean browser that works quite well in single-website mode, and [Rupin] shows you how to make it autostart, as well as the little quirks that make sure your display doesn’t go to sleep. The webserver runs in Heroku cloud, but we wager that, with such a minimal install, it could as well run on the device itself.

With these instructions, you can easily build a low-power single-page browser when all you have is a fairly basic Raspberry Pi board. Of course, magic mirrors are a well-researched topic by now, but you can always put a new spin on an old topic, like in this this retro-tv-based build. You don’t have to build a magic mirror to make use of this hack, either – build a recipe kiosk!

Pie Stop For Emergency DNS Needs

The war on Internet ads rages on, as the arms race between ad blockers and ad creators continues to escalate. To make a modern Internet experience even remotely palatable, plenty of people are turning to DNS-level filters to stop the ads from coming into the network at all. This solution isn’t without its collateral damage though, as the black lists available sometimes filter out something that should have made it to the user. For those emergencies, [Kristopher] created the Pie Stop, a physical button to enact a temporary passthrough on his Pi-Hole.

While [Kristopher] is capable of recognizing a problem and creating the appropriate white list for any of these incidents, others in his household do not find this task as straighforward. When he isn’t around to fix the problems, this emergency stop can be pressed by anyone to temporarily halt the DNS filtering and allow all traffic to pass through the network. It’s based on the ESP-01S, a smaller ESP8266 board with only two GPIO pins. When pressed, it sends a custom command to the Pi-Hole to disable the ad blocking. A battery inside the case allows it to be placed conveniently anywhere near anyone who might need it.

With this button deployed, network snafus can be effectively prevented even with the most aggressive of DNS-level ad blocking. If you haven’t thought about deploying one of these on your own network, they’re hard to live without once you see how powerful they are. Take a look at this one which also catches spam.

A 3D printed cat treat dispenser on a table with a laptop in the background and with a treat in it's tray and a cat on the left about to eat the treat.

Local IOT Cat Treat Dispenser

[MostElectronics], like many of us, loves cats, and so wanted to make an internet connected treat dispenser for their most beloved. The result is an ingenious 3D printed mechanism connected to a Raspberry Pi that’s able to serve treats through a locally run web application.

The inside of a 3d printed cat treat dispenser, showing the different compartments, shaft and wires running out the back.

From the software side, the Raspberry Pi uses a RESTful API that one can connect to through a static IP. The API is implemented as a Python Flask application running under a stand alone web server Python script. The web application itself keeps track of the number of treats left and provides a simple interface to dispense treats at the operators leisure. The RpiMotorLib Python library is used to control a 28BYJ-48 stepper motor through its ULN2003 controller module, which is used to rotate the inside shaft of the treat dispenser.

The mechanism to dispense treats is a stacked, compartmentalized drum, with two drum layers for food compartments that turn to drop treats. The bottom drum dispenses treats through a chute connected to the tray for the cat, leaving an empty compartment that the top drum can replenish by dropping its treats into through a staggered opening. Each compartmentalized treat drum layer provides 11 treats, allowing for a total of 22 treats with two layers stacked on top of each other. One could imagine extending the treat dispenser to include more drum layers by adding even more layers.

Source code is available on GitHub and the STL files for the dispenser are available on Thingiverse. We’ve seen cat electronic feeders before, sometimes with escalating consequences that shake us to our core and leave us questioning our superiority.

Video after the break!

Continue reading “Local IOT Cat Treat Dispenser”

a 3d printed case, sitting on a table with cactuses in the background, with a 3d rendered holo assistant reflected in a cone of polycarbonate sheets from a flat HDMI display pointed up

Anime Inspired Holographic Virtual Assistant

[Jessp] has created a very cute and endearing DIY virtual assistant called Maria. The build combines a 3D printed housing that uses a modern take on the “Pepper’s Ghost” illusion to render a virtual, three-dimensional anime inspired assistant that can take commands to get information about the weather, play music or set timers.

The hub houses a Raspberry Pi 4B and a 3.2 inch LCD HDMI screen mounted flat on its back to render the perspective corrected “Maria” character using a technique borrowed from the Pepper’s Cone project. Polycarbonate sheets are formed into a cone, allowing for the 3D effect of rendering the virtual assistant model. A consumer grade mini USB microphone is used to receive voice commands along with a consumer grade USB speaker for audio feedback. The virtual assistant offloads the text to speech services to Google Cloud, along with using a weather API and Spotify developer account to for its musical options.

All source code is available on [Jessp]’s GitHub page, including build instructions and STL files for the housing. We’ve featured open source voice assistants in the past, including Mycroft and a even a HAL-9000 virtual assistant (running Kalliope) but it’s nice to see further experimentation in this space.

Continue reading “Anime Inspired Holographic Virtual Assistant”

A smartphone-sized PCB is in a person's hand. A large blue chip package houses a 486 and the board has a SoundBlaster card and a 40 PIN Raspberry Pi Connector along one edge for attaching a Raspberry Pi Zero.

TinyLlama Is A 486 In Your Pocket

We love retrocomputing and tiny computers here at Hackaday, so it’s always nice to see projects that combine the two. [Eivind]’s TinyLlama lets you play DOS games on a board that fits in your hand.

Using the 486 SOM from the 86Duino, the TinyLlama adds an integrated Crystal Semiconductor audio chip for AdLib and SoundBlaster support. If you populate the 40 PIN Raspberry Pi connector, you can also use a Pi Zero 2 to give the system MIDI capabilities when coupled with a GY-PCM5102 I²S DAC module.

Audio has been one of the trickier things to get running on these small 486s, so its nice to see a simple, integrated solution available. [Eivind] shows the machine running DOOM (in the video below the break) and starts up Monkey Island at the end. There is a breakout board for serial and PS/2 mouse/keyboard, but he says that USB peripherals work well if you don’t want to drag your Model M out of the closet.

Looking for more projects using the 86Duino? Checkout ISA Sound Cards on 86Duino or Using an 86Duino with a Graphics Card.

Continue reading “TinyLlama Is A 486 In Your Pocket”

Is This The Smallest CP/M Machine Ever?

If you had an office word processor in the late 1970s, the chances are it ran Digital Research’s CP/M operating system. IBM went for Microsoft in the 1980s and the once-dominant player fell on hard times, but it survives today as a popular choice on retrocomputer platforms. Even the more compact Z80 systems are a little large for 2022, so when [Kian Ryan] needed the ultimate in CP/M portability it fell on a more modern piece of silicon. Hence he’s put it on a tiny RP2040-based board from Pimoroni alongside an Adafruit micro SD card breakout.

The tiny hardware is neat of course, but the real star of the show is the software. Non-CP/M aficionados will be interested to learn about RunCPM, and for this project, RunCPM 2040. This provides an emulated environment on a host microcontroller to run CP/M, allowing the operating system to be hosted on easier hardware than some of the original machines.

All this makes for a tiny development machine, but perhaps of more interest would be a machine that’s all-in-one with a display and perhaps a keyboard. The RP2040 is interesting in this case because of those programmable state machines. Could it be made to run a video display alongside RunCPM? We hope someone has a go at writing it.

Sprig Is An Open Source Handheld Game Console

[Hack Club] is a group that aims to teach teenagers about tech by involving them in open-source projects. One of the group’s latest efforts is Sprig, an open-source handheld game console, and [Hack Club] has even been giving them away!

The console is based around a Raspberry Pi Pico, paired up with a TFT7735 screen. There’s also a MAX98357A audio amp on board to provide sound. Other than that, there’s a full ten buttons for control, some LEDs for feedback, and it’s all assembled on a custom PCB designed for easy soldering.

Plenty of work has been done to make Sprig an accessible platform for first-time developers. Games can be created for Sprig and run either on the device, or in an online web-based editor. [Hack Club] is even running a program that will give Sprig hardware away to kids and teens worldwide who write a game for the platform and submit it to the online gallery.

If you’re eager to get into game development while understanding both the hardware and software side of things, Sprig might be just what you’re looking for. With today’s microcontrollers being so cheap and so powerful, we’ve seen some other great handheld designs recently, too!