Skip to content
An open source sonar stream gauge designed to give early warning of flood conditions to residents in vulnerable areas.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Flood Early Warning Using Sonar and IVR

Tepmachcha is an open source sonar stream gauge designed to give early warning of flood conditions to residents in vulnerable areas. When a flood condition is detected, Tepmachcha triggers a call with a voice recording via the RapidPro interactive voice response (IVR) system. It also records water levels at regular intervals for later analysis of flooding patterns or to inform more complex hydrological analysis.

Tepmachcha was designed at the DAI Maker Lab in collaboration with People in Need Cambodia with funding from USAID's Development Innovations project, People in Need, and DAI. It is a fork of the Hidrosónico sonar stream gauge piloted by DAI in Honduras as part of the USAID Proparque project. It is released under the MIT License.


The world-reknowned friezes at Angkor Wat depict scenes from Cambodian history and Hindu mythology, including the tale of the god Vishnu appearing in the form of a fish to warn mankind of a catastrophic flood. This fish avatar, known in Sanskrit as "Matsya", is called "Tepmachcha" in Khmer, and is the namesake of the project.

What Tepmachcha Does: The Short Story

Tepmachcha uses sonar to read the level of water in a river, stream, or canal, at regular intervals determined by the user. It uses a cellular data connection to report that level to an internet server. If Tepmachcha detects water level in excess of yellow or red alert limits set by the user, it sends an HTTP POST request that triggers an instance of the RapidPro IVR system to make a voice call that warns users in the affected area(s). Certain operational commands can be sent to the unit by SMS.

The DAI Maker Lab Design Approach

The DAI Maker Lab leverages emerging tools and approaches associated with the maker movement to build devices and capacity that empower people in developing countries to apply technology to problems. The goal is hardware that can be locally built, repaired, maintained and extended. Toward that end, DAI Maker Lab designs:

  • Are always released as open source.
  • Utilize off-the-shelf parts when possible.
  • Utilize open source hardware when possible, so that discontinuted components can be later recreated or replaced if necessary.
  • Prefer well-documented component hardware, and hardware with an existing community of development and support, to maximize value to end users.
  • Prefer transparency to non-expert users over optimal computational or engineering design.


The bill of materials for Tepmachcha includes:

  • The Seeeduino Stalker v3.0 Arduino-compatible microcontroller board. The Stalker is not the most commonly available Arduino-compatible board, and to be honest, the English documentation -- while much improved over the last year -- is not perfect. But its optimization for low-power operation; inclusion of a solar battery charging circuit, real-time clock (RTC), and XBee socket; and reasonable price make it a good choice for Tepmachcha.
  • The Adafruit FONA 808 cellular breakout board. There are less expensive GSM boards on the market, but Adafruit's standard of documentation, support, and community are difficult to beat. We use the 808 rather than the slightly cheaper 800 because it supports SSL, which RapidPro requires.
  • The Maxbotix MB7363 HRXL-MaxSonar-WRLS sonar.
  • A simple custom PCB to connect the various parts. This is optional but keeps everything neat and connected inside the enclosure.
  • An XBee XB24-AWI-001 radio enables wireless reprogramming in proximity to the unit. Because the units are generally installed in places that are not easy to get to, taking them down and opening them up to flash updated firmware is a real pain. But the XBee can be tempremental; it costs money, uses power and there is a fair amount of code supporting its use, so a non-crazy person might elect to exclude it.
  • A power subsystem. The Stalker has a charging circuit, but a LiPo battery and a solar panel are required; the solar panel will probably have to be spliced onto a JST-PH 2mm connector to plug into the Stalker.

The complete bill of materials is included in the repository.


Tepmachcha uses:

You can’t perform that action at this time.