Skip to content

This is a project to play with embedded rust and epaper to do something similar to your life in weeks.

Notifications You must be signed in to change notification settings

jmarcelomb/your-life-in-x

Repository files navigation

Your Life in X

Your Life in X Example

Overview

Your Life in X is an embedded Rust project that displays a visual timeline of your life on an e-paper display. Inspired by Bryan Braun's Your Life in Weeks, this project renders a similar visualization on an tricolor e-ink display using an ESP32-C3 microcontroller. The goal is to provide a tangible, always-on representation of life's progress, leveraging embedded Rust as a learning experience.

Hardware

This project runs on:

Wiring Connections

E-Paper Pin ESP32-C3 Pin
DC 21
RST 22
BUSY 23
CS/SS 15
SCK 6
MISO Not used
MOSI 7

Project Structure

your-life-in-x/
├── esp/                      # ESP32-C3 firmware
├── simulation/               # Desktop simulation version
├── weact-studio-epd/         # Fork of EPD driver
├── your-life-in-x/           # Core logic for rendering the life timeline
├── docs/                     # Documentation and images
└── flake.nix                 # Nix-based development setup

Dependencies

This project is written in Rust and leverages several embedded development crates:

Building & Running

You can use the nix flake present in the project or install:

  • Rust toolchain (install via rustup)
  • cargo-espflash for flashing the firmware

Flashing to ESP32-C3

  1. Install dependencies:

    rustup target add riscv32imc-unknown-none-elf
    cargo install cargo-espflash
  2. Clone the repository and navigate to the ESP firmware directory:

    git clone https://github.com/jmarcelomb/your-life-in-x.git
    cd your-life-in-x/esp
  3. Flash the firmware:

    cargo run --release /dev/ttyUSB0

    (Replace /dev/ttyUSB0 with the correct serial port.)

Running the Simulation

For quick development and testing, you can run a simulation version on your PC:

cd simulation
cargo run

Why This Project?

I created Your Life in X as a hands-on embedded Rust project to improve my skills and explore real-world applications of Rust in microcontroller-based systems. This project combines low-power hardware, SPI communication, and graphics rendering to bring a simple but thought-provoking visualization to life.

License

This project is licensed under MIT OR Apache-2.0, following the same dual-license model as Rust itself.

About

This is a project to play with embedded rust and epaper to do something similar to your life in weeks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •