Repository navigation
Releases: adafruit/crankfruit
Release list
Crankfruit 1.0.1
Crankfruit turns an Adafruit Fruit Jam into a Playdate-inspired game console: open-source, Playdate-style Lua games on your TV over HDMI with sound, played with the Fruit Jam's buttons, a wired PS4 (DualShock 4) controller and a real crank.
changes since 1.0.0
- Encoder wiring: quadrature encoders (such as a 100-pulse CNC handwheel) now go on the 3V, GND, A1 and A2 header pins, off the shared I2C bus. Tested on the Fruit Jam: 1 count per click, 100 per turn, and a normal start after power-on. No
settings.tomlchange is needed. - Removed the earlier instructions for wiring an encoder straight to the STEMMA QT SDA/SCL pins. The STEMMA QT port is for I2C devices, such as Adafruit's I2C seesaw rotary encoder breakout.
- The README setup step links to the release firmware download.
The firmware is unchanged from 1.0.0.
download
crankfruit-fruit-jam.uf2 is the Crankfruit firmware for the Adafruit Fruit Jam (RP2350B) only: a custom CircuitPython 10.3 build with the crankjam Lua engine, HDMI audio and native .mpy loading built in. Stock CircuitPython will not run Crankfruit.
SHA-256: fe3f629d83609e900fe12d5e8f183ab59a6b708918abed26bcc9b506b57f49af
The Crankfruit app (Python, native helpers, games and assets) is in the source code archive below.
install
- Back up anything on the board. Flashing replaces CircuitPython and may reset the CIRCUITPY drive.
- Hold BOOT/BUTTON1 while pressing reset, wait for the
RP2350drive, then copycrankfruit-fruit-jam.uf2onto it. - Install the app from the source archive with
install.py(see the README). - Connect HDMI to a display that plays HDMI audio and restart.
Already running 1.0.0? Reinstall the app with install.py from this release's source archive; the firmware doesn't need reflashing. If you had an encoder on the STEMMA QT pins, move it to 3V/GND/A1/A2, set "pin_a": "A1", "pin_b": "A2" in /crank.json, and you can remove CIRCUITPY_PICODVI_ENABLE from settings.toml.
Please read the README's known limitations before you start. In particular, Crankfruit plays compatible Lua source games and is not a Playdate emulator.
Crankfruit is an independent project and is not affiliated with or endorsed by Panic. Playdate is a trademark of Panic Inc.
Crankfruit 1.0.0
Crankfruit turns an Adafruit Fruit Jam into a Playdate-inspired game console: open-source, Playdate-style Lua games on your TV over HDMI with sound, played with the Fruit Jam's buttons, a wired PS4 (DualShock 4) controller and a real crank.
download
crankfruit-fruit-jam.uf2 is the Crankfruit firmware for the Adafruit Fruit Jam (RP2350B) only: a custom CircuitPython 10.3 build with the crankjam Lua engine, HDMI audio and native .mpy loading built in. Stock CircuitPython will not run Crankfruit.
SHA-256: fe3f629d83609e900fe12d5e8f183ab59a6b708918abed26bcc9b506b57f49af
The Crankfruit app (Python, native helpers, games and assets) is in the source code archive below; see the README.
install
- Back up anything on the board. Flashing replaces CircuitPython and may reset the CIRCUITPY drive.
- Hold BOOT/BUTTON1 while pressing reset, wait for the
RP2350drive, then copycrankfruit-fruit-jam.uf2onto it. - Install the app from the source archive with
install.py(see the README). - Connect HDMI to a display that plays HDMI audio and restart.
what's in this release
- Player with startup animation, a game library that finds games in
/games/automatically, and per-game error recovery. - Games: Orbit Breaker, Almost Tennis (adapted from SquidGod's MIT game) and Simple Snake (adapted from Mocchi Mochi's MIT game), plus the Sound Explorer synth toy.
- Optional wired DualShock 4 controller, and an optional crank: Adafruit's I2C STEMMA QT rotary encoder breakout, a 3.3V quadrature encoder such as a 100-pulse CNC handwheel on the A1/A2 pins, or the controller's right stick.
- Display modes 1x, 1.6x sharp and 1.6x antialiased (2-bit greyscale), cycled with the Fruit Jam's B1 button while the controller is connected.
This firmware is reproducible: a clean rebuild from the pinned public sources (engine/firmware/) matches it except for the build date.
Please read the README's known limitations before you start, in particular: Crankfruit plays compatible Lua source games and is not a Playdate emulator.
Crankfruit is an independent project and is not affiliated with or endorsed by Panic. Playdate is a trademark of Panic Inc.