This started as a cute "what if?":
What if I could type out messages on my smart phone by using tactile buttons like I used to have on my phone back in high school?
Because the board would need to fit into the chassis of a Nokia 3310 and because there are existing doodads that would be sitting alongside the board anyways, scope has crept to include connecting to these other thingamajigs.
-
create example that plays RTTTL (and writes it to screen)
-
Snake
-
USB text entry
-
power button (digital latch. can this be triggered by 'any key'? ie. any keypad press turns the device on. there's enough GPIO to spare that we should have a dedicated GPIO for any key too)
-
double check power regulation, boot button
-
backlight LEDs (many options but prudent to go with whatever uses least power, is simplest. use transistor to drive LED directly from battery/power)
-
add back supercap rtc
-
add jlcpcb part numbers, 3d models
-
double check usb footprint
-
pass more KiCAD checks in CI
-
terse, unfriendly instructions (ie. README)
-
document app API
- make all system work live on primary core. give apps dedicated secondary core.
- optional pico-w for wifi/bluetooth (using a module avoids need for recertification?)
- looks like RP will release such a module (RM2) so go ahead with designing with that in mind
- detect battery type to refuse NiMH
- battery gauge
- mic connection
- use text_input for inputing secret for TOTP (drives the need for inputting numeric digits easily and RTC)
- power button used for BOOT/RUN?
- how should software versions synchronize with hardware versions. what level of compatibility should be supported.
- institute changelog
- use 'Issues' instead of README for tracking
- USB on simulated device
- optimise GPIO pin mapping. shorten traces etc.
- connection plate for 3d printing
- increase flash capacity? i'd prefer to remove this part altogether by using rp2354 due for release later in the year
- bring more rigour to 'scheduler'
- flex pcb for keypad?
- LTE modem?
- e-ink display?