Finding The Right Hack Is Half The Battle

Sometimes you just get lucky. I had a project on my list for a long time, and it was one that I had been putting off for a few months now because I loathed one part of what it entailed — sensitive, high-accuracy analog measurement. And then, out of the blue I stumbled on exactly the right trick, and my problems vanished in thin air. Thanks, Internet of Hackers!

The project in question is a low-vacuum regulator for “bagging” fiberglass layups. What I needed was some way to read a pressure sensor and turn on and off a vacuum pump accordingly. The industry-standard vacuum gauges are neat devices, essentially a tiny little strain gauge on a membrane between the vacuum side and the atmosphere side, in a package the size of a dime. (That it’s a strain gauge is foreshadowing, but I didn’t know that at the time.) I bought one for $15 ages ago, and it sat on my desk, awaiting its analog circuitry.

See, the MPX2100 runs on 12 V and puts out a signal around 40 mV on top of a 6 V offset. That voltage level is inconvenient for modern 3.3 V microcontroller ADCs, and the resolution would get clobbered by the 6 V signal if I just put a voltage divider on it. This meant whipping together some kind of instrument amplifier circuit to null out the 6 V and amplify the 40 mV for the ADC. The circuits I found online all called for 1% resistors in values I didn’t have, and mildly special op-amps. No fun, for me at least. So there it sat.

Picture of sketchy-looking vacuum apparatus.
Cut the blue wire or the red wire? HX711 module and pressure sensor on the left.

Until I ran into this project that machetes through the analog jungle with one part, and it happened to be one I had on hand. A vacuum pressure sensor is a strain gauge, set up like a Wheatstone bridge, just like you would use for weighing something with a load cell. The solution? A load-cell ADC chip, the HX711, found in every cheap scale or online for under a buck. The only other trick was finding a low-voltage pressure sensor to work with it, but that turns out to be easy as well, and I had one delivered in two days.

In all, this project took months of foot-dragging, but only a few clicks and five minutes of soldering once I got the right idea. The industrial applications and manufacturers’ app notes all make sense if you are making hundreds or millions of these devices, where the one-time cost of prototyping up the hard bits gets amortized, but the hacker solution of using a weight-scale chip was just the ticket for a one-off. That just goes to show how useful sharing our tips and tricks can be — you won’t get this from the industry. So send us your success stories, and your useful failures too, and Read More Hackaday!

Custom Strain Gauges Help Keep Paraglider Aloft

No matter what they’re flying, good pilots have a “feel” for their aircraft. They know instantly when something is wrong, whether by hearing a strange sound or a feeling a telltale vibration. Developing this sixth sense is sometimes critical to the goal of keeping the number of takeoff equal to the number of landings.

The same thing goes for non-traditional aircraft, like paragliders, where the penalty for failure is just as high. Staying out of trouble aloft is the idea behind this paraglider line tension monitor designed by pilot [Andre Bandarra]. Paragliders, along with their powered cousins paramotors, look somewhat like parachutes but are actually best described as an inflatable wing. The wing maintains its shape by being pressurized by air coming through openings in the leading edge. If the pilot doesn’t maintain the correct angle of attack, the wing can depressurize and collapse, with sometimes dire results.

Luckily, most pilots eventually develop a feel for collapse, sensed through changes in the tension of the lines connecting the wing to his or her harness. [Andre]’s “Tensy” — with the obligatory “McTenseface” surname — that’s featured in the video below uses an array of strain gauges to watch to the telltale release of tension in the lines for the leading edge of the wing, sounding an audible alarm. As a bonus, Tensy captures line tension data from across the wing, which can be used to monitor the performance of both the aircraft and the pilot.

There are a lot of great design elements here, but for our money, we found the lightweight homebrew strain gauges to be the real gem of this design. This isn’t the first time [Andre] has flown onto these pages, either — his giant RC paraglider was a big hit back in January.

Continue reading “Custom Strain Gauges Help Keep Paraglider Aloft”

Cheap Lab Balance Needs Upgrades, Gets Gutted Instead

What is this world coming to when you spend seven bucks on a digital scale and you have to completely rebuild it to get the functionality you need? Is nothing sacred anymore?

Such were the straits [Jana Marie] found herself in with his AliExpress special, a portable digital scale that certainly looks like it’s capable of its basic task. Sadly, though, [Jana] was looking for a few more digits of resolution and a lot more in the way of hackability. And so literally almost every original component was ripped out of the scale, replaced by a custom PCB carrying an STM32 microcontroller and OLED display. The PCB has a complicated shape that allows the original lid to attach to it, as well as the stainless steel pan and load cell. [Jana] developed new firmware that fixes some annoying traits, for example powering down after 30 seconds, and adds new functionality, such as piece-counting by weight. The video below shows some of the new features in action.

Alas, [Jana] reports that even the original load cell must go, as it lacks the accuracy her application requires. So she’ll essentially end up building the scale from scratch, which we respect, of course. At this rate, she might even try to build her own load cell from SMD resistors too.

Continue reading “Cheap Lab Balance Needs Upgrades, Gets Gutted Instead”

Quartet Of SMD Resistors Used To Sense Z-Axis Height

Here’s a neat trick for your next 3D-printer build or retrofit: a Z-axis sensor using a DIY strain gauge made from SMD resistors. We’re betting it could have plenty of other applications, too.

Conventional load cells, at least the ones you can pick up cheaply from the usual sources or harvest from old kitchen or bathroom scales, are usually way too big to be used on the extruder of a 3D-printer. [IvDm] wanted to build a touch sensor for his Hybercube printer, so he built his own load cell to do it. It consists of four 1000 ohm SMD resistors in the big 2512 device size. He mounted them to an X-shaped PCB and wired them in the classic Wheatstone bridge configuration, with two resistors on one side of the board and two on the other.

The extruder mounts into a hole in the center of the board and floats on it. Through an HX711 load cell driver chip, the bridge senses the slight flex of the board when the extruder bottoms out on the bed, and an ATtiny85 pulls a limit switch input to ground. [IvDm] even did some repeatability testing with this sensor and it turned out to be surprisingly consistent. The first minute or so of the video below shows it in action on the Hypercube.

We found the use of SMD resistors as strain gauges pretty clever here, but there’s plenty to do with off-the-shelf load cells: measuring how much filament is left on a roll, checking the thrust of a model rocket engine, or even figuring out if you’re peeing correctly.

Continue reading “Quartet Of SMD Resistors Used To Sense Z-Axis Height”

Arduino-Powered Rocket Test Stand

If you’re into amateur rocketry, you pretty quickly outgrow the dinky little Estes motors that they sell in the toy stores. Many hobbyists move on to building their own homebrew solid rocket motors and experimenting with propellant mixtures, but it’s difficult to know if you’re on the right track unless you have a way to quantify the thrust you’re getting. [ElementalMaker] decided he’d finally hit the point where he needed to put together a low-cost test stand for his motors, and luckily for us decided to document the process and the results.

The heart of the stand is a common load cell (the sort of thing you’d find in a digital scale) coupled with a HX711 amplifier board mounted between two plates, with a small section of vertical PVC pipe attached to the topmost plate to serve as a motor mount. This configuration is capable of measuring up to 10 kilograms with an 80Hz sample rate, which is critically important as these type of rocket motors only burn for a few seconds to begin with. The sensor produces hundreds of data points during the short duration of the burn, which is perfect for graphing the motor’s thrust curve over time.

Given such a small window in which to make measurements, [ElementalMaker] didn’t want to leave anything to chance. So rather than manually igniting the motor and triggering the data collection, the stand’s onboard Arduino does both automatically. Pressing the red button on the stand starts a countdown procedure complete with flashing LED, after which a relay is used to energize a nichrome wire “electronic match” stuck inside the motor.

In the video after the break you can see that [ElementalMaker] initially had some trouble getting the Arduino to fire off the igniter, and eventually tracked the issue down to an overabundance of current that was blowing the nichrome wire too fast. Swapping out the big lead acid battery he was originally using with a simple 9V battery solved the problem, and afterwards his first test burns on the stand were complete successes.

If model rockets are your kind of thing, we’ve got plenty of content here to keep you busy. In the past we’ve covered building your own solid rocket motors as well as the electronic igniters to fire them off, and even a wireless test stand that lets you get a bit farther from the action at T-0.

Continue reading “Arduino-Powered Rocket Test Stand”

Kinetic Sculpture Achieves Balance Through Machine Learning

We all know how important it is to achieve balance in life, or at least so the self-help industry tells us. How exactly to achieve balance is generally left as an exercise to the individual, however, with varying results. But what about our machines? Will there come a day when artificial intelligences and their robotic bodies become so stressed that they too will search for an elusive and ill-defined sense of balance?

We kid, but only a little; who knows what the future field of machine psychology will discover? Until then, this kinetic sculpture that achieves literal balance might hold lessons for human and machine alike. Dubbed In Medio Stat Virtus, or “In the middle stands virtue,” [Astrid Kraniger]’s kinetic sculpture explores how a simple system can find a stable equilibrium with machine learning. The task seems easy: keep a ball centered on a track suspended by two cables. The length of the cables is varied by stepper motors, while the position of the ball is detected by the difference in weight between the two cables using load cells scavenged from luggage scales. The motors raise and lower each side to even out the forces on each, eventually achieving balance.

The twist here is that rather than a simple PID loop or another control algorithm, [Astrid] chose to apply machine learning to the problem using the Q-Behave library. The system detects when the difference between the two weights is decreasing and “rewards” the algorithm so that it learns what is required of it. The result is a system that gently settles into equilibrium. Check out the video below; it’s strangely soothing.

We’ve seen self-balancing systems before, from ball-balancing Stewart platforms to Segway-like two-wheel balancers. One wonders if machine learning could be applied to these systems as well.

Continue reading “Kinetic Sculpture Achieves Balance Through Machine Learning”

3D Printers Get A Fuel Gauge: Adding A Filament Scale To OctoPrint

It seems a simple enough concept: as a 3D printer consumes filament, the spool becomes lighter. If you weighed an empty spool, and subtracted that from the weight of the in-use spool, you’d know how much filament you had left. Despite being an easy way to get a “fuel gauge” on a desktop 3D printer, it isn’t something we often see on DIY machines, much less consumer hardware. But with this slick hack from [Victor Noordhoek] as inspiration, it might become a bit more common.

He’s designed a simple filament holder which mounts on top of an HX711 load cell, which is in turn connected to the Raspberry Pi running OctoPrint over SPI. If you’re running OctoPrint on something like an old PC, you’ll need to use an intermediate device such as an Arduino to get it connected; though honestly you should probably just be using a Pi.

On the software side, [Victor] has written an OctoPrint plugin that adds a readout of current filament weight to the main display. He’s put a fair amount of polish into the plugin, going through the effort to add in a calibration routine and a field where you can enter in the weight of your empty spool so it can be automatically deducted from the HX711’s reading.

Hopefully a future version of the plugin will allow the user to enter in the density of their particular filament so it can calculate an estimate of the remaining length. The next logical step would be adding a check that will show the user a warning if they try to start a print that requires more filament than the sensor detects is currently loaded.

This is yet another excellent example of the incredible flexibility and customization offered by OctoPrint. If you’re looking for more reasons to make the switch, check out our guide on using OctoPrint to create impressive time lapse videos of your prints, or how you can control the printer from your mobile device.