Simple chat app for M5 Cardputer and the M5 E220 LoRa modules. Doing for my own learning and enjoyment. Work in progress.
- M5 Cardputer
- M5 E220 LoRa module (optional if using ESP-NOW mode, see Settings Tab Details)
The interface is split into 5 tabs. The first three tabs are separate chat channels, the next tab shows the status of other users seen, and the last tab is for changing settings. Press the tab key to switch between tabs. The system bar shows the current username, the signal strength of the user seen with the best signal strength and incoming and outgoing messages, and the Cardputer's current battery level. LoRa modules are currently configured using the default settings from the LoRa modules's library. Modules must be configured initially to work, can do so in settings.
Setting | Info |
---|---|
Username | Min length 2, max length 8, ASCII only. |
Brightness | Set display brightness [0-100]. If set very low, the display will automatically brighten when buttons are pressed. |
Ping Mode | Send an occassional ping when not sending messages to show presence to other users. |
Repeat Mode | Repeat back messages received. Just a testing function for now. |
ESP-NOW Mode | Use the Wifi radio (using ESP-NOW protocol) to chat instead of LoRa! The range will be lower. :) |
App Config | Writes current settings (username, brightness, ping mode, repeat mode) to SD card, will be reloaded on boot |
LoRa Config | Writes register values to LoRa module. M0 and M1 switches must be set to off (config mode). |
See TODOs in code for now.
ideas:
- ACK Mode: know when users receive your message, resend/catch up?
- Mesh Mode: repeat messages from other users to extend range
- message scrolling
- saving chats to SD