Why?
The "Why?" for this project is simple. I have been working a lot with the ILI9488 touchscreen, both resistive (original FreeTouchDeck) and capacitive (ESP32 TouchDown). When I got my Raspberry Pi Pico, the first thing I tried is to get some output on the screen. Turns out, Bodmer who gave us the TFT_eSPI library already had support for this. It needed a few minor changes to get working with the ILI9488 screen I use, but I got it up and running pretty quickly.
After that, the next thing was a simple port of an example that is included in the ESP32 TouchDown repository to use the native USB HID support of the Pico instead of BLE. The libraries work in pretty much the same way, so just instantiating an instance of the USB Keyboard class instead of bleKeyboard was sufficient.
The `ardiuno-pico` core by Earle Philhower comes with LittleFS. A small filesystem is needed to store a calibration file for the touchscreen. Instead of using SPIFFS as I do on the ESP32, I'm making use of LittleFS. The file is pretty small, so 64KB FS is enough.
To make it simple to connect the screen and Pico together I also designed a simple PCB. It has the same dimensions as the ESP32 + TFT Combiner board, so it will fit the FreeTouchDeck case.