Pyrrha
Pyrrha copied to clipboard
Version 4 of the Prometeo codebase released as Pyrrha, a Call for Code® with The Linux Foundation project. Start here, then explore the hardware, firmware, analytics, and mobile components.
Pyrrha
Prometeo Solutions S.L. created Prometeo as a Call for Code submission that won the top prize in the Global Challenge. In 2021, Pyrrha was contributed to the Linux Foundation as the open source core of Prometeo in order share the technology and provide a way for others to improve it for the benefit of all.
The Pyrrha mission is to help protect firefighters from the immediate and long-term health impacts from the smoke and toxins they inhale by providing real-time information on exposure and by calculating longer-term averages. The project uses custom sensors, smartphone and smartwatch apps, data science, and a dashboard to provide decision-making insight and information.
Improved by field tests in the Catalonia region of Spain and through the support of IBM Service Corps volunteers, our hope is that Pyrrha can also provide a powerful solution to assist wildlands firefighting teams around the world in their battle against more frequent and more devastating wildfires and bushfires.
Get started
- Get started
- Pyrrha v1 (Prometeo v4)
- The story
- Solution at a glance
- Pyrrha projects
- Built with
- Quick start
- Get involved
- Original Prometeo team
- Prometeo Platform S.L. team
- IBM Call for Code team
- IBM Service Corps team
- Technical Steering Committee
- Public meetings
- License
Pyrrha v1 (Prometeo v4)
The first version of the Pyrrha project has been released as a Call for Code® with The Linux Foundation project. Pyrrha will carry on as a separate name distinct from the Prometeo Solutions trademark, the flame-colored haired daughter-in-law of Prometheus in Greek mythology.
The story
Watch this video to learn about the Pyrrha solution based on Prometeo's original Call for Code 2019 winning application:
Solution at a glance

- The firefighter logs into the ruggedized Samsung smartphone via IBM App ID. Devices are paired through Bluetooth.
- The device sensors capture toxin levels. The device sends stored readings to the phone at regular intervals.
- The mobile application relays data to the IBM IoT platform.
- The MQTT client service listens for incoming messages from the IBM IoT platform.
- The MQTT client stores the data in the MariaDB relational database.
- The MQTT client sends the data to the WebSocket server.
- The Rules-Decision service wakes up every minute to calculate the 10 mins, 30 mins, 60 mins, 4 hours, and 8 hours time-weighted averages for each gas.
- The dashboard queries the database to show the historical data.
- The dashboard connects to the WebSocket Server to show live data and alerts the user if the levels go above certain pre-determined thresholds.
- The command center can view the dashboard using the web browser on a laptop or tablet.
- The mobile application regularly requests status from the Rules-Decision service and emits the result via device LED and Samsung phone/watch vibrations.
Pyrrha projects
| Name | What it does |
|---|---|
| Pyrrha | This repository, the main landing page for learning project details. |
| Dashboard | The Carbon and React based dashboard that shows real-time readings and long-term averages. |
| Database | The MariaDB database where real-time readings are stored and along with calculated averages. |
| Deployment-Configurations | Various GitHub Actions, Helm Charts, and other deployment assets and configuration files. |
| Firmware | The Arduino based sketch that connects the device to Bluetooth and stores sensor data. |
| Hardware | The Arduino microcontroller, battery, and sensor configurations. Moving towards PCB. |
| Mobile-App | The Android Java application that targets Samsung smartphones. Relays sensor data from the device. |
| MQTT-Client | Consumes MQTT messages and stores them in the database for persistence and relays over WebSocket. |
| Rules-Decision | Analyzes the raw sensor readings and performs calculations to determine exposure over time. |
| Sensor-Simulator | Generates sample data that can simulate readings in the absense of a physical device. |
| Watch-App | The Tizen Web App for Samsung Galaxy smartwatches that can display readings and vibrate alerts. |
| Website | The Carbon and React based single page application for the pyrrha-platform.org site. |
| WebSocket-Server | Relays messages in real time to the dashboard which can be monitored by the control center. |
Built with
Quick start
The Pyrrha project consists of multiple microservices running in parallel. We have created a Docker Compose configuration to help you get started with a development environment. Docker Compose is a tool that enables running multiple containers on the same host using a lightweight configuration. The Compose file defines all the services along with the dependencies in the correct order. You can bring up the whole environment by using a single docker-compose up command. Follow the instructions in the DOCKER_COMPOSE.md file to develop Pyrrha.
Get involved
Please read GET_INVOLVED.md to understand how you can contribute to the Pyrrha Project.
We use Slack in the Call for Code workspace #prometeo-pyrrha channel for discussion.
Original Prometeo team
| Name | Title | GitHub | Slack |
|---|---|---|---|
| Marco Emilio Rodriguez Serrano | Data scientist | Marco | @marco.rodriguez.serra |
| Salome Valero Cumplido | PhD engineer | Salome | @salome.valero |
| Josep Ràfols | Full stack developer | Josep | @joraco |
| Joan Herrera | Firefighter | --- | --- |
| Vicenç Ferrés | Nurse/EMT | --- | --- |
Prometeo Platform S.L. team
| Name | Title | Github | Slack |
|---|---|---|---|
| Salome Valero Cumplido | CEO | Salome | @salome.valero |
| Marco Emilio Rodriguez Serrano | CTO | Marco | @marco.rodriguez.serra |
| Joan Herrera | COO | --- | --- |
IBM Call for Code team
| Name | Title | GitHub | Slack |
|---|---|---|---|
| Daniel Krook | CTO | Daniel | @krook |
| Upkar Lidder | Technical Lead | Upkar | @upkarlidder |
| Taeson Black | Tech. Solution Specialist Intern | Tae | @tae.black |
| Alejandro Quijada | Tech. Solution Specialist Intern | Alejandro | @alejandro.quijada |
| Charlie Evans | Software Engineer | Charlie | @Charlie Evans |
IBM Service Corps team
| Name |
|---|
| Brandi Boatner |
| Dina Tawil |
| George Zacharakis-Jutz |
| John Segrave-Daly |
| Laura J Mokrzycki |
| Laura Visochek |
| Marisol Elizabeth Santillan |
| Nithya Renganathan |
| Samantha Davis |
| Upkar Lidder |
| Vince Siu |
Technical Steering Committee
Per the The Pyrrha Technical Charter
| Name | Organization |
|---|---|
| Salome Valero Cumplido | Prometeo Platform S.L. |
| Marco Emilio Rodriguez Serrano | Prometeo Platform S.L. |
| Joan Herrera | Prometeo Platform S.L. |
| Daniel Krook | IBM |
| Upkar Lidder | Independent |
Public meetings
Wednesdays at 2:30pm US ET. Join us on Webex.
Minutes
Recordings
- Wednesday, October 12, 2022 -
AafsXeq3 - Wednesday, September 14, 2022 -
tK3VFmqP - Wednesday, July 27, 2022 -
MsRFCEF5 - Wednesday, June 29, 2022 -
8JkDPRsZ - Wednesday, May 25, 2022 -
Smb4Afyq - Wednesday, May 18, 2022 -
5Xg5R4w9 - Wednesday, May 11, 2022 -
Jq8CcMdc - Wednesday, May 4, 2022 -
fXaf9xGR - Wednesday, April 27, 2022 -
Pj6jRFqm - Wednesday, April 13, 2022 -
wCCGx8Rx - Wednesday, April 6, 2022 -
Bw2GJeJH - Wednesday, March 30, 2022 -
Jiyk8Hht - Wednesday, March 23, 2022 -
eAu9n6ag - Wednesday, March 16, 2022 -
jUrnF3rM - Wednesday, March 9, 2022 -
uKMimkV6 - Wednesday, March 2, 2022 - Not recorded
- Wednesday, February 23, 2022 -
JpBmTxm2 - Wednesday, February 16, 2022 -
tUSwHk7X - Wednesday, February 9, 2022 -
sM7rKJCA - Wednesday, February 2, 2022 -
3Rk6q9FQ - Wednesday, January 26, 2022 -
mZdfFeM6 - Wednesday, January 19, 2022 -
xAWFKFF5 - Wednesday, January 12, 2022 -
FmNhJ55F - Wednesday, December 1, 2021 -
ThEGSPS5 - Wednesday, November 24, 2021 -
gNwaH8np - Wednesday, November 10, 2021 -
nKHdxyB8 - Wednesday, November 3, 2021 -
JqNZJUY2 - Wednesday, October 20, 2021 -
vNjR39SB - Wednesday, October 13, 2021 -
cFV3cYuX - Wednesday, October 6, 2021 -
DwbbdKy2 - Wednesday, September 29, 2021 -
NvpQ6v2C - Wednesday, September 22, 2021 -
SmZKir43 - Wednesday, September 15, 2021 -
RssuZpk4 - Wednesday, September 8, 2021 -
cMNMpkp8 - Wednesday, September 1, 2021 -
eUr8t7tM
License
This project is licensed under the Apache 2 License - see the LICENSE file for details.
