Meshington is a handheld short range communication device based on LoRa, a low-power data radio protocol. The chassis is constructed of three stacked PCBs, secured with four M3 corner screws and a few standoffs. Users read messages on the vertical 128x64 OLED display, and compose messages using the 3x5 keypad and the horizontal 128x32 OLED display. Power is supplied by a built-in 3.7 V AAA Li-Ion battery and a USB charge port. The design uses a HopeRF RFM95 915 MHz LoRa module and is controlled by a Microchip SAMD51 Cortex M4F microcontroller. The processor includes 1 MB of flash memory and 256 kB of ram, which will hopefully be sufficient to handle a decent predictive text library. Meshington is primarily a learning project for the aforementioned platforms, and an excuse to design a few PCBs; its ambitious name suggests the ultimate goal of decentralized group messaging.
Meshington draws on many open-source projects, including the Adafruit Grand Central M4 Express. CC-BY-SA 4.0.
This project should probably be prototyped using a collection of breakout boards and jumpers, but.. here we go instead. My first pass at a design includes:
a 3x5 keyboard matrix, intended for use with those nice square ALPS switches
a pair of OLED displays, one 128x64, one 128x32, on a common I2C bus with different address jumpers
a SAMD51 microcontroller; specifically, the big version with 1 MB flash and 256 kB RAM
a HopeRF RFM95 SPI-controlled LoRa radio module
an AAA-size Li-Ion battery, charge controller, and regulator
As suggested on the front page, I referenced a few open-source Adafruit hardware designs, including the Grand Central M4, various Feather boards (such as the LoRa one), and the OLED breakout boards. This mostly saved time getting the 'utilities' to each subsystem, and gave me a good starting point for bypassing requirements and the like. Making sure I use the same I/O pins where possible means getting various libraries (GFX, LoRa, etc) running should be fairly simple. Famous last words.
I'm new to a lot of things here, including the LoRa module (read: LoRa generally), the SAMD51, and the bare OLED displays (I've only ever used the ubiquitous breakouts). I like the idea of adding an SPI flash chip, but I'm a bit nervous about sharing a bus with the radio.
This schematic draft needs a good once-over before I start thinking about layout, but I think it's a good start. Comments and suggestions are highly welcomed!