Each unit is equipped with Geiger Muller tube „SBM-20“as adequately sensitive Gamma ray detector. These tubes are low cost and widely available as former USSR military surplus. Microcontroller inside unit, with accompanying developed firmware, serves multitude of purposes: generating PWM pulses for DC/DC converter, keeping track of number how many photons of Gamma radiation collide with the GM tube in 60 seconds period, calculating derived values of equivalent dose of radiation in nSv/h for periods of 60 seconds, calculating and keeping track of average values for period of 60 minutes, keeping track of historical average values of last 12 hours.

Microcontroller inside the unit is also playing a role of a web server, using the Microchip™ TCP/IP stack with custom added functionalities. Each unit has Ethernet port, and connected to DHCP enabled router, via the DynDNS service is easily accessible from the Internet. Users can access measurement logs, while authorized users can change system parameter and restart the unit.

Every unit sends the latest 60 second measurement to a remote central server with ASP.NET application running on it. Unit is now acting as a HTTP client, and using the GET method it appends the parameters to the requested url on the central server. Web application on the server parses this request, extracts the data sent, and inserts it into a database.

Web application also has a web page which displays aggregated measurements from multitude of units, displayed on a map using Google Maps™ API. Every active unit is displayed as a marker on the map. Users clicking on the marker can see the location of the unit, latest measurement with date time stamp. All measurement are color coded throughout the system, so that users can easily estimate state of Gamma radiation at that site just by observing color of the readings. Users can also access historical measurement records for every unit by choosing different time periods, and by optionally choosing isotope for which measurements will be adjusted and displayed accordingly.

Last part of the system is Windows Phone 7 mobile application. It allows users on a move to view data collected from sensing units. This mobile application uses the same database as web application for data storage, but presentation and HCI experience is adjusted for handheld device screen. Application itself is created using the Silverlight™ framework.

Upon start of the application users view all active units as pushpins on a map created using Bing Maps™ API. Tapping on the pushpin message box will appear with the latest measurement and time date stamp of the measurement. Holding a finger or a stylus for a few seconds on a pushpin triggers opening of another page with historical data for that site. Users can choose time period for which they want to review the measurement data. Also here all the measurement records are color coded in uniform pattern with the rest of the system.

The entire module is powered via USB connector which provides +5V DC voltage. This voltage is used directly to power the Microchip microcontroller PIC18F2685, it also provides +3.3 V DC level for ENC28J60 module via the low dropout regulator, and finally it is used in DC/DC converter to produce the +400 V DC voltage for the GM tube.

Reasons for choosing of 18F2685 microcontroller as the processing core of data acquisition module are primarily:

This microcontroller is also serving in a role of Web server, providing simple html pages to visitors, containing actual measurement as well as giving historical data for the last 12 hours. Every 60 seconds it also sends measurement information to the central server. These functionalities are implemented as add-ons to the Microchip TCP/IP stack functionalities, as well as support for NTP , DHCP protocols, and DynDNS service.

Firmware inside this micro is in charge of providing functionalities to support the following:

* core operations of TCP/IP stack

* HTTP server operations

* counting of events coming from the GM tube and calculating the results in the time domain

* sending of the measurement results to the central server

* support for administrative actions executed from remote locations

Core operations of the TCP/IP stack and HTTP server functionalities are implemented with the help of Microchip TCP/IP stack libraries, which are modified for the desired functionalities of this project. It is important to emphasize that resources of the microcontroller are not large enough to support the requirements of the Ethernet protocol, which is why the GM detector unit has Microchip ENC28J60 Ethernet controller onboard. This controller is in charge of providing functionalities of the Ethernet protocol layer and is communicating with the 18F2685 microcontroller via the SPI bus.

Counting of the events coming from the GM tube is implemented as a ISR  routine, which is triggered every time an event is detected on the external pin of the microcontroller.

Central point for data collection, analysis and presentation is the web application, developed using the Microsoft ASP.NET framework, coupled with the SQL Server 2008 R2 instance for data storage. Web application uses the MVC (Model View Controller) architecture for clear separation of services and layers and ADO.NET technology for object-relational mapping.

All of the GM detectors are sending the collected measurement data every 60 seconds by forming a HTTP GET request for the specific “get_rx.aspx” page on the server.

After the initial parsing, various checks are performed to ensure the integrity of the data received, so that incomplete measurement result will not be inserted into the database. If the GM detector is transmitting location not found in the database, web application will employ geocoding procedure, again using the Google Maps API, to try to get the longitude and latitude of the new location.

If the geocoding precision factor of the newly found location is satisfactory, new location will be inserted as valid one in the database. But, in any case, administrator will receive note calling for his attention and possible revision.

Visitors first landing on the start page are presented with clear and intuitive user interface, showing the map of a region and all active GM detector devices presented as markers. Google Maps service is used for presentation of the maps and markers, while communication between client and web application/database is implemented using Microsoft Communication Foundation web service running on the central server. This web service duty is to fetch the data from the database, serialize it in XML format and send it to the JavaScript applet which is running on the client. This applet then parses the received XML data to initiate markers on the Google Map.

When clicked on, markers display color coded information on the last available measurement for that location, as well as time and date of that measurement.

Users can also view detailed historical data for location which is implemented in familiar style as ASP.NET Chart control. Users can choose location, time period of interest and optionally isotope for which the results will be adjusted. Raw measurement data in form of CPM value is fetched from the database and then used to mathematically calculate equivalent dose in nSv/h for the specific isotope.

Third and final software module of the entire system is the Windows Phone 7 application intended to run on mobile devices. This application is using available resources of the developed web application, specifically web service used to retrieve data from the database.

Windows Phone 7 application is developed using the Microsoft Silverlight application framework, which is based on XAML markup language, and is more suitable for this kind of application. User interface is somewhat changed in regard to the web application, mostly to accommodate specific requirements of dealing with touch screen controls and relatively small displays of mobile device.