Pocket Chaos: Coding (and Decoding) on the R36S

Intro There's something slightly absurd about turning a tiny retro handheld into both an app development platform and a weak-signal radio decoder. The R36S - cheap, hackable, and rough around the edges - wasn't built for any of this. That's exactly why it works. The Constraint Advantage Modern development hides inefficiency. The R36S exposes it. With limited CPU, RAM, and screen space, you're forced to: Write tighter code Design simpler interfaces Think in constraints, not abstractions That same constraint-driven thinking applies perfectly to signal processing tasks like FT8. ...

May 5, 2026 · 9 min · 1809 words · Dhiru Kholia

Debugging gaming pads on Linux

While running https://github.com/fhoedemakers/pico-infonesPlus, I found that my SNES gaming pad was not fully supported. Specifically, the UP/DOWN and LEFT/RIGHT keys were not working. Let's debug this a bit: Plug in the gaming pad on a Linux box and run the following command (hidraw5 will need to be changed as needed): $ lsusb ... Bus 001 Device 063: ID 0810:e501 Personal Communication Systems, Inc. SNES Gamepad $ sudo hexdump -C /dev/hidraw5 ... 00004a50 01 80 80 7f 7f 0f 00 00 01 80 80 7f 00 0f 00 00 |................| 00004a60 01 80 80 7f 00 0f 00 00 01 80 80 7f 00 0f 00 00 |................| * 00004a80 01 80 80 7f 7f 0f 00 00 01 80 80 7f 7f 0f 00 00 |................| This is what I see when pressing the UP key. ...

September 29, 2025 · 2 min · 292 words · Dhiru Kholia