MeshCore Open is a cross-platform mobile application for communicating with MeshCore LoRa mesh network devices via Bluetooth Low Energy (BLE). The app enables long-range, off-grid communication through peer-to-peer messaging, public channels, and mesh networking capabilities.
MeshCore Open is a cross-platform mobile application for communicating with MeshCore LoRa mesh network devices via Bluetooth Low Energy (BLE). The app enables long-range, off-grid communication through peer-to-peer messaging, public channels, and mesh networking capabilities.
- **RX Characteristic**: `6e400002-b5a3-f393-e0a9-e50e24dcca9e` (Write to device)
- **RX Characteristic**: `6e400002-b5a3-f393-e0a9-e50e24dcca9e` (Write to device)
- **TX Characteristic**: `6e400003-b5a3-f393-e0a9-e50e24dcca9e` (Notify from device)
- **TX Characteristic**: `6e400003-b5a3-f393-e0a9-e50e24dcca9e` (Notify from device)
### Device Discovery
### Device Discovery
Devices are discovered by scanning for BLE advertisements with the name prefix `MeshCore-`
Devices are discovered by scanning for BLE advertisements with the name prefix `MeshCore-`
### Message Format
### Message Format
Messages are transmitted as binary frames using a custom protocol optimized for LoRa transmission. See `meshcore_protocol.dart` for frame structure definitions.
Messages are transmitted as binary frames using a custom protocol optimized for LoRa transmission. See `meshcore_protocol.dart` for frame structure definitions.
## Configuration
## Configuration
### App Settings
### App Settings
- **Theme**: System default, light, or dark mode
- **Theme**: System default, light, or dark mode
- **Notifications**: Configurable for messages, channels, and node advertisements
- **Notifications**: Configurable for messages, channels, and node advertisements
- **Battery Chemistry**: Support for NMC, LiFePO4, and LiPo battery types
- **Battery Chemistry**: Support for NMC, LiFePO4, and LiPo battery types
- **Message Retry**: Automatic retry with configurable path clearing
- **Message Retry**: Automatic retry with configurable path clearing
### Device Settings
### Device Settings
- **Radio Power**: Transmit power adjustment (10-30 dBm)
- **Radio Power**: Transmit power adjustment (10-30 dBm)
- **Frequency**: LoRa frequency configuration
- **Frequency**: LoRa frequency configuration
- **Bandwidth**: Channel bandwidth selection
- **Bandwidth**: Channel bandwidth selection
@ -182,22 +205,23 @@ Messages are transmitted as binary frames using a custom protocol optimized for
This is an open-source project. Contributions are welcome!
This is an open-source project. Contributions are welcome!
### Development Guidelines
### Development Guidelines
- Follow the Flutter style guide
- Follow the Flutter style guide
- Use Material 3 design components
- Use Material 3 design components
- Write clear commit messages
- Write clear commit messages
- Test on both Android and iOS before submitting PRs
- Test on both Android and iOS before submitting PRs
### Code Style
### Code Style
- Prefer `StatelessWidget` with `Consumer` for reactive UI
- Prefer `StatelessWidget` with `Consumer` for reactive UI
- Use `const` constructors where possible
- Use `const` constructors where possible
- Keep functions small and focused
- Keep functions small and focused
- Avoid premature abstractions
- Avoid premature abstractions
## Support
## Support
For issues, questions, or feature requests, please open an issue on GitHub:
For issues, questions, or feature requests, please open an issue on GitHub: