esp32-phone/README.md
2026-06-04 20:59:57 +03:00

1.6 KiB

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:

Drivers for each of these peripherals are written manually.

  • Driver for the LCD screen is found at display.rs
    • Interfaces via SPI
  • Driver for the 4G module is found at at_commands.rs
    • Interfaces via UART
  • Driver for the IO expander is found at sx1509.rs
    • Interfaces via I2C

This project additionally uses esp-hal as the sole abstraction layer between the board and the code itself. Also rusttype is used for rendering TTF-fonts, which is used to render text with the bundled OpenSans-font.

This project also utilizes esp32 RTOS 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