Web app interface for MightyOhm Geiger Counter

Support forum for the mightyohm.com Geiger Counter.
Post Reply
Posts: 1
Joined: Tue Aug 11, 2020 1:24 pm

Web app interface for MightyOhm Geiger Counter

Post by laszlo »

I recently finished building my Geiger counter kit. It went together quickly with no trouble at all and worked the first time. As far as user interface options, I wanted something that looked good, was easy to interpret and would work with a wide range of displays and user input devices. I also wanted to write the code once and never have to worry about maintaining drivers, yet have it still work 10 years from now with everything new except for the Geiger counter itself. For all these reasons and more, I went with a web app.

The results are below. I added a SOC (System on Chip) computer to the counter. Something like the Pi Zero W for $10 would work great. The SOC powers the counter (batteries are gone) and reads the serial logging port directly (no serial to USB convertor). The SOC is configured to wirelessly connect to my home network and to run a small webserver written in javascript. The server reads the serial logging data and forwards it to any connected display client. It sends out new data as it arrives from the counter and can serve an essentially unlimited number of clients. As each client connects, it is served the web app in the form of an HTML file and a couple of javascript files. After that, it receives only the counter data.

The display client runs on any device that can support an HTML 5 browser. I've tested this on multiple cell phones (Android and Apple), tablets, laptops and desktops. I've run it on various versions of Linux, Windows, Android and Apple operating systems. Browsers I've tested with were Firefox, Chrome, Amazon's Silk browser, Apple's Safari and multiple flavors of Internet Explorer. All look and work the same.

To use the display, simply make sure that the display device is on the same network as the SOC, open a browser, enter the SOC's IP address/port and html file name into the browser's address bar and go.

The display is pretty intuitive, at least if you understand the MightyOhm Geiger counter. The green indicator on the top left displays the server connection status. It turns red if connection is lost with the SOC server. The three progress bars indicate the instantaneous CPS, CPM and uSv/hr values. The bars are logarithmically scaled so they will indicate the full range possible with the MightyOhm. The grey areas are the "high water" marks, that is, the peak values seen since the browser connected to the server. The current value bars change color from green to yellow to red as the radiation levels increase. They change back as the levels decrease.

Below the progress bars is the logging window. The three radio buttons on the lower right select between the window displaying CPS, CPM or Sv/hr. The three radio buttons on the lower left select between a real time display, a three hour long display with the values averaged for one minute before being displayed or a one day display with the values being averaged for 8 minutes before being displayed.

The logging window has logarithmically scaled vertical divisions, with different divisions for each data type. The maximum range for each data type is the same as the maximum range for its progress bar. The logging window does not change colors.

The second image is a 5-second loop of a real time capture of a CPS reading being done at my desk. It shows the progress bars changing as the instantaneous values change, as well as the CPS value being logged in the logging window.

While a web app may seem intimidating to folks who are mainly into Arduinos or pure hardware, it's actually not that bad. If you can write Arduino, you can write javascript. From a monetary point of view, it can actually be cheaper than using an Arduino. The hardware hookup is also simple. In my case it's just 3 wires, including the 3.3 volt supply to replace the batteries. And now I can access the Geiger counter from anywhere in my house with whatever portable device I have handy. The graphics quality is great, the controls are touch screens and gestures can be used to zoom in on particular parts of the plot.

So here's something to do with that old Intel Edison or Raspberry Pi that's collecting dust on your workbench. Have fun,




User avatar
Site Admin
Posts: 1026
Joined: Fri Apr 03, 2009 10:29 pm
Location: Seattle, WA

Re: Web app interface for MightyOhm Geiger Counter

Post by mightyohm »

This is really cool, thanks for sharing!

Posts: 2
Joined: Tue Sep 01, 2020 8:44 am

Re: Web app interface for MightyOhm Geiger Counter

Post by Reset »

Is there a link to the code that I'm not seeing? It looks interesting.

Post Reply