Arduino Measures Remaining Battery Power With Zero Components, No I/O Pin

[Trent M. Wyatt]’s CPUVolt library provides a fast way to measure voltage using no external components, and no I/O pin. It only applies to certain microcontrollers, but he provides example Arduino code showing how handy this can be for battery-powered projects.

The usual way to measure VCC is simple, but has shortcomings.

The classical way to measure a system’s voltage is to connect one of your MCU’s ADC pins to a voltage divider made from a couple resistors. A simple calculation yields a reading of the system’s voltage, but this approach has two disadvantages: one is that it constantly consumes power, and the other is that it ties up a pin that you might want to use for something else.

There are ways to mitigate these issues, but it would be best to avoid them entirely. Microchip application note 2447 describes a method of doing exactly that, and that’s precisely what [Trent]’s Arduino library implements.

What happens in this method is one selects Vbg (a fixed internal voltage reference that is temperature-independent) as Vin, and selects Vcc as the ADC’s voltage reference. This is essentially backwards from how the ADC is normally used, but it requires no external hookup and is only a bit of calculation away from determining Vcc in millivolts. There is some non-linearity in the results, but for the purposes of measuring battery power in a system or deciding when to send a “low battery” signal, it’s an attractive solution.

Being an Arduino library, CPUVolt makes this idea very easy to use, but the concept and method is actually something we have seen before. If you’re interested in the low-level details, then check out our earlier coverage which goes into some detail on exactly what is going on, using an ATtiny84.

Robotic Rose Of Enchantment Drops Petals On Command

In Disney’s 1991 film Beauty and the Beast, an enchantress curses the young (10 or 11-year-old) prince to beast-hood for spurning her based solely on her appearance. She gives him a special rose that she says will bloom until his 21st birthday, at which time he’ll be turned back into a prince, provided that he learned to love by then. If not, he’ll be a beast for eternity. As the years go by, the rose drops the occasional petal and begins to wilt under the bell jar where he keeps it.

[Gord Payne] was tasked with building such a rose of enchantment for a high school production and knocked it out of the park. With no budget provided, [Gord] used what he had lying about the house, like nylon trimmer line. In fact, that’s probably the most important part of this build. A piece of trimmer line runs up through the stem made of tubing and out the silk rose head, which connects with a custom 3-D printed part.

Each loose petal hangs from the tubing using a short length of wire. Down at the base, the trimmer line is attached to a servo horn, which is connected to an Adafruit Circuit Playground. When the button is pressed on the remote, the servo retracts the trimmer line a little bit, dropping a petal. Be sure to check out the demo after the break.

Dropping petals is an interesting problem to solve. Most of the flower hacks we see around here involve blooming, which presents its own set of troubles.

Continue reading “Robotic Rose Of Enchantment Drops Petals On Command”

1D LED PONG, Arduino-Style

Maybe it’s just us, but isn’t it kind of amazing that in a world of pretty darn realistic games, PONG is still thrilling to play? This 1D implementation by [newsonator] is about as exciting as it gets.

It works like you’d probably expect — the light moves back and forth between the two players. Keep it in the green and you have a nice, gentle volley going. Let it hit your red LED and you’ve lost a point. But if you can push your button while your yellow LED is lit, the light speeds up tremendously until the next button press in the green.

Our only wish is that subsequent yellow-light button presses would make it speed up even more. But there are really just the two speeds with the current programming.

Inside the cool laser-cut box is an Arduino Uno and a 9V battery, plus a current-limiting resistor and the all-important buzzer. We like how [newsonator] wired up the LEDs to the Arduino by soldering them to a row of header pins and sticking that into the Arduino so it can be used in other projects down the line. We also like how [newsonator] shoved a couple of dowels through the box to ultimately support the two buttons.

Check out the intro video after the break for the overall details. The build is done over a few different short videos which follow.

Although this is pretty small, it isn’t quite the minimum viable.

Continue reading “1D LED PONG, Arduino-Style”

SteamPunk Factory Comes To Life With An Arduino

It is one thing to make an artistic steampunk display. But [CapeGeek] added an Arduino to make the display come alive. The display has plenty of tubes and wires. The pressure gauge dominates the display, but there are lots of other interesting bits. Check it out in the video below.

From the creator:

The back-story is a fictional factory that cycles through a multistage process. It starts up with lights and sounds starting in a small tube in one corner, the needle on a big gauge starts rising, then a larger tube at the top lights up in different colors. Finally, the tall, glass reactor vessel lights up to start cooking some process. All this time, as the sequence progresses, it is accompanied by factory motor sounds and bubbling processes. Finally, a loud glass break noise hints that the process has come to a catastrophic end! Then the sequence starts reversing, with lights sequentially shutting down, the needle jumps around randomly, then decreases, finally, all lights are off, indicating the factory shutting down.

Continue reading “SteamPunk Factory Comes To Life With An Arduino”

Mini Meters Monitor Microprocessor Maximization

[Lex] over at Computing: The Details loves to make fun projects. Recently, they have created a hardware CPU monitor that displays how PCs are parallelizing compile tasks at a glance. The monitor is built from 14 analog meters, along with some WS2812 RGB LEDs.

Each meter represents a core on [Lex]’s CPU, while the final two meters show memory and swap usage. The meters themselves are low-cost 5 mA devices. Of course, the original milliamps legends wouldn’t do much good, so [Lex] designed and printed graduations that glue over the top. The RGB LED strip is positioned so two LEDs fit under each meter. The LEDs allow a splash of color to draw attention to the current state of the machine. The whole bank going red would sure get our attention!

The system is controlled by an Arduino Mega, with the meters driven using the PWM pins. The only extra part is a 1 kΩ resistor. The Arduino wrangles the LEDs as well. Sadly [Lex] did not include the software. They did describe it though. Basically they are using a Rust program to call systemstat, obtaining the current CPU utilization data in Linux. A bit of math converts this into pointer values and LED colors. The data is then sent via USB-serial to the Arduino Mega. The software savvy will say it’s pretty easy to replicate, but the hardware-only hackers among us might need a bit of help.

This isn’t the first custom meter we’ve seen on Hackaday. Your author’s first project covered by Hackaday was for a meter created using an automotive gauge stepper motor. I didn’t include source code either – but only because [Guy Carpenter]’s Switec X25 library had me covered.

Continue reading “Mini Meters Monitor Microprocessor Maximization”

Capacitive Rainmeter Measures The Sky Water Just Fine

If you’ve got a smart home, or you just want to know how soaked your garden is getting in the winter, you might want to measure rainfall. There are a bunch of ways to go about it, and this capacitive rainmeter solution from [Magnus Thome] might just be the perfect solution you’re looking for.

Like many who came before, [Magnus] had experimented with traditional resistive-based sensors using copper traces to measure water levels. As the soil moisture measuring set learned as well, corrosion tends to promise a pretty short life for these designs. Capacitive sensors, on the other hand, can be isolated from the water itself, and thus sense the levels without being subject to such degradation.

[Magnus] pairs the off-the-shelf capacitive sensor with an ESP32 charged with reading it and reporting back to Home Assistant. It’s also outfitted with a heater to keep it at a constant temperature to avoid it freezing over during those cold and snowy Swedish winters.

It’s a tidy way to integrate a quality commercial sensor with a DIY smart home setup. If you’ve been whipping up your own neat sensor networks for your smart home, don’t hesitate to let us know. Video after the break.

Continue reading “Capacitive Rainmeter Measures The Sky Water Just Fine”

Watch Time Roll By On This Strange, Spiral Clock

[Build Some Stuff] created an unusual spiral clock that’s almost entirely made from laser-cut wood, even the curved and bendy parts.

The living hinge is one thing, but getting the spacing, gearing, and numbers right also takes work.

The clock works by using a stepper motor and gear to rotate the clock’s face, which consists of a large dial with a spiral structure. Upon this spiral ramp rolls a ball, whose position relative to the printed numbers indicates the time. Each number is an hour, so if the ball is halfway between six and seven, it’s 6:30. At the center of the spiral is a hole, which drops the ball back down to the twelve at the beginning of the spiral so the cycle can repeat.

The video (embedded below) demonstrates the design elements and construction of the clock in greater detail, and of particular interest is how the curved wall of the spiral structure consists of a big living hinge, a way to allow mostly rigid materials to flex far beyond what they are used to. Laser cutting is well-suited to creating living hinges, but it’s a technique applicable to 3D printing, as well.

Thanks to [Kelton] for the tip!

Continue reading “Watch Time Roll By On This Strange, Spiral Clock”