Pyrrha
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.
Install / Use
/learn @Pyrrha-Platform/PyrrhaREADME
Pyrrha
[!NOTE]
Pyrrha is currently undergoing substantial upgrades to ensure all of its dependencies and integrations are up to date.
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 devices, 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 captures 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 device data. | | Hardware | The Arduino microcontroller, battery, and device configurations. Moving towards PCB. | | Mobile-App | The Android Java application that targets Samsung smartphones. Relays device 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 device readings and performs calculations to determine exposure over time. | | Device-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
Security Score
Audited on Nov 12, 2025

