Pretty crazy project for my undergraduate thesis, microcontroller program fully written in typescript. Should have been written in C++ atleast, but oh well.
Uploaded to source control to persist the project.
It's pretty much a simple communication system built to handle communication between multiple node using LoRa while also preventing collision. Very naive implementation using custom ZeroMQ Request/Reply. Ideally, should implement a full-blown CSMA/CR (Carrier Sense Multiple Access with Collision Resolution), but that protocol being too complex to implement, and i'm being constrained by time and budget, prevented me from even attempting it.
- Raspberry Pi Pico
- KalumaJS as microcontroller framework and interface
- LoRa device E32-900T30D
- LED, LCD, and Button
- Kaluma flashed to Pico
- Program developed in typescript
- Program transformed and bundled into javascript via
esbuild
- Javascript bundle flashed to Pico via serial communication (USB)
The hard part is when developing data-link layer, mainly in designing and implementing data communication protocol.