diy-pda/docs/SPEC.md

1.4 KiB

DIY PDA Specs

Hardware

  • ESP-WROOM-32 dev board
  • Generic Arduino-Compatible SD card slot
  • ILI9341 3.2" touchscreen LCD

Software

Architecture

It is assumed that all software is stored on the sd card under /sd/apps. All user/app data is stored in /sd/appdata/[appname].

Applications are executed by reading the file and feeding it to Python's exec function. All screens should be defined as a class and implement a destroy() function which clears the screen. (The easiest way to do so is to create an array of LVGL objects in init() and then just iterate over that object calling obj.delete() for each. Each init function should take a parameter called caller which references the previous screen for disposal.

Time is kept using the ESP32's on-board RTC. I may look at utilising a dedicated RTC module at some stage but for now the ESP32 will do. Power-wise I intend to use something along the lines of an Adafruit Powerboost 1000c LiPo circuit to handle charging and powering and what-have-you.

At the moment the project exists on a breadboard and it ain't pretty. I think if I do some aggressive wiring, I should be able to condense everything down to the footprint of the screen which should make for a nice enough PDA footprint. Then I'll need to design and 3D print a shell for it. (Which I have never done so that should be interesting)