108 lines
2.4 KiB
Markdown
108 lines
2.4 KiB
Markdown
# Rustphone
|
|
|
|
(temporary name) (early development)
|
|
|
|
OS for a dumbphone based on Maduino Zero 4G LTE board.
|
|
|
|
## Goals
|
|
|
|
GSM will be shutting down in France in a few years so if you have an old cellphone and don't want to buy a fancy, spying, expensive smartphone, making your own 4G cellphone is an interesting option.
|
|
|
|
* Low cost
|
|
* Privacy
|
|
* Long battery life (this one will be complicated)
|
|
* Low-consumption components
|
|
* Use less CPU cycles
|
|
* Update display less often
|
|
* Use less wireless RX/TX
|
|
* Usable for basic things (call, messages, agenda, contacts, notepad)
|
|
* Customizable (smartphones don't do exactly what I want)
|
|
* (long term) Mesh networking and other cool stuff
|
|
|
|
## Install tools
|
|
|
|
```bash
|
|
# Choose one line depending on your distro
|
|
sudo pacman -S arm-none-eabi-gcc
|
|
sudo apt install gcc-arm-none-eabi
|
|
|
|
# Install Rust target
|
|
rustup target add thumbv6m-none-eabi
|
|
```
|
|
|
|
## Run simulator
|
|
|
|
```bash
|
|
cargo run --features simulator
|
|
```
|
|
|
|
## Build
|
|
|
|
```bash
|
|
cargo build --release --target thumbv6m-none-eabi
|
|
```
|
|
|
|
## Pins
|
|
|
|
* D2
|
|
* D3
|
|
* D4
|
|
* D5 (internally assigned): modem power
|
|
* D6 (internally assigned): modem reset
|
|
* D7 (internally assigned): flightmode
|
|
* D8
|
|
* D9
|
|
* D10
|
|
* D11
|
|
* D12
|
|
* D13
|
|
* A0
|
|
* A1 (internally assigned): vbat
|
|
* A2 (internally assigned): vsys
|
|
* A3
|
|
* A4
|
|
* A5
|
|
* SDA: I2C
|
|
* SCL: I2C
|
|
|
|
Used pins:
|
|
* display SPI: 3 pins
|
|
* keypad: 6 pins (74HC565+75HC165), maybe 5 if the same clock is used
|
|
* display LED: 1 pin
|
|
* torch LED: 1 pin
|
|
* ESP UART: 2 pins (I2C still possible if not enough pins)
|
|
|
|
Note: at most 5 outputs of the 74HC565 may be used as GPO.
|
|
|
|
## components
|
|
* https://www.makerfabs.com/maduino-zero-4g-lte-sim7600.html
|
|
* https://www.waveshare.com/1.54inch-e-Paper-Module.htm1
|
|
* https://bulkmemorycards.com/shop/microsd-cards/microsd-32gb/sd-32gb-class-10/32gb-microsd-ultra-sandisk-memory-card-2/
|
|
* Maybe an ESP for WIFI and Bluetooth: https://www.sparkfun.com/products/18034
|
|
|
|
## crates
|
|
* bitmap-font ?
|
|
* https://lib.rs/crates/at-commands OR https://lib.rs/crates/atat
|
|
* https://crates.io/crates/embedded-menu
|
|
|
|
## Apps
|
|
* Calculator
|
|
* Config
|
|
* Contacts
|
|
* Journal
|
|
* Play audio
|
|
* Send call
|
|
* Send message
|
|
* Show bitmap
|
|
|
|
## Keypad
|
|
|
|
Optimized to reduce the number of consecutive presses on the same key in French.
|
|
|
|
For example, the letters _m_, _o_, _n_ are on the same key `MNO6` but they frequently appear consecutively in French, so you have to wait between each letter. Having them on three different keys solves this problem.
|
|
|
|
```
|
|
ncb1 upz2 tdk3
|
|
eow4 lqh5 age6
|
|
sfx7 rmj8 ivy9
|
|
```
|