Animated Widgets On Apple Devices Via A Neat Backdoor

If you’ve ever looked at widgets on your iPhone, you’ve probably noticed they’re largely static, save for a few first-party apps. By and large, third party developers are not supposed to be able to animate them. However, [Bryce Bostwick] found a workaround.

You might be confused as to the idea of animated widgets, but it’s quite simple. For example, think of a clock app with a widget in which the hands always display the current time, or a calendar app with an icon that shows the current date. Apple’s own apps have long been able to do this, but the functionality has mostly been locked out for third parties.

One way to get around this limitation is by using a timer feature baked into the widget functionality. The timer tool is one of the few ways that third-party apps are allowed to do animation. By running a timer with a custom font, you can display various graphical elements instead of numbers counting down to create a hacky animation that updates every second.

However, there are even more advanced techniques that can get you faster, smoother animations. [Bryce] breaks down the private techniques used to rotate the clock hands on Apple’s own widget, and how to use those tools for your own purposes. It takes some sneaky Xcode tricks and a bit of math to make it fully flexible for doing arbitrary animations, but it works surprisingly well.

Will this backdoor last ? Well, Apple is always updating and changing iOS and its associated software, so don’t expect it to work forever.

Continue reading “Animated Widgets On Apple Devices Via A Neat Backdoor”

The Screamer Is Just Like The Clapper But Even More Annoying

Remember The Clapper? It was a home automation tool (of sorts) that let you turn appliances on and off by clapping. [Kevin O’Connor] has built something rather similar, if more terrifying. It’s called The Screamer.

The build is based around a Sonoff S31 smart switch. [Kevin] selected an off-the-shelf device because he wanted something that was safe to use with mains power out of the box. But specifically, he selected the S31 because it has an ESP8266 inside that’s easy to reprogram with the aid of ESPHome. He ended up hooking up a whole extra ESP32 with an INMP441 microphone over I2S to do the scream detection. This was achieved with a simple algorithm that looked for high amplitude noises with lots of energy in the 1000 – 4000 Hz frequency range. When a scream is detected, it flips a GPIO pin which is detected by the S31, which then toggles the state of the smart switch in turn. Job done.

It’s a simple project that does exactly what it says on the tin. It’s The Screamer! If you’d like to learn more about the original Clapper that inspired this build, we’ve looked at that before, too. Meanwhile, if you’re cooking up your own excuses to scream at the lights and walls in your home, please only notify the tipsline if it has something vaguely to do with electronics or hackery.

Smart Terrarium Run By ESP32

A terrarium is a little piece of the living world captured in a small enclosure you can pop on your desk or coffee table at home. If you want to keep it as alive as possible, though, you might like to implement some controls. That’s precisely what [yotitote] did with their smart terrarium build.

At the heart of the build is an ESP32 microcontroller. It’s armed with temperature and humidity sensors to detect the state of the atmosphere within the terrarium itself. However, it’s not just a mere monitor. It’s able to influence conditions by activating an ultrasonic fogger to increase humidity (which slightly impacts temperature in turn). There are also LED strips, which the ESP32 controls in order to try and aid the growth of plants within, and a small OLED screen to keep an eye on the vital signs.

It’s a simple project, but one that serves as a basic starting point that could be readily expanded as needed. It wouldn’t take much to adapt this further, such as by adding heating elements for precise temperature control, or more advanced lighting systems. These could be particularly useful if you intend your terrarium to support, perhaps, reptiles, in addition to tropical plant life.

Indeed, we’ve seen similar work before, using a Raspberry Pi to create a positive environment to keep geckos alive! Meanwhile, if you’re cooking up your own advanced terrarium at home, don’t hesitate to let us know.

A Web Based Controller For Your Garage Door

Garage doors! You could get out of your vehicle and open and close them yourself, but that kinda sucks. It’s much preferable to have them raise and lower courtesy some mechanical contrivance, and even better if that is controlled via the web. [Juan Schiavoni] shows us how to achieve the latter with their latest project.

The web-based controller is based around a Xiao ESP32 microcontroller board, chosen for its baked-in WiFi connectivity. It’s set up to host its own web interface which you can login to with a password via a browser. If you have the correct authorization, you can then hit a button to open or close the garage door.

To interface the ESP32 with the garage door itself, [Juan] went the easy route. To trigger opening or closing the door, the ESP32 merely flicks an IO pin to toggle a transistor, which is hooked up to the button of the original garage door opener. Meanwhile, the ESP32 is also hooked up with a magnetic switch which is activated by a magnet on the garage door itself. This serves as a crude indicator as to the current status of the door—whether currently open or closed. This is crucial to ensure the indicated door status shown in the web app remains synced with the status of the door in reality.

It’s a simple project, and reminds us that we needn’t always do things the hard way. [Juan] could have figured out how to hook the ESP32 up with some radio chips to emulate the original garage door opener, but why bother? hooking it up to the original remote was far easier and more reliable anyway. We’ve seen a good few garage door hacks over the years; if you’ve got your own unique take on this classic, don’t hesitate to notify the tipsline!

[Thanks to Stillman for the tip!]

Supercon 2024: An Immersive Motion Rehabilitation Device

When you’ve had some kind of injury, rehabilitation can be challenging. You often need to be careful about how you’re using the affected parts of your body, as well as pursue careful exercises for repair and restoration of function. It can be tedious and tiring work, for patients and treating practitioners alike.

Juan Diego Zambrano, Abdelrahman Farag, and Ivan Hernandez have been working on new technology to aid those going through this challenging process. Their talk at the 2024 Hackaday Supercon covers an innovative motion monitoring device intended to aid rehabilitation goals in a medical context.

Continue reading “Supercon 2024: An Immersive Motion Rehabilitation Device”

Building A DIY Chicken Incubator

If you want to keep eggs warm to hatch, you’ll need an incubator. You could buy one off the shelf, but they’re not so complex — just a nicely-controlled warm box you could easily whip up yourself. As it turns out, that’s precisely what [RCLifeOn] did. 

The incubator is built out of wooden panels screwed together to make a simple box. The frame of the front door is also wood, but it features 3D printed hinges and handles, because that’s the easiest way to make hardware when you’re a printing wizard like [RCLifeOn].

The box is fitted with controls for humidity and temperature to ensure the best possible conditions for hatching chicken eggs inside. As you might have guessed, a heated bed from a 3D printer was used to control the temperature inside. As for humidity, a sensor tracks the conditions in the box, and triggers an ultrasonic mister to increase the level as necessary. There’s also a little motion introduced via a moving platform run by a motor and some step-down gearing, which apparently aids in the hatching process.

[RCLifeOn] calls it “a machine that creates life,” and that honestly sounds about fair. We’ve seen similar projects along these lines before, too.

Continue reading “Building A DIY Chicken Incubator”

Hardware Built For Executing Python (Not Pythons)

Lots of microcontrollers will accept Python these days, with CircuitPython and MicroPython becoming ever more popular in recent years. However, there’s now a new player in town. Enter PyXL, a project to run Python directly in hardware for maximum speed.

What’s the deal with PyXL? “It’s actual Python executed in silicon,” notes the project site. “A custom toolchain compiles a .py file into CPython ByteCode, translates it to a custom assembly, and produces a binary that runs on a pipelined processor built from scratch.” Currently, there isn’t a hard silicon version of PyXL — no surprise given what it costs to make a chip from scratch. For now, it exists as logic running on a Zynq-7000 FPGA on a Arty-Z7-20 devboard. There’s an ARM CPU helping out with setup and memory tasks for now, but the Python code is executed entirely in dedicated hardware.

The headline feature of PyXL is speed. A comparison video demonstrates this with a measurement of GPIO latency. In this test, the PyXL runs at 100 MHz, achieving a round-trip latency of 480 nanoseconds. This is compared to MicroPython running on a PyBoard at 168 MHz, which achieves a much slower 15,000 nanoseconds by comparison. The project site claims PyXL can be 30x faster than MicroPython based on this result, or 50x faster when normalized for the clock speed differences.

Python has never been the most real-time of languages, but efforts like this attempt to push it this way. The aim is that it may finally be possible to write performance-critical code in Python from the outset. We’ve taken a look at Python in the embedded world before, too, albeit in very different contexts.

Continue reading “Hardware Built For Executing Python (Not Pythons)”