# Tattlekey This is a one-key WiFi UDP 'keyboard'. The hardware is a Raspberry Pi Pico W in a 3d-printed shell connected to a Cherry MX key switch. The client software that runs on the device connects to a WiFi network and sends UDP packets to an address specified in `client/config.c`. It transmits each keypress several times for reliability, with relative timestamps so the server can determine the time of every press without the device needing to synchronize a clock. The server software collects, logs, and de-duplicates keypress reports. The housing grips the pico by the edges through spring force; you'll need to squeeze the housing flat (eg: with a clamp) to deform it slightly to allow the pico board to slide in and out easily. Note that the housing is subtly _not symmetrical_: There is a top and a bottom. Do not force the pico board in upside down or you will destroy the board's bootsel button. ![The tattlekey 'keyboard'](tattlekey/blob_plain/HEAD:/docs/tattlekey.jpg)