Off The Grid (OTG) Messenger is an easy way for people to communicate through text messages when in remote areas.

Overview

Off The Grid Messenger

Off The Grid (OTG) Messenger is an easy way for people to communicate through text messages when in remote areas. With a theoretical transmission range of 10 miles (16kms), OTG messenger can be used by groups of people to stay connected when they are in areas not serviced by mobile connectivity.

For portability and low power purposes, the device was created by re-purposing an old Nokia e63 phone I had laying around. The enclosure, LCD, keypad, backlighting and speaker have been re-used however the motherboard was re-designed from the ground up with low power components, a modern STM32 H7 microcontroller, an ISM LoRA radio and expanded flash memory.

Here's the device boot screen

Boot Screen

Common use cases

  • Sports enthusiasts - people who participate in remote area sporting activities, out of mobile service
  • Farmers - people who work in remote areas without mobile phone coverage
  • Encrypted communication - for private point-to-point communication

Why was this device created? It was developed as a science project to learn/teach everything about the STM32 ecosystem of products, hardware engineering, embedded systems engineering, and encrypted communications.

This is considered an 'advanced' project so if you're just starting out with embedded systems or have only ever used the arduino platform then the concepts shown here could be challenging. You should be familiar with C/C++, SWD debugging, ARM core knowledge along with bare metal device driver development.

Main Menu after boot

Front PCB

User interface developed with the amazing TouchGFX GUI builder created by ST. The e63 doesn't support touch and TouchGFX doesn't work with keypads or buttons so interfacing the keypad to the GUI engine was not a trivial exercise.

Hardware breakdown

Software breakdown

  • Touch GFX- the incredible ST GUI technology has been adapted to function with a Nokia e63 keypad
  • STM32 ChromeART for graphics
  • STM32CubeIDE - software development and debug environment. C/C++ coding
  • STM32CubeMX - hardware configuration platform by STM
  • Self healing mesh networking - enables group communication over vast distances. Devices (nodes) act as relay stations.

Development Feature Roadmap

  • Improved text messaging functionality
  • Address book
  • Voice messages
  • Group chat
  • Low power tweaks/settings to optimise power consumption
  • Password protection at login

Custom 4 layer PCB, designed to fit the Nokia e63 Enclosure

Front PCB

PCB Images. Back of PCB

Front PCB

Board Schematics and Design I'll publish the motherboard if I get some positive interest in this project from the community. Contact me here: [email protected]

You might also like...
Treexy is a library that implements a compact hierarchical data structure that can store and manipulate volumetric data, discretized on a three-dimensional grid
Treexy is a library that implements a compact hierarchical data structure that can store and manipulate volumetric data, discretized on a three-dimensional grid

Treexy is a library that implements a compact hierarchical data structure that can store and manipulate volumetric data, discretized on a three-dimens

Fast, hierarchical, sparse Voxel Grid
Fast, hierarchical, sparse Voxel Grid

Treexy is a library that implements a compact hierarchical data structure that can store and manipulate volumetric data, discretized on a three-dimens

Real-Time Rendering with Lighting Grid Hierarchy I3D 2019 Demo
Real-Time Rendering with Lighting Grid Hierarchy I3D 2019 Demo

Real-Time Rendering with Lighting Grid Hierarchy I3D 2019 Demo Daqi Lin This demo is for the I3D 2019 paper Real-Time Rendering with Lighting Grid Hie

Typewriter Effect with Rich Text + *Correct* Text Wrapping
Typewriter Effect with Rich Text + *Correct* Text Wrapping

Typewriter Effect with Rich Text + Correct Text Wrapping I've spent way too long getting this right. This is meant as a base class for a UMG dialogue

Text - A spicy text library for C++ that has the explicit goal of enabling the entire ecosystem to share in proper forward progress towards a bright Unicode future.

ztd.text Because if text works well in two of the most popular systems programming languages, the entire world over can start to benefit properly. Thi

An Arduino library which allows you to communicate seamlessly with the full range of u-blox GNSS modules
An Arduino library which allows you to communicate seamlessly with the full range of u-blox GNSS modules

u-blox makes some incredible GNSS receivers covering everything from low-cost, highly configurable modules such as the SAM-M8Q all the way up to the surveyor grade ZED-F9P with precision of the diameter of a dime.

Library for STM32 microcontrollers with HAL to communicate with absolute orientation sensor Bosh BNO055.

Bosh BNO055 sensor library fro STM32 with HAL Library for STM32 microcontrollers with HAL to communicate with absolute orientation sensor Bosh BNO055.

Memory Process File System (MemProcFS) is an easy and convenient way of viewing physical memory as files in a virtual file system
Memory Process File System (MemProcFS) is an easy and convenient way of viewing physical memory as files in a virtual file system

The Memory Process File System (MemProcFS) is an easy and convenient way of viewing physical memory as files in a virtual file system.

Trident provides an easy way to pass the output of one command to any number of targets.

Trident: The multiple-pipe system Trident provides an easy way to pipe the output of one command to not just one but many targets. These targets can b

Owner
Trevor Attema
Fun hardware and software projects based on wireless technology, AI, ARM microcontrollers.
Trevor Attema
To turn on and off the pump, most people use a manual switch.

To turn on and off the pump, most people use a manual switch. As a result, people forget to switch off the pump from time to time, resulting in water overflow. They may forget to switch on the motor at times, resulting in a water problem later on. It also wastes a lot of electricity. To solve this problem, we need a smart device to control the pump.

Md. Asad Chowdhury Dipu 1 Aug 20, 2022
communicate between usermode and kernelmode through a swapped qword ptr argument

communicate between usermode and kernelmode through a swapped qword ptr argument

null 35 Nov 29, 2022
JeVois-Pro People Counter : Implement people counter on JeVois-Pro Deep Learning Smart Camera

JeVois-Pro People Counter Refer to the OpenCV People Counter article to implement a people counter on the JeVois-Pro Deep Learning Smart Camera. First

On-Device AI Co., Ltd. 1 Nov 10, 2021
This is some utility functions/classes for having a nice way to communicate with a pico board RP2040

PicoScreenTerminal This is some utility functions/classes for having a nice way to communicate with a pico board RP2040 How to build First follow the

GuillaumeG. 4 Nov 15, 2021
Send messages to a LED Matrix display through Telegram. Inspired by a tweet from Smarter Every Day

Send messages to a LED Matrix display through Telegram. Inspired by a tweet from Smarter Every Day

Brian Lough 23 Oct 8, 2022
Remote hacker probe - Threat Emulation and Red Teaming Framework, The Hacking Software for normal people.

The Remote Hacker Probe is a Threat Emulation and Red Teaming Framework built to be easy to use. The Remote Hacker Probe is Feature Rich! Including, K

Fahad 180 Dec 27, 2022
Telegram messenger for Android

Telegram is a messaging app with a focus on speed and security. It’s superfast, simple and free. This repo contains the official source code for Telegram App for Android.

Dao Hong Vinh 10 Nov 22, 2022
An unofficial Qt-based client for Telegram messenger.

Kutegram Supported platforms Windows XP and higher (maybe even lower?) Linux Symbian 9.2-9.4 Symbian^3 Maemo 5 Fremantle MeeGo Harmattan Current featu

Kutegram 9 Oct 20, 2022
Samir Teymurov 1 Oct 6, 2021
Fast, hierarchical, sparse Voxel Grid

Treexy is a library that implements a compact hierarchical data structure that can store and manipulate volumetric data, discretized on a three-dimens

Davide Faconti 323 Dec 21, 2022