Homebrew [REQUEST] Help building Claude3DS - smdhtool PNG decode error

FreerunningWolf

New Member
Newbie
Joined
Jan 10, 2026
Messages
1
Reaction score
0
Trophies
0
Age
29
XP
10
Country
United States
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:
  • 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)
What Claude3DS Is: A full Claude API client that lets you chat with Claude Sonnet 4.5 directly on your 3DS. Features:


  • 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!)
The code is solid - just can't get past this build tool issue.

Can someone help by either:
  1. Telling me how to fix this smdhtool PNG error, OR
  2. 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,

Site & Scene News

Popular threads in this forum