19 lines
1.4 KiB
Markdown
19 lines
1.4 KiB
Markdown
|
# 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)
|