diy-pda/docs/SPEC.md

19 lines
1.4 KiB
Markdown
Raw Normal View History

2021-12-13 21:08:52 +00:00
# DIY PDA Specs
## Hardware
* ESP-WROOM-32 dev board
* Generic Arduino-Compatible SD card slot
* ILI9341 3.2" touchscreen LCD
## Software
* LVGL's Micropython fork https://github.com/lvgl/lv_micropython
## 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)