Skip to content

WIP: Funkey S/Anbernic RG Nano port#17

Draft
strangebroadcasts wants to merge 5 commits intoMegus:mainfrom
strangebroadcasts:funkey-s-port
Draft

WIP: Funkey S/Anbernic RG Nano port#17
strangebroadcasts wants to merge 5 commits intoMegus:mainfrom
strangebroadcasts:funkey-s-port

Conversation

@strangebroadcasts
Copy link
Copy Markdown

Ports Chipnomad to the Funkey S and the Anbernic RG Nano, tiny portable keychain handhelds with ARM-Cortex A7 CPUs running at 1.2 GHz, 64 MB of RAM and 240x240 displays.

IMG_0004 IMG_0005

In practice these handhelds have a prepackaged Buildroot environment which provides a crosscompiler and SDL 1.2, so we can make use of the existing SDL 1.2 graphics backend. Unfortunately, they don't advertise the 240x240 resolution as a video mode or scale down to it, so the PR adds a separate FUNKEY_BUILD preprocessor define to make sure the resolution and keybinds are correct.

Additionally, the display also needs a smaller font - this PR packages Jason Kottke's Silkscreen.

Building
First, make sure the FunKey SDK (FunKey-sdk-2.3.0.tar.gz) is activated (and you've loaded environment-setup), then in the project directory run

$ cd tracker
$ make -f Makefile.funkey

creates build/funkey/chipnomad.opk which can be dropped in Applications/ on the device storage.

Things to do before merging

  • Set up power/menu button to allow exiting to the launcher without powering off the console or manually navigating to "Quit Chipnomad"
  • Some elements seem to go unrendered/squished despite the smaller font
  • Flickering in filesystem browser
  • Set up a Docker image to build the project instead of requiring the FunKey SDK (there doesn't seem to be any preexisting image on Docker Hub but making one is straightforward)
  • Clean up Makefile.funkey

Maintainer questions:

  • I've used Silkscreen instead of Fragment Mono for better legibility on small displays. Is this OK or should we go with a different font?
  • The "Select" button on the Funkey/Nano acts as a function button with preset shortcuts (e.g. Select + Y/A increase and decrease volume), which conflict with the key combos it is used for in Chipnomad. Is it better to bind the "Select" in Chipnomad to one of the shoulder buttons or the upper face buttons?
  • Since AFAICT there are no Docker Hub images with the Funkey SDK preinstalled, is it better if the Makefile/shell scripts build the image locally, or should I build an image and push it to Docker Hub?

@strangebroadcasts strangebroadcasts marked this pull request as draft March 7, 2026 10:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant