Hi all!
I wanted to share a working follow-up to this thread: a Flipper Zero app that sends Mystery Gift to real Gen II cartridges over IR using a custom GPIO board.
It acts as the master/sender: link up from the Mystery Gift screen (A-press or idle detection both work)
Pick any of the 37 giftable items on the Flipper (Berry → Rare Candy → Mails), set trainer name, set or randomize the trainer ID per send (sidesteps the one-gift-per-partner-per-day check while testing)
Region is auto-detected: since the master receives the cart's region code before ever sending one, the app just echoes it back. Only tested on french cartridge atm
Auto-retries failed exchanges (they happen, as the OP noted), and writes a microsecond-resolution trace of every exchange to the SD card so that it's easier to debug.
The Flipper's built-in IR is useless here (its receiver is a 38 kHz demodulator, blind to the GBC's unmodulated light), so this uses the receiver schematic posted in this thread (BPW34 → MCP6002 TIA 51k‖120pF → comparator → BC337) plus an IR LED, on two GPIO pins with 5 V from the Flipper's OTG rail. Built mine on protoboard.
Big thanks to OP for the protocol RE, the schematic, and the reference implementation — this thread did the hard part. Happy to share the source / put it on GitHub if there's interest, and curious whether anyone can test against Gold/Silver or other regions but that means having to build the GPIO board yourslef!