Hacking The ZH03B Laser Particle Sensor

Laser particle detectors are a high-tech way for quantifying whats floating around in the air. With a fan, a laser, and a sensitive photodetector, they can measure smoke and other particulates in real-time. Surprisingly, they are also fairly cheap, going for less than $20 USD on some import sites. They just need a bit of encouragement to do our bidding.

[Dave Thompson] picked up a ZH03B recently and wanted to get it working with his favorite sensor platform, Mycodo. With a sprinkling of hardware and software, he was able to get these cheap laser particle sensors working on his Raspberry Pi, and his work was ultimately incorporated upstream into Mycodo. Truly living the open source dream.

The ZH03B has PWM and UART output modes, but [Dave] focused his attention on UART. With the addition of a CP2102 USB-UART adapter, he was able to connect it to his Pi and Mac, but still needed to figure out what it was saying. He eventually came up with some Python code that lets you use the sensor both as part of a larger network or service like Mycodo and as a stand-alone device.

His basic Python script (currently only tested on Linux and OS X), loops continuously and gives a running output of the PM1, PM2.5, and PM10 measurements. These correspond to particles with a diameter of 1, 2.5, and 10 micrometers respectively. If you want to plug the sensor into another service, the Python library is a bit more mature and lets you do things like turn off the ZH03B’s fan to save power.

These sensors are getting cheap enough that you can build distributed networks of them, a big breakthrough for crowd-sourced environmental monitoring; especially with hackers writing open source code to support them.

SENSEation Shows The Importance of Good Physical Design

Sensor network projects often focus primarily on electronic design elements, such as architecture and wireless transmission methods for sensors and gateways. Equally important, however, are physical and practical design elements such as installation, usability, and maintainability. The SENSEation project by [Mario Frei] is a sensor network intended for use indoors in a variety of buildings, and it showcases the deep importance of physical design elements in order to create hardware that is easy to install, easy to maintain, and effective. The project logs have an excellent overview of past versions and an analysis of what worked well, and where they fell short.

One example is the power supply for the sensor nodes. Past designs used wall adapters to provide constant and reliable power, but there are practical considerations around doing so. Not only do power adapters mean each sensor requires some amount of cable management, but one never really knows what one will find when installing a node somewhere in a building; a power outlet may not be nearby, or it may not have any unoccupied sockets. [Mario] found that installations could take up to 45 minutes per node as a result of these issues. The solution was to move to battery power for the sensor nodes. With careful power management, a node can operate for almost a year before needing a recharge, and removing any cable management or power adapter meant that installation time dropped to an average of only seven minutes.

That’s just one example of the practical issues discovered in the deployment of a sensor network in a real-world situation, and the positive impact of some thoughtful design changes in response. The GitHub repository for SENSEation has all the details needed to reproduce the modular design, so check it out.

Friday Hack Chat: Environmental Sensors

When it comes to IoT and robotics, the name of the game is sensors. These aren’t just IMUs and the stuff that makes robots move — we’re talking about environmental sensors here. Everything from sensors that measure temperature, air quality, humidity, chemical sensors, and radiation sensors are on the table here. For this week’s Hack Chat, we’re talking all about environmental sensors with a hardware designer who has put them to the test.

Our guest for this week’s Hack Chat is Radu Motisan. He was a finalist in the 2014 Hackaday Prize with the uRad Monitor, a self-contained radiation monitoring network that sends radiation measurements out to a central server, that can be viewed by the entire world. The goal of this project is to create a worldwide network of radiation monitoring devices, and we’re going to say Radu has succeeded. There are hundreds of these uRad Monitors in over forty countries, and all of them are churning out data about the radiation environment in their neck of the woods.

By training, Radu is a software engineer with a masters in science. In his spare time, Radu plays around with chemistry, physics, and electronics. It’s this background that led Radu to create one of the most amazing Hackaday Prize projects ever.

We’ll kick off with a discussion of Radu’s uRad Monitor, and that means we’ll be covering:

  • Radiation Detection, why is it important, and what does it mean?
  • How do you detect radiation?
  • The differences between Geiger-Mueller tubes and scintillators

You are, of course, encouraged to add your own questions to the discussion. You can do that by leaving a comment on the Environmental Sensor Hack Chat Event Page and we’ll put that in the queue for the Hack Chat discussion.join-hack-chat

Our Hack Chats are live community events on the Hackaday.io Hack Chat group messaging. This week is just like any other, and we’ll be gathering ’round our video terminals at noon, Pacific, on Friday, September 7th. Need a countdown timer? We should look into hosting these countdown timers on hackaday.io, actually.

Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io.

You don’t have to wait until Friday; join whenever you want and you can see what the community is talking about.

OpenSCAD handles the Math in 3D Printed Holder for Magnetic Spheres

3D printed holder mounted to bike wheel, fitting precisely 38 magnetic spheres around its perimeter. Tedious math? Not if you make OpenSCAD do it.

Off-the-shelf components are great; the world and our work simply wouldn’t be the same without. But one of the constraints is that one has to design around them, and that’s what led [Antonio Ospite] to create a parametric design in OpenSCAD for a 3D printed holder which snugly fits a number of magnetic spheres around its diameter.

If that sounds a bit esoteric, it will become much clearer in the context of [Antonio]’s earlier work in making a DIY rotary encoder out of a ring of magnetic spheres. He found that such a ring in front of two Hall effect sensors was low in cost, high in precision, and thanks to 3D printing it also had a lot of potential for customizing. But hampering easy design changes was the need for the spheres to fit snugly around whatever shape was chosen for the hardware, which meant constraints on the encoder diameter.

In this case, [Antonio] wished to create an encoder that could be attached to a bicycle wheel but needed to know what outer diameter would best fit a ring of magnetic balls perfectly, given that the balls were each 5 mm. OpenSCAD did the trick, yielding a design that fit the bike wheel and spokes while perfectly nestling 38 magnetic balls around the outside edge with a minimum of wasted space.

OpenSCAD is a CAD program that’s really more like a programming language than anything else. For those who are not familiar with it, [Brian Benchoff] walked through how to make a simple object in OpenSCAD, and [Elliot] has sung the praises of a few advanced functions. Now that this project makes DIY encoders easier, perhaps they could be used to add intuitive new controls to OpenSCAD itself.

Low-Quality Capacitors Turned Into High-Quality Temperature Sensors

When life hands you a bunch of crummy capacitors, what do you do? Make a whole bunch of temperature sensors, apparently.

The less-than-stellar caps in question came to [pyromaniac303] by way of one of those all-in-one assortment kits we so love to buy. Stocked with capacitors of many values, kits like these are great to have around, especially when they’ve got high-quality components in them. But not all ceramic caps are created equal, and [pyromaniac303] was determined not to let the lesser-quality units go to waste. A quick look at the data sheets revealed that the caps with the Y5V dielectric had a suitably egregious temperature coefficient to serve as a useful sensor. A fleck of perf-board holds a cap and a series resistor; the capacitor is charged by an Arduino output pin through the resistor, and the time it takes for the input pin connected to the other side of the cap to go high is measured. Charge time is proportional to temperature, and a few calibration runs showed that the response is pretty linear. Unfortunately the temperature coefficient peaks at 10°C and drops sharply below that point, making the sensor useful only on one side of the peak. Still, it’s an interesting way to put otherwise unloved parts to use, and a handy tip to keep in mind.

Temperature sensing isn’t the only trick capacitors can do. We’ve seen them turned into touch sensors before, and used to turn a 3D-printer into a 3D-scanner.

An Achievable Underwater Camera

We are surrounded by sensors for all forms of environmental measurement, and a casual browse through an electronics catalogue can see an experimenter tooled up with the whole array for a relatively small outlay. When the environment in question is not the still air of your bench but the turbulence, sand, grit, and mud of a sea floor, that pile of sensors becomes rather useless. [Ellie T] has been addressing this problem as part of the study of hypoxia in marine life, and part of her solution is to create an underwater camera by encasing a Raspberry Pi Zero W and camera in a sturdy enclosure made from PVC pipe. She’s called the project LoBSTAS, which stands for Low-cost Benthic Sensing Trap-Attached System.

The housing is simple enough, the PVC has a transparent acrylic disk mounted in a pipe coupler at one end, with the seal being provided at the other by an expansion plug. A neopixel ring is mounted in the clear end, with the Pi camera mounted in its centre. Meanwhile the Pi itself occupies the body of the unit, with power coming from a USB battery bank. The camera isn’t the only sensor on this build though, and Atlas Scientific oxygen sensor  completes the package and is mounted in a hole drilled in the expansion plug and sealed with silicone sealant.

Underwater cameras seem to have featured more in the earlier years of Hackaday’s existence, but that’s not to say matters underwater haven’t been on the agenda. The 2017 Hackaday Prize was carried off by the Open Source Underwater Glider.

Don’t Forget Your Mints When Using This Synthesizer

While synthesizers in the music world are incredibly common, they’re not all keyboard-based instruments as you might be imagining. Especially if you’re trying to get a specific feel or sound from a synthesizer in order to mimic a real instrument, there might be a better style synth that you can use. One of these types is the breath controller, a synthesizer specifically built to mimic the sound of wind instruments using the actual breath from a physical person. Available breath controllers can be pricey, though, so [Andrey] built his own.

To build the synthesizer, [Andrey] used a melodica hose and mouthpiece connected to a pressure sensor. He then built a condenser circuit on a custom Arduino shield and plugged it all into an Arduino Mega (although he notes that this is a bit of overkill). From there, the Arduino needed to be programmed to act as a MIDI device and to interact with the pressure sensor, and he was well on his way to a wind instrument synthesizer.

The beauty of synthesizers is not just in their ability to match the look and sound of existing instruments but to do things beyond the realm of traditional instruments as well, sometimes for a greatly reduced price point.

Continue reading “Don’t Forget Your Mints When Using This Synthesizer”