HC-SR04 Isn’t the Same as Parallax PING))) But It Can Pretend to Be!

“It’s only software!” A sentence that strikes terror in the heart of an embedded systems software developer. That sentence is often uttered when the software person finds a bug in the hardware and others assume it’s going to be easier for fix in software rather than spin a new hardware revision. No wonder software is always late.

[Clint Stevenson] is his own hardware and software guy, as are most of us. He wanted to use the less expensive HC-SR04 ultrasonic rangefinder in a prototype. Longer term he wanted to have the choice of either a Parallax PING or MaxBotix ultrasonic sensor for their better performance outdoors. His hardware hack of the SR04 made this a software problem which he also managed to solve!

[Clint] was working with the Arduino library, based on the Parallax PING, which uses a single pin for trigger and echo. The HC-SR04 uses separate pins. Originally he modified the Arduino library to accept the two pin approach. But with his long term goal in mind, he also modified the HC-SR04 sensor by removing the on-board pull-up resistor and adding a new one on the connector side to combine the signals. That gave him an SR04 that worked with the single-pin based library.

We’ve seen Parallax PING projects for sensing water depth and to generate music. These could be hacked to use the HC-SR04 using [Clint’s] techniques.

[Arduino and HC-SR04 photo from Blax Lab]

Fail of the Week: Sonar Submersibility Sealing

For the last decade or so, [Jason] has wanted to build an underwater robot. Can you blame him? More recently, he’s been researching sonar sensing and experimenting with the relatively inexpensive HC-SR04 module. Since he had good luck getting it to work with a PC sound card and a Stellaris Launchpad, he figured it was time to try using it underwater.

Hydrophone research led him to the idea of submerging the sensor in mineral water oil to both seal it and couple it with the water. Unfortunately, the HC-SR04 only sends one pulse and waits for echo. Through the air, it reliably and repeatedly returned a small value. Once inside a pill bottle filled with mineral oil, though, it does something pretty strange: it fluctuates between sending back a very small value and an enormous value. This behavior has him stumped, so he’s going to go back to the Launchpad unless you can help him figure out what’s going on. Should he use a different method to seal it?

2013-09-05-Hackaday-Fail-tips-tileFail of the Week is a Hackaday column which runs every Thursday. Help keep the fun rolling by writing about your past failures and sending us a link to the story — or sending in links to fail write ups you find in your Internet travels.

A Simple Posture Sensor


If you are on the computer for a large part of the day, posture becomes a serious issue that can negatively impact your health. [Wingman] saw this problem, and created a hack to help solve it. His simple posture sensor will monitor the position of your head relative to the chair, and reminds you to sit up straight.

The posture sensor is built around the HC-SR04 ultrasonic distance sensor, an Attiny85, and a piezo speaker. We’ve seen this distance sensor used in the past for a few projects. Rather than going down the wearable route, which has its own drawbacks, [Wingman] decided to attach his sensor on the back of his chair. The best part is that the sensor is not mounted directly on the chair, but rather on a piece of fabric allowing it to be easily moved when needed.

Given how low-cost and small the sensor is, the project can be easily expanded by adding multiple sensors in different locations. This would allow the angle of the back and possibly the neck to be determined, giving a more accurate indicator of poor posture. There are very few hacks out there that address bad posture. Do you have a project that helps address bad posture? Have you used video processing or a wearable device to monitor your posture? Let us know in the comments an don’t forget to send post links about them to our tips line.