Geiger Backpack With Intel Edison




Introduction: Geiger Backpack With Intel Edison

About: Un luogo di incontro per aziende, scuole e makers per un’ Italia che vuole tornare ad #innovare; un’officina aperta dove far nascere progetti innovativi e nuove professionalità.

We are a group of makers who like to spend nights and weekends tinkering with tecnology here at Verona FabLab (Verona is a town in the North of Italy) and with this instructable we want to describe the project we've realized for Intel Maker contest.

Our project is a portable device powered by an Intel Edison and equipped with a GPS receiver and a Geiger Tube, a sensor able to detect radioactivity.

Our device continuosly measures ambient radioactivity and GPS position and saves them on a cloud database using your smartphone as a WiFi hotspot.

You can turn on your device, put it inside you backpack (here's the origin of the name), pick up you bike and ride all around you town. When you're back at home you can view a heatmap of radioactivity level you encountered during your ride.

Our project doesn't want to mimic governmental environment protection activities, we just want to involve citizenship and make people aware that taking care of our planet is everyone's duty.

Step 1: How It Works

The Geiger tube is a glass tube fullfilled with a special gas and kept at high voltage (500V).

When a radioactive isotope decays, it generates a radiation which can be of 3 types: alpha, beta, gamma.

When the Geiger tube is hit by a radiation, it generates an electrical signal which is detected by the electronics circuits of the hosting Cooking Hacks Arduino shield.

We have the J305ß as the tube for the radiation sensor board as it is fairly sensible to Beta and Gamma radiation.

This shield, is stacked over a GROVE base shield which is stacked over an Intel Edison dev board.

A GROVE GPS is connected to the GROVE base shield.

The Intel Edison detects the interrupts generated by the Geiger shield and computes an average value called CPM (Counts Per Minute) and every 10 seconds it queries the GPS and sends a payload to the cloud server with the current CPM and GPS coords.

Step 2: The Hardware

No soldering is required for this project!

Just stack all the shields, from bottom to top: Intel Edison dev board, GROVE Base shield, Geiger shield.

The GPS must be connected to UART of the GROVE Base shield using the GROVE cable.

Step 3: The Software

The software running on the Intel Edison is composed by:

  • an application in nodejs installed into Intel Edison, It manages the measurement, capture position by GPS, save the data in the local database, set response on the LCD display and send them to the cloud.

On the cloud part we have:

  • an Ubuntu server running Apache webserver and nodejs
  • a node-red flow that receives the payloads from the Geiger Backpack and saves them on a database
  • a MySQL database
  • an HTML page with a Leaflet map with heatmap plugin for data visualization
  • a php for database data extraction

Download the source code from github:

In the folder "GeigerBackPack" you can find the project nodejs build with Intel XDK IoT Edition.

First you have to prepare the Intel Edison, please flash the latest firmware, then access via serial terminal and configure the system and the wifi network. You can do this by following the steps of the official documentation of Intel: Intel Edison on the arduino board

Update nodejs the 0.12 version and packages npm. In the Intel Edison Linux terminal type:

$ vi /etc/opkg/base-feeds.conf

Add these lines:

src/gz all

src/gz edison

src/gz core2-32

$ vi /etc/opkg/intel-iotdk.conf

Add these lines:

src mraa-upm

$ opkg update

$ opkg upgrade nodejs

$ opkg upgrade libmraa0

$ opkg upgrade sqlite3

Update the services XDK-Daemon for compatibility with Indel XDK:

$ cd /opt/xdk-daemon

$ ./

Update and install the following packages npm:

$ npm install -g mraa serialport nmea request qs local-ip http dateformat dblite q events util

Installed and run Intel XDK IoT Edition on your computer: getting-started-with-the-intel-xdk-iot-edition

Open the project GeigerBackPack and press the button "upload" in bottom tab. Launch the application. After 10 seconds you will see the measurement value displayed on the LCD, you can see the measurements directly from a browser if you want connect to IntelEdison: http://addressip:88/ or all measurements in json format: http://addressip:88/Date/

Each time you power on IntelEdison automatically starts nodejs sketch.

Step 4: Let's See It in Action

Create a network hotspot with your smartphone, with ESSID GeigerIntelEdison and password inteledison.

Just once, connect to serial terminal to IntelEdison and add the hotspot network you just created.

The geiger backpack is ready.

Plug a power bank, turn your smartphone into a WiFi hotspot and go!

Step 5: Let's See the Results

Go to

choose time slot and see the heatmap of the radioactivity you encountered during your ride.

Watch the video here.

Intel® IoT Invitational

Second Prize in the
Intel® IoT Invitational

Be the First to Share


    • Make it Glow Contest

      Make it Glow Contest
    • First Time Author Contest

      First Time Author Contest
    • PCB Challenge

      PCB Challenge

    9 Discussions


    4 years ago



    5 years ago

    This is really cool, and a seemingly easy thing to make for perhaps my first project in the electronics department. I have been interested in audrino and raspberry phi stuff for a while, intake Edison is new to me. But I no Zero Zilch Nada about coding or how to read the diagrams that people make with lines and letters and connections on them! Lol. Soldering I can do, wiring doesn't scare me. It's the layouts I don't get. But this seems simple enough to follow. My only question is- I don't have the ability to make my phone a wifi hotspot :( what could I change to allow this to upload to the cloud when in a wifi range. Say when I get home from my ride?


    Reply 4 years ago

    Hi, sorry for late reply.. didn't noticed all your comments (thany you guys!)

    You can modify Edison software for connecting to a different WiFi (we hardcoded the SSID inside the source code). The problem is that at the moment there is no buffer for measurements and that you have to recompile and load every time you change your Wifi. Our solution wants to be portable so a smartphone in hotspot mode is the perfect way. If you want a resident solution, just hardcode your Wifi params and you are ready!

    have a nice day


    5 years ago

    This is so cool! Makes me want to build one :)


    5 years ago

    Sorry about some autocorrect errors in my OG post, like raspberry "phi" instead of pi, and "intake" instead of Intel! Thanks for the great 'ible and helping answer my question!


    5 years ago

    Bel progetto!


    5 years ago

    Very interesting.