Add README.md
This commit is contained in:
parent
5c1917fb6f
commit
46a86f05b3
32
README.md
Normal file
32
README.md
Normal file
@ -0,0 +1,32 @@
|
||||
## Phone-like device using esp32
|
||||
|
||||
This is a hobby project of mine where I try to recreate a simple phone-like
|
||||
device using an ESP32-board using Rust and some additional hardware listed
|
||||
below:
|
||||
- Base board: https://www.electrokit.com/en/adafruit-esp32-feather-v2
|
||||
- LCD Screen: https://www.electrokit.com/en/1.3lcd-monterad-pa-kort
|
||||
- 4G module: https://www.electrokit.com/en/4g-modul-monterad-pa-kort-clipper-lte-4g
|
||||
- 16-button keypad: https://www.electrokit.com/en/keypad-16-buttons-4x4-matrix
|
||||
- 16-pin IO expander: https://www.electrokit.com/en/16-output-i/o-expander-breakout-sx1509
|
||||
|
||||
Drivers for each of these peripherals are written manually.
|
||||
- Driver for the LCD screen is found at [display.rs](./src/display.rs)
|
||||
- Interfaces via SPI
|
||||
- Driver for the 4G module is found at [at_commands.rs](./src/at_commands.rs)
|
||||
- Interfaces via UART
|
||||
- Driver for the IO expander is found at [sx1509.rs](./src/sx1509.rs)
|
||||
- Interfaces via I2C
|
||||
|
||||
This project additionally uses [esp-hal](github.com/esp-rs/esp-hal) as the sole
|
||||
abstraction layer between the board and the code itself. Also
|
||||
[rusttype](https://gitlab.redox-os.org/redox-os/rusttype) is used for rendering
|
||||
TTF-fonts, which is used to render text with the bundled OpenSans-font.
|
||||
|
||||
This project also utilizes [esp32 RTOS](https://docs.rs/crate/esp-rtos/latest)
|
||||
to run two threads on the two seperate cores on the device. One core processes
|
||||
outward-facing state control and rendering, while the other processes I/O, such
|
||||
as keypad presses and communication with the 4G-module.
|
||||
|
||||
## Demonstration
|
||||
|
||||
<video controls src="./demo.mp4" alt="demonstration">
|
||||
Loading…
Reference in New Issue
Block a user