# Inkpot on ESP32 Lilygo T5 This repository contains the sources required to run the Inkpot frontend on a Lilygo T5, an ESP32 equipped with an e-ink display. It allows you to create Lua sketches that draw on the e-ink screen. ## Prerequisites There is a `flake.nix` at the root of this repository that defines a development environment with all required tools. If you are using `direnv`, `cd` into the repositorie's root directory after cloning it and run `direnv allow`. If you aren't using direnv the enviroment can be activated using `nix develop .`. The build environment consists of: - ESP-IDF version 5.1.0 or higher - Components: - [Lua 5.4](https://components.espressif.com/components/georgik/lua/) - [LittleFS 1.14](https://components.espressif.com/components/joltwallet/littlefs/) - [EPDIY](https://github.com/vroland/epdiy) ## Build and Flash ```bash idf.py set-target esp32 idf.py build flash monitor ``` You can stop the monitor by pressing `Ctrl + ]`. ## File Structure - `main/` - `inkpot.c`: Main program containing embedded Lua script and file-based Lua execution. - `paper.c`: Defines the lua bindings to epdiy that can be used for drawing on the screen. - `assets/`: Directory containing all Lua scripts; some are older example scripts that are not executed - `epaper.lua` contains the sketch that runs at startup