IoT is Weird: Or Why I now have a Network Connected Geiger Counter
I have a page of data here: https://syfuhs.net/my-rad-monitor/.
It’s a bit weird to imagine everything with an IP address. I’m not entirely sure how I feel about this idea.
My feelings about this aside though, this is becoming more and more prevalent with the advent of cheap and powerful processors available to anyone with an idea. It used to be that you needed a team of engineers to build embedded devices that can connect to the internet, but now all you need is an Arduino, a few components, a few hundred lines of code, and a few hours to build an internet connected device.
What’s neat about the Arduino (and many other similar devices) is that it’s Open-Source Hardware. You can start small by building on top of an existing board and once you’ve gotten everything working you can easily build a breakout board (aka a shield) that just connects via the existing pins, or tweak the existing design to your liking and make it your own. The capabilities of these little boards are tremendous. The success of the Arduino came about because it simplified one very critical component: processing.
Building smart hardware is actually really difficult. You need a microprocessor running code to read in signals from external devices and, well, process the signals to do something meaningful. That means you need to find a processor, figure out what kind of instructions it can support, find a compiler for those instructions, and figure out how to program the processor with the compiled instructions. There are of course hundreds (thousands?) of options out there to do this, but they aren’t necessarily cheap, and definitely aren’t easy for newcomers. More often than not these processors only support limited instructions and finding a compiler for a high-level language is often impossible. In a lot of cases you’re lucky if you can get C/C++ support.
The Arduino team did all of this leg work for us and reduced the cost of entry significantly for anyone with an idea. Like I said above: all you need is the board, some components, some code, and some time.
All of that is pretty neat in its own right, but here’s the thing. A maker community exploded around the Arduino. There’s a whole ecosystem built around this little board. There are now hundreds of shields built for different functions, and in addition there are now many variations of the board to support tons of different capabilities.
One particular area of growth is around the idea of connectedness. There are countless numbers of ways you can make an Arduino internet-capable now. A curious side effect is most or all of these connectivity options are also open source so that means you can use these components with very little effort even if you’re not building directly on top of the Arduino. If you’re building a piece of technology using a similar processor as the Arduino it doesn’t take a lot of effort to port or use a shield directly.
So what does this mean? It means we’ll be seeing a huge growth of the internet of things — IoT.
I guess it shouldn’t come as a shock to anyone that sensors are the ubiquitous device of choice to connect to the internet. They allow us to directly or indirectly measure things, and the more sensors you have the better. We’re constantly wanting to measure things, so if all it takes is a single network connection each then why not add as many sensors as possible? Network is cheap.
Fun with Radiation
I’ve always had a minor interest in radiation. It’s one of those weird things that conjure images of mutations and post-apocalyptic worlds.
It’s probably not surprising that one of my favorite game series is Fallout then. But of course real world radiation isn’t quite that exciting.
Radiation levels are an important thing to measure though. So much so that the uRADMonitor project was built to create a global array of network connected monitoring stations, focused on continuous Environmental Gamma Radiation Surveillance. In other words a bunch of radiation sensors shipped to hundreds of locations worldwide checking in every so often with a current reading of background radiation.
When I first came across this project and I found out there were still some available I jumped at the chance to get one.
Why? Why not? It’s cool.
I’m not actually concerned with the radiation levels around me, but it is fascinating to see the data.
The sensor itself is pretty simplistic in design. It’s a Geiger-Müller tube (a SBM20U specifically) and a microprocessor (I think its an atmega328p). The processor sits there watching the tube and counts the number of pulses that occur every minute from ionizing events. In this case its watching for gamma radiation. Every minute or so it takes that count and sends it up to the uRAD data collection site.
If you look at the components its built with off-the-shelf parts, and more importantly, very Arduino-like. I don’t think anything on this board is pulled from Arduino designs — I’m just saying the similarity is there, meaning if you wanted to build something similar its probably going to be easy to do. The processor is the same (meaning you can write code for it easily enough), and the ethernet module (enc28j60 ethernet module) is compatible with Arduino.
The aluminum enclosure offers a bit of ruggedized weather protection and apparently helps create a more linear gamma response.
I opened it before plugging it in and after it had been shipped via post from Europe. I don’t think there was much residual energy left in the thing.
What’s impressive about it is that it requires up to 500v to run the tube, but it only draws 5v at 500mA (not so coincidentally that is the same output capability of a USB port) so that means there’s some impressive voltage regulation going on inside the thing.
Newer versions of the device have a built in web server too, which is pretty cool. This means I can see the data without having to visit the uRAD site.
And of course there’s some raw data too!