A Raspberry Pi in an enclosure, connected to a stepper motor controller and a UMTS stick

2024 Home Sweet Home Automation: SMS Controlled Heating

Hackaday.io user [mabe42] works during the week away from their home city and rents a small apartment locally to make this life practical. However, the heating system, a night-storage system, is not so practical. They needed a way to remotely control the unit so that the place was habitable after a long winter commute; lacking internet connectivity, they devised a sensible solution to create an SMS-controlled remote heating controller.

The controller runs atop an old Raspberry Pi B inside a 3D-printed case. Seeing such an old board given a real job to do is nice. Connectivity is via a USB UMTS stick which handles the SMS over the cellular network. The controller knob for the heater thermostat (not shown) is attached via a toothed belt to a pully and a 28BYJ-48 5V geared stepper motor. Temperature measurement is via the ubiquitous DS1820 module, which hooks straight up to the GPIO on the Pi and works out of the box with many one-wire drivers.

The software is built on top of Gammu, which handles the interface to the UMTS device. Daily and historical temperature ranges are sent via SMS so [mabe42] can decide how to configure the heating before their arrival. The rest of the software stack is in Python, as per this (German-language) GitHub project.

While we were thinking about storage heating systems (and how much of a pain they are), we came across this demonstration of how to build one yourself.

This Is Not An Argument Bot

While in-person arguments are getting harder to come by these days, we’ll always have the internet (hopefully). So what can you do to stay on your game in a time when a little levity is lauded? Build an argument bot and battle wits with the best — a stern-faced John Cleese!

This latest offering from [8 Bits And A Byte] refers to a Monty Python sketch featuring an argument service — an office with a receptionist who will take your money and send you down the hall for a healthy and heated discussion. If you’ve never gone on a Monty Python binge, well, it’s probably as good a time as any.

Electronics-wise, the argument bot is a pretty simple build. A Raspberry Pi B+ outfitted with a Google AIY hat listens to your side of things and decides which bones to pick. Your obviously misguided statements are then matched with DialogFlow intents, and dissent is sent back through the speaker. Meanwhile, Mr. Cleese’s jaw moves up and down on a printed and servo-driven linear actuator while he maintains a stiff upper lip. Before you go off on that Python binge, check out the build video after the break.

Have you seen what can happen two robots argue? ‘Tis but a scratch. Continue reading “This Is Not An Argument Bot”

Custom Media Player Helps Hacker’s Autistic Son

Getting to play with technology is often the only justification a hacker needs to work on a build. But when your build helps someone, especially your own special-needs kid, hacking becomes a lot more that playing. That’s what’s behind this media player customized for the builder’s autistic son.

People generally know that the symptoms of autism cover a broad range of behaviors and characteristics that center around socialization and communication. But a big component of autism spectrum disorders is that kids often show very restricted interests. While [Alain Mauer] doesn’t go into his son [Scott]’s symptoms, our guess is that this media player is a way to engage his interests. The build came about when [Alain] was unable to find a commercially available media player that was simple enough for his son to operate and sturdy enough to put up with some abuse. A Raspberry Pi came to the rescue, along with the help of some custom piezo control buttons, a colorful case, and Shin Chan. The interface allows [Scott] to scroll through a menu of cartoons and get a preview before the big show. [Scott] is all smiles in the video below, and we’ll bet [Alain] is too.

Pi-based media player builds are a dime a dozen on Hackaday, but one that helps kids with autism is pretty special. The fact that we’ve only featured a few projects aimed at autistics, like this 2015 Hackaday Prize entry, is surprising. Maybe you can come up with something like [Alain]’s build for the 2016 Hackaday Prize.

Continue reading “Custom Media Player Helps Hacker’s Autistic Son”

Building An Interactive LED Lamp To Annoy Yourself

[Norwegian Creations] makes things as a business model. Tired of the mundane lamp above their heads, they decided to put their skills to use. The basic idea was simple, plot out a cool 3D function, put some RGB LEDs behind it, make it an awesome mathematical rainbow light display, hang it right above their desks, and then ignore it for their monitors while they worked.

The brains of the project is a Raspberry Pi B+, WS2812 LED strips, and a Fadecandy controller from Adafruit. They 3D printed hexagonal towers out of clear plastic and labeled each carefully. Then they attached the strips to the board, glued on the hexagons, and covered the remaining surface in cotton balls to give it a cloud-like appearance.

The lamp normally plays patterns or maintains a steady light. As the day turns to night it reflects the world outside. However, if someone likes their Facebook page the light has a little one robot strobe party, which we imagine can get annoying over time. Video after the break.

Continue reading “Building An Interactive LED Lamp To Annoy Yourself”

Pi-Powered Robot Plays Puzzle & Dragons

Have you heard of the iPhone game Puzzle & Dragons? We understand it’s big in Japan. The puzzle part is all about rearranging colored orbs and grouping them together so they disappear and give you points. It’s also part RPG—each color is linked to a little guy, and every combo makes the matching-colored guy a little stronger. Then you fight monsters and take loot.

A YouTube user named [Junya Sakamoto] built a robot to play the game for him. It analyzes the board to come up with the best possible series of moves and then executes them using a Raspberry Pi. You can see what the robot is planning on the screen of a connected laptop. A couple of motors controlled with a Gertbot move a stylus up and down the screen and the phone itself back and forth.

There are two videos after the break. The first one is a combination build and demo video that proves this robot can do a lot more than just while away the hours playing Puzzle & Dragons. The second video demonstrates just how awesome it is at playing Puzzle & Dragons.

We like game-playing robots quite a bit around here. Here’s a Legoduino robot that plays Jurassic Park Builder. This other robot was built to test apps, but it plays Angry Birds in its spare time.

Continue reading “Pi-Powered Robot Plays Puzzle & Dragons”

More Power For Raspberry Pi USB Ports

Since the Raspberry Pi 2 was released, everyone building RetroPi emulators has been graced with four USB ports. For those of us doing useful stuff with the Pi, those ports are a little anemic: you can’t plug in a webcam and a WiFi module at the same time without suffering CPU brownouts. The maximum current all USB peripherals can draw from the USB port is 600mA. By changing a value in the /boot/config.txt file, this current limit can be increased to 1.2A for all four ports.

Pisquare
The yellow line traces the signal from the GPIO to the USB power switch.

Because the USB current limit is set in software, there must be a few bits of hardware that do the actual work. Tucked away below the right hand of the GPIO header is the hardware that does exactly that. It’s an AP2253 current-limited power switch (PDF), and the current is adjustable by tying a resistor to pin 5 on the chip.

Pin 5 on the AP2253 is connected to two resistors. One resistor goes directly to a ground plane, while the other is switched through a FET. The gate of this FET goes to another resistor, and when a GPIO pin is high, these resistors are wired in parallel. This means the resistance is halved when the GPIO pin is high, doubling the current limiting circuit in the AP2253.

This setup provides a relatively easy mod to increase the current limiting of the USB ports so they can provide 4x500mA, meeting the USB spec. The AP2253 power switch’s current limiting can be set by a single resistor, anywhere from 10kΩ to 232kΩ. By removing R50 and R4, and replacing R50 with a 10kΩ resistor, the current limiting of the AP2253 switch will be set to its maximum, 2.1A. Divide that by four, and you have 500mA per port, just like every other computer on the planet.

There is a reason the Raspberry Pi foundation set the current limiting of the USB ports so low. The Pi was originally intended to run off of a micro USB phone charger. There aren’t many phone chargers out there that will supply more than 1A, and the CPU and related peripherals will take half of that. If you’re going to change the /boot/config.txt file, you’re going to need a beefy power supply. Increasing the current limiting of the USB ports to 2A will require an even bigger, beefier supply.

Using Cheap Displays With The Raspberry Pi

The Raspberry Pi B+ has a native VGA connection. Sure, it’s hidden away in binary blobs and device trees, and you need to wire up the GPIO pins just right, but it’s possible to connect a VGA monitor to a Raspi B+ natively. For the brave, smart, or foolish, this means you can also drive raw DPI displays. [Robert] had a few of these dirt cheap displays sitting around and decided to give the entire thing a go. It worked, and he’s written down how to do it.

One of the chip architects for the Raspberry Pi, [Gert van Loo], was exceedingly clever when designing the Pi. There’s a parallel interface in the chip that, when combined with a few dozen resistors, can drive a VGA display in addition to the HDMI display. Screens with a Display Parallel Interface are actually pretty similar to what the VGA spec calls for. The problem is, hardly any of this is documented for the Raspberry Pi, and finding it means trawling through forums.

[Robert]’s example circuit uses a 5″ display from Adafruit, a 40-pin breakout, and a bunch of prototyping wires. Setup requires grabbing a cut down version of the device tree used for the Raspi VGA breakout board, setting the output format, rgb order, and aspect ratio of the display, and wiring everything up.

What’s interesting here is that [Robert] reproduced this project from scratch, and found that any display with a 40-pin DPI connector will work with the Raspi, provided you have a datasheet. That’s pretty cool; these displays can be cheap, and since we don’t yet have a proper DSI display for the Pi, this will have to do for now.

Video below of [Robert]’s inspiration for this build, [Ladyada].

Continue reading “Using Cheap Displays With The Raspberry Pi”