Getting started: - New 15-minute Getting Started guide featuring the two most popular tracks (BLE on esp32dev-ble, RF on lilygo-rtl_433), with broker setup and a verification step - Sidebar restructured around the new-user journey; upload options numbered by ease; Gitpod upload method removed Home page: - VitePress hero with clear actions, larger hero image - How-it-works pipeline diagram shared as a component (responsive via container queries), use-case grid, bigger video tiles without the image lightbox, refreshed press coverage list, functions pills - Support section pointing to Theengs Bridge and github.com/sponsors/1technophile Upload flow: - Decision-oriented upload landing page (journey strip, method cards, comparison table) - Pre-flight checklist and driver troubleshooting on the web installer - Guided environment picker (bridge + hardware wizard) replacing the filter chips, with manifest-verified recommendations - Post-flash next-steps card linking to the portal and verification Board images: - custom_img key in environments.ini and board photos for all web-flashable environments (licenses recorded); private prod_env.ini environments excluded from boards-info.json Corrections: - RF frequency coverage stated as 433/315/868/915MHz - Removed references to the retired compatible.openmqttgateway.com site (BLE list is decoder.theengs.io), the discontinued Theengs Plug, and the private sponsor forum Claude-Session: https://claude.ai/code/session_01TYysQW8tpmt1dWWuzKhTLi Co-authored-by: Florian <1technophile@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
5.1 KiB
Upload
Getting OpenMQTTGateway onto your board takes three steps, whichever method you pick:
Choose your installation method
1. Web installer
Choose this if you want the fastest path: flash directly from your browser, nothing to install.
Needs Chrome, Edge or Opera and a data USB cable. Standard configurations only.
2. Ready-to-go binaries
Choose this if you prefer a desktop flashing tool (esptool.py, Espressif Flash Download Tool), or web flashing doesn't work for you.
Same pre-built firmware as the web installer, flashed from your computer.
3. Build from source
Choose this if you need custom pin assignments, module combinations, or credentials embedded at build time.
Needs PlatformIO. Full control over the configuration.
| Web installer | Binaries | From source | |
|---|---|---|---|
| No software to install | ✅ | ❌ | ❌ |
| Custom configuration | ❌ | ❌ | ✅ |
| Difficulty | Easiest | Easy | Advanced |
After flashing: configure your gateway
However you flashed, a freshly installed gateway starts its own WiFi access point (named OpenMQTTGateway or starting with OMG_). Connect to it and the configuration portal lets you set your WiFi network, MQTT broker, and optional security settings — no rebuild needed.
If you build from source you can alternatively embed the network and MQTT settings at build time, so the gateway connects automatically on first boot.
Going further
- Advanced configuration — TLS-secured MQTT connections, certificates, OTA updates.
- Home Assistant integration — auto-discovery is enabled by default; your gateway and sensors appear automatically.
- Gateway configuration — MQTT topic structure and runtime commands per module.
Stuck? Check the troubleshooting page, or ask on the community forum.
<style scoped> .omg-journey { display: flex; align-items: stretch; gap: 8px; margin: 24px 0; flex-wrap: wrap; } .omg-step { flex: 1 1 150px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; background: var(--vp-c-bg-soft); border: 1px solid var(--vp-c-divider); border-radius: 12px; padding: 16px 12px; } .omg-step-num { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--vp-c-brand-1); color: var(--vp-c-white, #fff); font-weight: 700; font-size: 14px; } .omg-step-sub { color: var(--vp-c-text-2); font-size: 13px; } .omg-step-arrow { align-self: center; color: var(--vp-c-brand-1); font-size: 20px; font-weight: 700; } .omg-methods { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin: 16px 0 24px; } .omg-method { position: relative; display: block; background: var(--vp-c-bg-soft); border: 1px solid var(--vp-c-divider); border-radius: 12px; padding: 20px; text-decoration: none !important; color: var(--vp-c-text-1); transition: border-color 0.2s ease, transform 0.2s ease; } .omg-method:hover { border-color: var(--vp-c-brand-1); transform: translateY(-2px); } .omg-method h3 { margin: 0 0 8px; font-size: 16px; font-weight: 600; color: var(--vp-c-brand-1); } .omg-method p { margin: 0 0 8px; font-size: 14px; line-height: 1.5; } .omg-method-req { color: var(--vp-c-text-2); font-size: 13px !important; } .omg-method-badge { position: absolute; top: -10px; right: 12px; background: var(--vp-c-brand-1); color: var(--vp-c-white, #fff); border-radius: 10px; padding: 2px 10px; font-size: 12px; font-weight: 600; } @media (max-width: 640px) { .omg-journey { flex-direction: column; } .omg-step-arrow { transform: rotate(90deg); } } </style>