Open Fume Extractor is a modular fume-extraction controller built around an ESP32-S3 master, a 250 kbaud OFE RS485 bus, interchangeable interface modules, three display variants, a web interface and Home Assistant integration through MQTT.
This repository contains the complete project source, ready-to-flash firmware images, a browser-based USB flasher and English end-user documentation.
- Open the browser-based USB flasher in desktop Chrome or Edge.
- Read Installation.
- Check the hardware pinout before wiring anything.
- Select the exact target in the firmware index.
- Use
*-merged.binfor an initial USB flash at address0x0. - Use the matching normal
.binfor signed web or bus updates.
- Installation and first commissioning
- Master setup and configuration
- Module setup and configuration
- Operation and diagnostics
- Hardware and pinout
- Firmware files, versions and checksums
- Building from source
- Universal RS232 and Modbus RTU Profile Builder
- Display RS485/WiFi operation
- Troubleshooting
- GitHub Pages web flasher setup
OpenFumeExtractorMaster/- master firmwareModule/- all RS485 module and display firmware sketchesprofiles/- example Universal RS232 and Modbus RTU profilesexamples/- hardware and protocol examplestools/- build, verification and firmware-signing utilitiesfirmware/- signed OTA packages and complete merged USB imagesflasher/- firmware catalog and ESP Web Tools manifests
- persistent module inventory with automatic address assignment
- JBC-compatible FAE bus and USB station monitoring/control
- Fan/IO, Fan/IO Pro and Weller Zero Smog outputs
- profile-driven Universal RS232 and Modbus RTU bridges with up to 32 entities
- main input/output routing, after-run power and graphical Boolean logic
- bilingual web UI and displays
- Home Assistant MQTT Discovery with TLS support
- Ed25519-signed master and module firmware updates
- AXS15231B 320x480, ST7796 320x480 and RGB 800x480 displays with RS485/WiFi failover and wireless OTA
Original Open Fume Extractor source code is licensed under
GPL-3.0-or-later. Third-party components retain their own licenses;
see THIRD_PARTY_NOTICES.md and LICENSES/.
The private firmware-signing key is intentionally not published. It is not required to inspect, modify or build the source. Community builds may use their own signing key or the developer update path on hardware they control.
This is an independent community project. JBC and other referenced product names belong to their respective owners and are used only to describe compatibility. The project is not affiliated with or endorsed by JBC Soldering S.L. No proprietary JBC firmware, DLL, source code, logo or documentation is distributed. See TRADEMARKS.md.
The firmware and pinout describe 3.3 V logic and low-voltage controller wiring. They are not a certified mains or motor-power design. Use suitable fusing, isolation, level shifting, flyback/overvoltage protection and an enclosure for the actual load. Never connect RS232 voltage levels directly to an ESP32 GPIO.