Skip to content
Contributing

Contributing

Contributing to OpenPiste

OpenPiste is volunteer-driven open source work. Contributions of any kind are welcome.

Who can contribute?

Armourers and fencing officials — your real-world experience is the most valuable input the project can receive. If something does not work the way you need it to, or if there is a test case or scenario the devices do not cover, that feedback directly shapes development. The Genova improvements came from exactly this kind of input.

Embedded developers and makers — if you work with ESP32, MQTT, C++, or Android and want to contribute code, fixes, or improvements, the repositories are open and pull requests are welcome.

Everyone else — bug reports, documentation improvements, questions that expose gaps, and suggestions for new features are all useful contributions.

How to contribute

  1. Open an issue on the relevant GitHub repository — describe what you found, what you need, or what you want to change.
  2. Fork the repository, make your changes, and open a pull request.
  3. For hardware contributions (PCB improvements, alternative builds), open an issue first to discuss the approach.

OpenPiste Protocol

The OpenPiste platform uses a new open communication protocol for MQTT-based communication between scoring apparatus, displays, remote controls, and video referee tools. It is designed as an open standard — any manufacturer, developer, club, or federation can implement it.

The protocol specification is developed openly on GitHub and is currently in draft. We are looking for feedback from everyone in the fencing electronics community: developers, armourers, referees, competition organisers, and federation officials. You do not need to be a developer to contribute — domain knowledge is just as valuable as technical input.

View the specification and participate →

Repositories

Component Repository
Scoring Device esp32scoringdeviceMqtt
Weapon & Wire Tester ImprovedTesterAfterGenova
Hardware Remote CYDRemoteControl
Mobile Remote remotecontrolapp
Piste Monitor CyranoPisteMonitor

Code style

  • C++ firmware follows the conventions already in place in each repository
  • Keep commits focused — one logical change per commit
  • Document anything non-obvious in comments

All contributions are appreciated, however small.