u/dc536

Re-purposing a USB-C multimeter to play Flappybird

Spent a great deal of time learning C, PCB reverse engineering, and the PY32 flashing workflow. By no means a professional, but managed to make this do something it doesn't usually do, which is an accomplishment in my book

MCU Specs:

- MCU PY32F002A, TSOP-20
- CPU 32-bit ARM Cortex-M
- Flash 20 KB
- SRAM 3 KB
- Display 160x180 SPI TFT, RGB565

More info: https://github.com/dc336/USB-C-Multimeter-Hack

u/dc536 — 10 days ago

Re-purposing a USB-C multimeter to play Flappybird (write-up)

I wanted to see how my USB-C multimeter drew the display, it had a dirt-cheap PY32 micro-controller but the LCD was stamped with their brand name, after a great deal of time probing and logic analyzing (totally missed SPI...) I gave up. Some time later I was looking at JLC PCB parts library I saw something that looked familiar (N096-1608TBBIG11-H13). I dismissed it as a custom-designed LCD with some difficult protocol, but it was your standard ST7735S SPI driver chip.

The long short of it, this was a passion project to dig into C, SWD debugging/flashing, and PCB reverse engineering. There's a lot of constraints with this POS (piece of) MCU and the button is the only externally accessible GPIO, but working around these restrictions, I believe is the heart of hardware hacking.

MCU Specs:

- MCU PY32F002A, TSOP-20
- CPU 32-bit ARM Cortex-M
- Flash 20 KB
- SRAM 3 KB
- Display 160x180 SPI TFT, RGB565

Write-up / Video / Code: https://github.com/dc336/USB-C-Multimeter-Hack

u/dc536 — 10 days ago