Hey everyone! I've been working on a Claude AI client for 3DS (like ChatGPT3DS but for Anthropic's Claude. Its literally just because I can, not to actually be practical). The Lua code is done and the project structure is correct, but I'm stuck on a weird build error.
Problem: smdhtool keeps failing with "Could not decode PNG" errors, even with valid 48x48 PNG files. I've verified the PNG is valid (Python PIL confirms it), tried multiple icons, different paths, etc. Nothing works
Error example: C:\C3DS>smdhtool --create "Claude3DS" "Claude AI Chat" "Michael" icon.png Claude3DS.smdh
Could not decode PNG: i
Notice it only shows the first character of the path in the error - very weird.
My setup:
Can someone help by either:
Would really appreciate any help getting this working! We're building this "because we can" and we're SO close.
Thanks!
UPDATE:
Successfully built a .3dsx file but it crashes on launch (black screen, returns to Homebrew Launcher immediately).
ChatGPT3DS (downloaded from Universal Updater) works fine on my 3DS, so the hardware can run LÖVE Potion apps. I suspect the old Python lovebrew (0.2.10) isn't bundling the LÖVE Potion runtime correctly into the .3dsx.
ZIP Files Attached:
The code is complete and tested - just needs to be built with proper tooling that bundles LÖVE Potion correctly like the official ChatGPT3DS release.
Can someone with a modern lovebrew setup (or GitHub Actions experience) build this properly? Would hugely appreciate it!
Problem: smdhtool keeps failing with "Could not decode PNG" errors, even with valid 48x48 PNG files. I've verified the PNG is valid (Python PIL confirms it), tried multiple icons, different paths, etc. Nothing works
Error example: C:\C3DS>smdhtool --create "Claude3DS" "Claude AI Chat" "Michael" icon.png Claude3DS.smdh
Could not decode PNG: i
Notice it only shows the first character of the path in the error - very weird.
My setup:
- Using old lovebrew Python version (0.2.10) installed via pip
- DevkitPro installed with smdhtool in PATH (C:\devkitPro\tools\bin\smdhtool.exe)
- PNG file is verified valid, 48x48 pixels, ~300 bytes
- Same project structure as ChatGPT3DS by Carson Kompon (source in ChatGPT3DS folder, lovebrew.toml at root)
- On-screen keyboard for text input
- Scrollable chat history (L/R buttons)
- Persistent API key storage
- Dual-screen UI (chat on top, keyboard on bottom)
- Native HTTPS calls to api.anthropic.com (no proxy needed!)
Can someone help by either:
- Telling me how to fix this smdhtool PNG error, OR
- Building the .3dsx for me? (Happy to share the full source)
Would really appreciate any help getting this working! We're building this "because we can" and we're SO close.
Thanks!
UPDATE:
Successfully built a .3dsx file but it crashes on launch (black screen, returns to Homebrew Launcher immediately).
ChatGPT3DS (downloaded from Universal Updater) works fine on my 3DS, so the hardware can run LÖVE Potion apps. I suspect the old Python lovebrew (0.2.10) isn't bundling the LÖVE Potion runtime correctly into the .3dsx.
ZIP Files Attached:
The code is complete and tested - just needs to be built with proper tooling that bundles LÖVE Potion correctly like the official ChatGPT3DS release.
Can someone with a modern lovebrew setup (or GitHub Actions experience) build this properly? Would hugely appreciate it!
Attachments
Last edited by FreerunningWolf,






