docs: enrich org profile README — ecosystem overview, use cases, quick start
This commit is contained in:
1 file changed
+63
-13
+63
-13
@@ -2,25 +2,75 @@
|
||||
|
||||
**/ˈdɒŋ.ɡəl.ɔːr.ə/** — a portmanteau of **dongle** and **LoRa**.
|
||||
|
||||
Transparent LoRa radio over USB. Flash the firmware onto a supported board, plug it in, and send/receive LoRa packets from your computer. The firmware handles the radio; your code decides what to do with it.
|
||||
Turn any LoRa board into a USB radio peripheral. Flash the firmware, plug it in, and you have a full LoRa workbench — transmitting, receiving, and building applications in minutes, not days.
|
||||
|
||||
DongLoRa is an ecosystem: firmware that turns cheap LoRa boards into dumb USB radios, client libraries that make talking to them trivial, a multiplexer that lets you run multiple applications on one dongle simultaneously, and real applications built on top of all of it.
|
||||
|
||||
## Get Started in 3 Steps
|
||||
|
||||
```
|
||||
Your code ──► client library ──┐
|
||||
Your code ──► client library ──┤
|
||||
... ├──► mux daemon ──► USB serial ──► firmware ──► LoRa radio
|
||||
Your code ──► client library ──┤
|
||||
Your code ──► client library ──┘
|
||||
1. Flash firmware just flash heltec_v4
|
||||
2. Plug in the board (USB, that's it)
|
||||
3. Receive packets just rx
|
||||
```
|
||||
|
||||
## Repositories
|
||||
No drivers to install. No configuration files. No SDK to learn. The client library auto-detects your dongle and you're on the air.
|
||||
|
||||
| Repo | Description | Language |
|
||||
## How It Works
|
||||
|
||||
The firmware is a dumb pipe — it has zero opinions about what you do with your radio. All the intelligence lives on the host. This means any language that can open a serial port can speak LoRa.
|
||||
|
||||
```
|
||||
Your app ──► client library ──► USB ──► firmware ──► LoRa radio ──► the air
|
||||
|
||||
Your app ──► client library ──┐
|
||||
Your app ──► client library ──┤
|
||||
... ├──► mux ──► USB ──► firmware ──► LoRa radio
|
||||
Your app ──► client library ──┤
|
||||
Your app ──► client library ──┘
|
||||
```
|
||||
|
||||
The multiplexer lets you run a mesh bot, a packet sniffer, and a bridge all on the same radio at the same time.
|
||||
|
||||
## What Can You Build?
|
||||
|
||||
- **Mesh network tools** — run Meshtastic, MeshCore, or your own mesh protocol from a laptop, server, or Raspberry Pi
|
||||
- **LoRa packet analysis** — sniff, decode, and log every packet on a frequency
|
||||
- **Long-range bridges** — relay LoRa traffic across the internet, connecting distant networks
|
||||
- **Automated monitoring** — watch repeater telemetry, track fleet status, alert on events
|
||||
- **AI-powered mesh bots** — autonomous chatbots that live on mesh networks
|
||||
- **RF site surveys** — sweep frequencies and map signal strength from your desk
|
||||
- **Rapid prototyping** — test LoRa ideas in Python without touching embedded code
|
||||
- **Multi-radio coordination** — run multiple dongles for frequency hopping, diversity reception, or parallel monitoring
|
||||
- **Education and research** — teach LoRa concepts with immediate, tangible feedback
|
||||
- **Field deployments** — plug a dongle into a Raspberry Pi and you have a headless LoRa gateway
|
||||
|
||||
## The Ecosystem
|
||||
|
||||
| Repo | What it does | Language |
|
||||
|------|-------------|----------|
|
||||
| [firmware](https://github.com/donglora/firmware) | Embedded firmware for LoRa boards | Rust |
|
||||
| [firmware](https://github.com/donglora/firmware) | Embedded firmware — turns LoRa boards into USB radio peripherals | Rust |
|
||||
| [client-rs](https://github.com/donglora/client-rs) | Rust client library (`donglora-client` on crates.io) | Rust |
|
||||
| [client-py](https://github.com/donglora/client-py) | Python client library (`donglora-python` on PyPI) | Python |
|
||||
| [mux-rs](https://github.com/donglora/mux-rs) | USB multiplexer daemon | Rust |
|
||||
| [mux-py](https://github.com/donglora/mux-py) | USB multiplexer daemon | Python |
|
||||
| [bridge](https://github.com/donglora/bridge) | P2P LoRa bridge over the internet | Rust |
|
||||
| [examples](https://github.com/donglora/examples) | Demo scripts — receive, transmit, bridge | Python |
|
||||
| [mux-rs](https://github.com/donglora/mux-rs) | USB multiplexer — share one dongle across multiple apps | Rust |
|
||||
| [mux-py](https://github.com/donglora/mux-py) | USB multiplexer (Python implementation) | Python |
|
||||
| [bridge](https://github.com/donglora/bridge) | P2P LoRa bridge — relay packets across the internet via encrypted gossip | Rust |
|
||||
| [examples](https://github.com/donglora/examples) | Ready-to-run demo scripts — receive, transmit, ping-pong, bridge | Python |
|
||||
| [ai-bot](https://github.com/donglora/ai-bot) | MeshCore AI chatbot (default mesh name: "Orac") | Python |
|
||||
|
||||
## Supported Boards
|
||||
|
||||
Any board with an SX1262 radio and USB. Currently:
|
||||
|
||||
| Board | MCU | Display |
|
||||
|-------|-----|---------|
|
||||
| Heltec V3 | ESP32-S3 | SSD1306 OLED |
|
||||
| Heltec V4 | ESP32-S3 | SSD1315 OLED |
|
||||
| RAK WisBlock 4631 | nRF52840 | SSD1306 OLED (optional) |
|
||||
| Wio Tracker L1 | nRF52840 | SH1106 OLED |
|
||||
|
||||
Adding a new board is one Rust file. The firmware architecture is designed so the list keeps growing.
|
||||
|
||||
## License
|
||||
|
||||
[MIT](https://github.com/donglora/firmware/blob/main/LICENSE)
|
||||
Reference in new issue
Block a user