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