Develop robust and affordable advanced sensing capability for 20,000 weather stations in Africa (lightning, precip water, ...)

Similar projects worth following
Hackaday 2015
Develop robust lightning sensors with GPS based on earlier Arduino design. Develop PCB and move to Atmega328 with AS3935 Franklin Lightning Sensor and u-blox LEA-M8T GPS.

Details on Semifinals: See details below!

Food production in Africa can be improved through better weather forecasts, early warnings, and climate observations. TAHMO ( will provide the observational basis by designing, deploying, and operating a network of 20,000 weather stations throughout sub-Saharan Africa.

Semifinals requirements:

a) Link to the new video

Present, see to the left below under "2015 Hackaday Prize Semifinals Video"

b) Update and add detail to info entered at the previous stages

Done, see blogs and GitHub repository.

c) Show at least eight (8) Project Log updates

Done, see below.

d) Post a near-complete (at least 90%) components list

Ready, see below

e) Post videos of your prototype in action

Done, see previous and new videos (link to the left)

f) Post an artist’s rendition of the “productized” design/look and feel of the project

This map of Lake Victoria is our artist's rendition of how the overal product should work. Stations detect lightning strokes, time this accurately through the GPS, and measure the associated energy. On the basis of these measurements, we will trilaterate the exact location of heavy thunder storms and produce early warnings.

For technical details, see:

Lightning sensors

The AS3935 Franklin Lightning sensor has been designed for inclusion in consumer devices such as watches, fitness trackers, etc. The sensor provides warnings about approaching lightning storms by providing the distance to nearby strikes. When deployed in a network, one can map the actual lightning position though trilateration. Gilbert Mwangi built a proof of concept that mapped lightning around Nairobi. An article about this can be found here: In the present project, we will develop this concept further, move to a low power ATmel MCU, and design the PCB.

GPS Atmospheric Moisture

The standard use of a GPS is providing users with their geographical position. The GPS signal is affected by moisture in the atmosphere. Because our stations are (mainly) stationary, we can analyze the signal to extract information about atmospheric moisture. Such information is important for improved weather forecasts as it gives the "total precipitable water column". See, for example, "GPS Meteorology: Direct Estimation of the Absolute Value of Precipitable Water". Recent improvements in GPS devices allow us to perform this analysis with affordable GPS devices. Because we already need a GPS for the timing of the lightning strikes, this is a "free" add-on.

Background & State-of-the-Art

TAHMO stands for "Trans-African Hydro-Meteorological Observatory", a program that aims to design, build, deploy, and operate a network 20,000 weather stations in sub-Saharan Africa ( Presently, we have pilot stations in Senegal, Chad, Nigeria, Uganda, and South Africa and "pilots at scale" in Ghana and Kenya.

TAHMO stations have to be be affordable and robust. For example, unlike standard weather stations, there should not be any moving parts as these are quickly affected by dust and insects. Maintenance so be limited to some simple cleaning. The network makes use of the availability of cell-phone coverage that has reached most of Africa over the past decade.

Presently, we work with stations developed by Decagon that come close to TAHMO specs. These stations cover all standard meteo measurements such as air temperature and relative humidity, wind speed and direction, incoming solar radiation, and barometric pressure.

The aim of the Team TAHMO Hackaday project is to add some very useful advanced sensing capabilities, based on existing consumer electronics.

Presently, we are thinking of:

  • Lightning sensors
  • GPS derived atmospheric moisture
  • Large scale soil moisture

The team is based on participants of the first TAHMO Sensor Design Competition.

First results of lightning multi-lateration around Nairobi, Kenya with early standalone prototypes.

Early prototype used.

  • 1 × ATMega328 CPU
  • 1 × Thunder click Lightning sensor board, see also StormSave project
  • 1 × Drotek GPS Provides accurate timing for strike trilateration
  • 1 × LP2950ACZ-3.3/NOPB Voltage regulator
  • 4 × eneloop AA 1800 cycle, Ni-MH Pre-Charged Rechargeable Batteries Rechargeable batteries

View all 7 components

  • Project receives GNSS Prizes

    Nick van de Giesen10/21/2015 at 12:56 0 comments

    At the start of the project, we included the idea to include a high-precision consumer grade GPS receiver. The idea was not just that it could provide synchronized time stamps for the lightning sensors but also could say something about atmospheric moisture content. The technology has been around for some time but until now required relatively expensive ($50,000) geoscientific ground stations. Consumer-grade GPS receivers have improved so much over the past decade that we can achieve sufficient accuracy to determine precipitable water content of the atmospheric column. The only problem is that they only detect one frequency whereas one would like to receive two frequencies in order to correct for ionospheric delays. By regionally modeling the ionosphere using a few existing geoscientific ground stations in the region, we could get by with consumer GPS receivers alone. This idea, to be implemented around Lake Victoria, has won not one but two prizes in the European Satellite Navigation Competition 2015. We won both the special prize for academia (71 entries) but also the national entry for the Netherlands. A summary of the project idea can be found here. A more compelte description is available here.

    This map shows the present TAHMO stations around Lake Victoria, which will be used to install the lightning sensors and GPS receivers.

  • TAHMO selected as a Winner of the Global Resilience Challenge

    Nick van de Giesen09/28/2015 at 10:46 0 comments

    TAHMO has been selected as a winning team of the Global Resilience Challenge! Out of nearly 500 applications submitted, the TAHMO team was selected as one of eight winning teams. The Global Resilience Challenge is a multi-stage design competition designed to surface transformative resilience solutions to problems that threaten the lives and livelihoods of the most vulnerable populations in the Sahel, Horn of Africa and South and Southeast Asia.

    TAHMO will now receive funding to implement the proposed solution in a way that can be scaled and adopted by others in the future. The solution proposed focuses on installing an automated climate observation system, with emergency weather warnings being provided to farmers, fishermen, and the citizens of Uganda.

    From a Hackaday point of view, this means that the work we did over the last months will actually be used in the field within the coming year!

    For more information on this exciting announcement, visit

  • 3D Print

    Nick van de Giesen09/21/2015 at 12:13 0 comments

    As this is a very first attempt at 3D printing, the results are quite nice. We used a Da Vinci Junior 1.0A that uses PLA for its prints. The first time, the two halves of the box fitted nicely, as did all the 'innards' of the box. Some minor modifications will be needed to make the assemblage of the complete box a bit easier but in general the shape is there.

    The image shows the built in PCB with ThunderClick and battery holder. The GPS is fitted in the top part of the housing, on which there is a slot for the small solar cell. This first try warped a little bit but later today we hope to receive a black version, to make the solar cell less conspicuous, from a professional printer. The dimensions are 11x11x5cm.

  • Software used

    Nick van de Giesen09/19/2015 at 17:54 0 comments

    Over the course of this project, we have learned to use quite a number of software packages and platforms. We preferred to use free online tools or, at least, free tools to ensure that any person with an internet connection could use it. Here follows a brief overview with associated newbie remarks.


    We want to share all our code and GitHub is undoubtedly the best platform to use. To make the different types of code available is an easy way, we have a small wiki page ( GitHub is not 100% intuitive if you expect simply a big 'synchronize' button between a local and remote repository. Instead, one first has to copy the new file into the local repository, then push, then commit. It is still not so clear why you would want to push something you do not want to commit. Still, after a while, it provides a liberating feeling that all versions are under control.


    Being able to code Arduinos on any computer connected to the internet, including a Chromebook, is a very attractive feature of What is also very helpful is its very broad support for all Arduino types and derived variations, as well as bootloader installation capacity. It also has a very large library, or set of libraries, built in. There is a possibility to clone projects but we have not really explored its capacity to co-develop online or its version control.


    For the final code development, which required interaction between different programmers in different countries, use was made of ( One has to explicitly copy new code into the window and it has a neat time slider to follow the development.


    For the electronic circuit/PCB design, we used Fritzing. According to some, the continuous present of Fritzing is Fritzinging but that seems a bit over the top. The main attraction of Fritzing is that it allows schematized representation of breadboards. One can then move to a formal schematization and PCB design, including production of Gerber files. In the end, we did not use the breadboard part and there are probably handier ways to design a PCB, but the final result was very satisfying.


    For the design of the housing, we used OpenSCAD, which is a fully parametric 3D design tool. As is stated by the authors, it is not so much meant to make pretty things but functional technical designs. The learning curve is relatively short and one quickly is able to build serious designs. OpenSCAD exports .stl files, which can directly be used by most 3D printers. For one prototype, we used the very affordable Da Vinci Junior 1.0A 3D printer, which used XYZware to drive the printer. Importing .stl files and printing, including supports etc., was a seamless experience.

  • Housing design

    Nick van de Giesen09/18/2015 at 19:02 0 comments

    There are two objectives we need to reach before Monday, September 21st 1:50 PDT. The first objective is finalizing the code modules that communicate with the lightning sensor, the GPS and the outside worlh through the SDI12 protocol. Four hackers are working on that, two in Nigeria, one in Uganda, and one in Kenya. The second objective is the design and construction of the housing. Nadine Rodewijk has designed the housing in OpenSCAD. The PCB designed earlier will be placed veritically, the GPS will be attached to the top of the housing, and the batteries will be placed at the bottom. The image shows the design of the bottom part. The design will be 3D rpinted over the weekend to ensure we are ready before the deadline... Files will be shared through our GitHub repository (

  • interrupt, sleep, repeat

    Nick van de Giesen09/12/2015 at 12:56 0 comments

    It has taken some time to organize for the semi-final activities but we have built up the necessary steam for the final stretch. First coding task was implementation of the hardware interrupt on the ATMega328. Gilbert finished and tested the code this week. When a lightning strike (or disturber) is detected, the microcontroller wakes up, and continues to monitor until no event has occurred for ten minutes, after which it goes back to sleep. The code can be found at: .

    After further and final testing, the settings of the AS3935 lightning detector has to be changed in such a way that it will only cause an interrupt when a lightning strike is detected, and not when a disturber or excessive noise is detected.

  • Power supply test

    Nick van de Giesen08/16/2015 at 17:02 0 comments

    To test whether the small IXYS solar panel would provide sufficient power, we ran the power supply for a week. The load was a simple diode with 330 Ohm resistor, taking 5mA at 3.3V Vcc. The results suggest that the supply is ample, especially because the average power consumption of the detector will be much less (< 1 mA).

    In the final design, we may still want to go for a more advanced solution. This solar energy harvester solution has been adopted by Decagon for its next generation weather stations and would work nicely here as well. The voltage regulator, lp2950, was chosen for its efficiency but sometimes gives off higher voltages than 3.3V, up to 4.5V, while operatiing withing the specified current range. Any suggestions as to why would be very welcome.

  • Quarter final requirements

    Nick van de Giesen08/11/2015 at 04:44 0 comments

    The requirements for the quarter final are, in addition to the first stage requirements:

    Link to the video:

    Update and add detail to info entered at the Entry Round stage: Done

    Show at least four (4) Project Log updates: Done

    Link to any repositories (e.g., Github):

    Post a system design document, including a preliminary components list. The system design document should show what is working and what the Participant is building toward: See blog post 'System design document':

    Document all open-source licenses and permissions as well as any applicable third-party licenses/restrictions: See blog post 'System design document':

  • System design document

    Nick van de Giesen08/11/2015 at 04:36 0 comments

    The system consists of four parts:

    • Power supply
    • AS3935 Thunder click
    • ATMega328
    • NEA-M8T GPS Drotek

    The AS3935 Thunder click and the NEA-M8T GPS Drotek are off-the-shelve PCBs. As these involves RF designs, we decided to go ahead with these solution under the motto “do not solve a problem that has been solved before”. In the final design, we may integrate these PCBs in our own design to save costs. There is an open source design for the AS3935 by Tautic (

    All parts have been tested but the integrated design, hardware and software, not yet. The ATMega328 provides the intelligence to the system but is asleep most of the time. The AS3935 will be in listening mode most of the time, taking 60 muA at 3.3V. Once lightning is detected, an interrupt wakes up the ATMega328, which starts a timer and wakes up the GPS. The data (energy and time stamp) are sent to the TAHMO station through a SDI12 connection.

    Power supply

    The power supply is relatively straightforward and is based on a design by Jon Viduchic ( We are running a small duration test with the load being a LED and 330 Ohm resistor (15 mW) running on the board. The solar panel is 4cm x 3.5cm.

    AS3935 Thunder click

    Communication on the new PCB between the ATMega328 and the 'AS3935 Thunder click' has been tested. The led needs to be removed to save energy.


    PCB with ATMega has been tested with 'AS3935 Thunder click'.

    NEA-M8T GPS Drotek

    Communication with GPS has been tested before but not yet putting it to sleep and waking the GPS.


    • The software still needs to be integrated according to the flowchart below:


    • The SDI12 connectivity needs to be implemented and tested. Code is available at
    • A PCB is never perfect so there will be some differences with the next batch. The latest design, and all earlier versions, can be found at the GitHub repository (
    • An important PCB improvement is to have a tx/tr connection instead of only the SDI12 connection. This makes on-board debugging and software updates much simpler.
    • Housing! We need to make this innocuous, raintight, and affordable.


    For the 2015 Hackaday, all licences and permissions have to be documented. In our case, that is relatively simple.

    All software is built as open source software under a GNU Lesser General Public License, by others or us. The code is written as Arduino code and all code built by others is recognized as such. We use Codebender as development environment.

    The designs are freely available through our GitHub repository (see We used Fritzing for our design.

  • PCBs have arrived

    Nick van de Giesen08/09/2015 at 19:11 2 comments

    The PCBs have arrived. There are actually two manufacturers. The first one was OSH Park (, the purple one in the image below. Because of the 17 August deadline, we needed to expedite the order. Including shipping, it took about one week. The combination of watching the Hackaday Shenzhen movie and an ad on Fritzing, made us decide to also order a set of five at PCBWay (, the green one in the image below. PCBWay took, in expedited form, five days to deliver and the costs were comparable to OSH Park. In general, it was nice to receive them, them being the first ever PCBs designed by us. It is a bit of a kick to design a PCB with Frizting, sending out some files, and then seeing that all the parts fit perfectly. Life is not always that way...

    PCBWay gives a bit more flexibility in how many PCBs, the quality etc. They have a project page that has a bit the Hackaday look. They also show you the progess along the 14 productions steps, see below.

View all 15 project logs

Enjoy this project?



legrady wrote 07/27/2023 at 00:15 point

Under "Lightning Sensors" you have a defective ink to a magazine article ...

Any idea where it moved to?


  Are you sure? yes | no

Brett Walker wrote 08/13/2015 at 11:59 point

Love what you guys are doing here, keep up the good work. 

We're hoping to achieve similar outcomes for remote regions with a low-cost water testing unit using our C4Dapillary platform. If you see value in our platform for your future endeavours please contact me.

All the best :)

  Are you sure? yes | no

Nick van de Giesen wrote 08/05/2015 at 22:02 point

Thanks, we are hoping South Africa can take a regional lead role as monitoring and numerical weather predictions are of high standard. The observation density can always be higher, of course. We have an early station, of a more traditional design, running at the University of Kwazulu Natal. Let us know if you see an opportunity. If we see an opprotunity, we will be in touch as well.

  Are you sure? yes | no

Danie Conradie wrote 08/05/2015 at 08:37 point

Very nice. I might be able to help with deploying some more stations in South Africa. I've been considering putting one up myself

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates