In 2017, Hurricane Maria, a category-5 storm, severely impacted Puerto Rico, demolishing homes and communication infrastructure. To address this issue, the ClusterDuck Protocol (CDP) was developed in 2018. It utilizes battery-powered Internet-of-Things devices to reestablish essential communication during emergencies, allowing civilians to request assistance, share their locations, and receive vital information from local governments and responders.
The ClusterDuck Protocol runs on a variety of IoT hardware, including many ESP32 Arduinos.
Here is a list of hardware we use, though there may be many others that work. We recommend the Heltec LoRa ESP32 and the TTGO T-Beam ESP32.
For a simple network you will want to make at least two Ducks. For bigger networks you will need more.
To start developing, you will need PlatformIO on your computer.
Download or git clone the CDP library from GitHub.
Follow the installation instructions here
Please Note: With the Release of the ClusterDuck Protocol Version 4 we have different instructions. If you are looking for older instructions please go here
Connect your board to platform IO
Follow the these updates instructions for loading up a Duck to get one running.
Use the pre-built examples or develop custom Ducks of your own.
Deploy!
FirstChip (also known as Innostor in legacy models, though the naming has shifted) produces controllers that require specific . Unlike standard Windows formatting, MPTools communicate directly with the controller via USB VID/PID codes. They allow you to:
If you get stuck, include the exact error code and flash chip name from MPTools log. firstchip chipyc2019 mptools new
firstchip chipyc2019 mptools " (also known as the series) is a specialized utility used for the recovery, repair, and "mass production" of USB flash drives that use FirstChip controllers. ⚡ Core Functionality FirstChip (also known as Innostor in legacy models,
| Error Code | Meaning | Solution with New MPtools | | :--- | :--- | :--- | | | Bad Block threshold exceeded | In "NAND Setting," increase "Allow Bad Block" to 100. The tool is being too strict. | | 0x104 | Flash download failure | Your NAND is physically degraded. Try "Slow Speed" mode (only available in New tools). | | 0x181 | ISP (In-System Program) timeout | You need to short the LED pins on the PCB during the 2-second power-on to force ROM mode. | | Check Chip Fail | Incorrect tool version | The "New" tool doesn't support this specific NAND combination. Wait for a firmware database update. | firstchip chipyc2019 mptools " (also known as the
An hour later, the bar turned a vibrant green. Leo replugged the drive. The "No Media" ghost was gone. In its place stood a healthy, honest 32GB drive. It wasn't the 2TB titan he'd been promised, but it was real, it was stable, and most importantly, it was alive.
: Error codes like 31 or B1 typically indicate an unsupported FlashID, requiring a newer version of the tool or an updated FlashDB. Why These Tools are Necessary