Monday, January 14, 2013

Nodes for journalists: a primer on bringing sensor data to the reporter

Drones are pretty cool, and could be pretty useful for journalists. They allow journalists to film hard-to-reach spots, such as partially-sunken cruise liners. These unmanned systems also can be used to collect geospatial data and photomaps, both of which can come in handy for a journalism investigation.

As I’ve written before, though, drones simply are remotely piloted aircraft (or watercraft). By themselves, they are not very useful tools. What actually makes them useful is that they are mobile platforms for sensors, which can collect data to guide reportage. Cameras are just one of a multitude of sensors that drones can carry into the sky.

What kind of additional sensors could you use on a drone? It’s probably easier to ask what exactly you want to measure in the environment, and then find a sensor to fit the application.

The drones I develop for STEM (Science Technology Engineering Mathematics) education and for are equipped with sensors besides cameras, such as gyroscopes, accelerometers, magnetometers and GPS receivers. But these sensors generally are used for piloting the drone, not for collecting environmental data.

All of those aforementioned sensors are hard-wired into the drone’s “universal” autopilot. It’s universal in a couple of ways. One, it uses standard servo connectors and communicates to those servos with a well-documented and widely adopted method, so one has a multitude of options for sourcing drone parts. And two, it uses the Arduino open-source microcontroller to handle everything.

The APM 2.0 universal autopilot, frequently used in my drones

First off, what’s a microcontroller? Simply, microcontrollers are small computers that are especially good at handling relatively simple, repetitive tasks.

Microcontrollers don’t typically handle multiple applications like your work computer, and they operate at a snail’s pace compared to desktop computers from even 20 years ago. A Super Nintendo from 1994 could run circles around most of these microcontrollers. But that’s ok, especially for situations when you don’t need to juggle multiple apps or render images.

Microcontrollers are cheap, compact, and don’t consume a lot of power, which makes them great for certain jobs, like automatically flying drones. They’re also useful for gathering, storing and distributing data from sensors.

But back to Arduino and open-source. If you haven’t heard of Arduino or the open source hardware and software movement, here is a good primer on the subject. If you just want a Cliff’s on the subject, Arduino is a flavor of microcontroller that, for the most part, is non-proprietary.

Lawyers aren’t going to send you angry letters if you hack your Arduino. There are no trade secrets to stop you from using or understanding the hardware. You could even manufacture your own Arduino-compatible boards, if you so desired (you might, however, get a cease and desist letter if you use the Arduino trademark). Because of the openness in the Arduino ecosystem, there is a convenient number of third-party manufacturers of boards and accessories.

Perhaps most importantly, the Arduino was actually developed around the needs of artists and hobbyists, not computer engineers. Coding the microcontroller is relatively accessible, and code for thousands of purposes is freely available on the web.

All this makes the technology ideal for journalists, who don’t traditionally have backgrounds in computers or engineering.

So microcontrollers and sensors (along with drones) are now within reach of journalists. But why is that important?

For one, journalists could rely less on data collected by the government. It’s not ideal to rely on the government for information, especially if your goal as a journalist is to be as independent as possible to obtain the truth. This means spending less time on FOI requests, and even gives journalists the ability to check the veracity of government data.

Ok, so that’s all good. But what could a journalist actually do with the data?

Back when I was working on my master’s project at the University of Illinois, I needed information about pollution and toxins in a South-Side Chicago neighborhood. A group of concerned citizens living next the coal-fired power plant in that neighborhood resorted to collecting soil samples to do just that (results showed a dangerous level of lead on the ground). It actually took a fair bit of political will to get state environmental officials to set up and service a pollution monitoring station.

EPA air quality-sensing nodes in the Chicagoland
area. Pins with black dots indicated deactivated
sensor nodes.
I had to get environmental data from the state during my investigation, so I didn’t get to pick where my sensor nodes were located. Pollution totals were not collected on a daily or hourly basis, nor were they comprehensive per the number of pollutants. I do wonder how much more thorough my investigation could have been if I deployed my own network of sensors in that neighborhood.

Here’s another example I frequently employ. When hurricane Andrew slammed Miami Dade County in 1992, it caused billions in damage. Steve Doig headed a Pulitzer prize-winning investigation at the Miami Herald that used wind and damage data to show that newer buildings weren’t being built to a sufficient standard.

I once asked him in an email what he would have done if he had a drone at his disposal. His reply:

"Today I would want digitized imagery that could be used with the right software to quickly estimate the number of damaged homes. And then do it again a few months later to compare as a way to assess recovery. I can imagine that drones would be a good way to gather that kind of data."

Today I would want digitized imagery that could be used with the right software to quickly estimate the number of damaged homes. And then do it again a few months later to compare as a way to assess recovery. 

I can imagine that drones would be a good way to gather that kind of data.

Another important source of data was the National Weather Service, which provided the wind maps. If I were to ask Doig what he would have done with a network of sensors at his disposal, I imagine he also would have liked to obtain the wind data himself.

Weather is a good starting point for building sensor nodes. Weather sensors are cheap, simple, accurate, and widely available. Combine them with open-source hardware like the Arduino, and you have great solution for data collection.

In the near future, I’ll publish documentation of an environmental sensing project. This initiative also will be documented on, because as I’ve said before, drones ultimately are platforms for these types of sensors.

When the code is made stable, and the sensor node prototypes function reliably, then it will be time to move on to a more permanent version. Fabrication of these sensor nodes will involve tools of the "maker" revolution, such as laser cutters (for fabbing the node's housing), 3D printers (for adapters, spacers and mounts), and 3D milling machines (for circuit boards).

Future revisions could improve on the variety and accuracy of the sensors.

The ultimate goal is to create a platform that can be replicated by citizen and professional journalists everywhere. It will be sensor journalism. Or sensor node journalism. Or just node journalism; take your pick.

Edited 5/27/13 to include information from an email thread with Steve Doig.