Skip to content

Releases: adafruit/crankfruit

Crankfruit 1.0.1

Choose a tag to compare

@jedgarpark jedgarpark released this 19 Oct 20:08

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.toml change 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

  1. Back up anything on the board. Flashing replaces CircuitPython and may reset the CIRCUITPY drive.
  2. Hold BOOT/BUTTON1 while pressing reset, wait for the RP2350 drive, then copy crankfruit-fruit-jam.uf2 onto it.
  3. Install the app from the source archive with install.py (see the README).
  4. 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

Choose a tag to compare

@jedgarpark jedgarpark released this 16 Oct 23:30

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

  1. Back up anything on the board. Flashing replaces CircuitPython and may reset the CIRCUITPY drive.
  2. Hold BOOT/BUTTON1 while pressing reset, wait for the RP2350 drive, then copy crankfruit-fruit-jam.uf2 onto it.
  3. Install the app from the source archive with install.py (see the README).
  4. 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.