Hardware
The RP2040 is more than powerful enough to run the display and with the help of some 1M resistors, it's capable to implement touch buttons as well! I am using a speaker on two pins, thanks to a wonderful library I found.
RP2040-Tiny
The module used as a controller is an RP2040-tiny, a nice little board that comes with a little adapterboard for USB-C connection and the programming buttons. That allowed the module to be able to be surface mounted, since there are no parts on the back unlike other modules.
Display and LED
The 160x80 pixel display, controlled by an ST7735 is more common than I realised, it has been used for a cheap ESP32-C3 board that I found when working on #Flipper At Home for a bit. It's supported by the TFT_espi library and is controlled via SPI. There's also a white LED that can be used as an activity indicator! In the movie TARS used a cue light to indicate when he's joking and I had to add that.
The Speaker
It seems like there are powerful speakers the size of 13 mm x 18 mm. flying allover aliexpress now, probably from phones and repair jobs. I've run down the adafruit speaker connectors and cables I need to connect everything - this way you can change the speaker in the future and it just looks cleaner than having wires soldered end-to-end.
The touch buttons
Thanks to todbot sharing all his RP2040 projects that are using touch buttons, I was set to success with the TARS interface right from the beginning, when cutting up copper on a prototype board. I will upload a picture of the arrangement, once that works again.
Software
Much of the software is still in a concept state, but here are the ideas of programs that I have and want to add. I've written everything with the Arduino IDE and using libraries of that realm. It might make more sense to have this run micropython, but I felt more comfortable this way.
Piano
A little 6 note keyboard that uses all touch buttons to play a note and display colors for the note you're playing. There are some nice glitches to discover, depending on how you're holding and touching the add-on. It shuts off after 5sec of not playing any tones.
Composer
This is an idea feeding off of nostalgia to the time you were typing in the beeps yourself, like on the nokia 3310 phone. this would allow for a bigger tone range than the piano mentioned above.
I2C Terminal (Wire0)
What if the badge has no display, but you want to display some debug info or sensor data on your badge? It should be possible to send data and display it on TARS!
I2C Scan (Wire1)
It's important to know what devices you're connected to, so having an I2C scanner to scan for sensors and modules can come in handy, especially with the QWIIC connector. I may or may not allow for chosing Wire0 for scanning as well, not sure how the RP2040s like a multi-master situation.
Name Tag
Even though I made #hello my name is SAO - why not have your name fly around like the DVD logo?
MemeSaver
There are so many meme's that could be shown on this display, so far I only have the "Grand Central Hack the planet" pager running, but there's also some TARS running code flying in my code base somewhere.
Do you want to play a game?
Why not implement snake or other games on TARS, he probably has a folder with solitair as well somewhere.
Perhaps my favorite part of making the cyberdeck SAO last year was loading it up with different memes/references to hacker movies and general tech/nerd culture. You've got so many possibilities with that lovely screen.