The parts of Ferqon you can read, patch, and port
We open-source the edges — firmware, board definitions, and hardware libraries — so you can audit, extend, and depend on them. The core product — Ferqon Server — remains commercial, funding continued development of these open components.
Why we open-source the edges
Embedded hardware work sits at the intersection of your code, your tools, and your physical devices. The parts that touch your hardware — the firmware that runs on the chip, the protocol that travels over the wire, and the metadata that describes your board — should belong to the community.
We keep the product — Ferqon Server (the licensing backend) — commercial. That revenue funds the ongoing development of the open-source components and ensures Revyr Labs can support and improve them over the long term.
This inverted model — commercial core, open edges — means you get a polished, maintained toolchain without vendor lock-in on the bus. You can audit the firmware, port the protocol, and add your own boards through pull requests, not forks.
Ecosystem Map
Three concentric layers — commercial core, open edges, shared contract
Commercial Core
Ferqon Server (licensing/backend)
Open Edges
Firmware, Firmware SDK, Board definitions, Hardware library
Shared Contract
Command definitions — single source of truth
Commercial product integrates open components at the boundaries
Open-Source Components
Four planned repositories covering firmware, protocol, board definitions, and hardware SDK
Ferqon-Firmware
C / C++
Open-source firmware that runs on your MCU board and acts as the bridge between Ferqon Server and your device under test. Supports RP2040, ESP32, ESP32-S3, and Teensy 4.0/4.1 today.
- Runs on common MCU boards (RP2040, ESP32, Teensy)
- Build, flash, and self-test via the ferqonfw CLI
- Add your own board with the platform abstraction layer
ferqon-firmware-sdk
Python + C (generated)
Libraries for adding custom hardware support to Ferqon. Define your board's commands in one place and generate Python and C bindings automatically.
- Single source of truth for command definitions
- Auto-generated Python and C bindings
- Python and C outputs always in sync
ferqon-board-defs
JSON + Schema
Machine-readable board profiles for every supported device. Adding a new board is a pull request, not a fork.
- JSON Schema-validated board definitions
- Current entries: Pico/RP2040, ESP32/S3, STM32 F4/F7, Teensy 4.0/4.1
ferqon-hw
Python
Python library for script-level hardware access through Ferqon — read pins, write pins, and send commands to your boards.
- Works with real USB-connected devices
- Designed to run safely inside Ferqon's sandbox
For Contributors
Everything you need to start contributing to the open-source components
Getting Started
- Clone the repository
- Run generators to build SDKs from JSON definitions
- Run the sandbox example to validate your environment
See CONTRIBUTING.md for detailed setup instructions.
Contribution Workflow
- Follow Conventional Commits (feat:, fix:, docs:, etc.)
- PR checklist: lint, typecheck, tests all pass
- Signed commits encouraged (DCO or CLA)
See CODE_OF_CONDUCT.md and SECURITY.md.
Governance & Maintainers
- Revyr Labs team reviews all PRs
- Triage SLA target: 5 business days
- Release cadence: aligned with Ferqon product releases
Specific governance model to be defined.
How commercial work flows back
Revyr Labs's paid development on Ferqon Server regularly produces bug fixes, protocol improvements, and driver enhancements. We upstream these changes into the open-source repositories so the community benefits from the same improvements we use internally.
Philosophy
Three principles that guide our open-source approach
Protocols before products
The communication format is stable, documented, and public — your tooling keeps working even if you outgrow ours.
Portable by construction
Platform-specific code is abstracted away, so every driver you write can ship to every supported board.
Commercial work is a contributor
Revyr Labs's paid work funds these repos and upstreams its fixes back into them.
Stay informed
Get notified when repositories open, new components are added, or major releases ship. We'll send occasional updates — no spam.