Skip to content


Repository files navigation

🦀 Playdate API and build tools in Rust

This project allows you to create games for the Playdate handheld gaming system in Rust lang.

Welcome to discussions and issues for any questions and suggestions. Take a look at videos or do something great.


Follow the instructions for:

  1. SDK
  2. cargo-playdate
  3. playdate-sys


  • Minimal supported versions of Playdate SDK is 2.5.0 because of breaking changes in 2.5.0.


Run example:

cargo run -p=cargo-playdate -- run -p=playdate-controls --example=buttons

Install cargo-playdate and build & run another example:

cargo install cargo-playdate
cargo playdate run -p=playdate-sound --example=sp-simple
cargo playdate run -p=playdate-sound --example=sp-simple --device


Early development demonstrations of the building process: bin and sim screencasts originally posted on dev-forum.


Thanks to the modular structure of the system, you can use all or only the parts of the system you need.

Create a Game

  1. Add playdate crate as dependencies to your project
  1. Install cargo-playdate to build your project

Create an API-extension

  1. Add playdate-sys to dependencies
  2. Write neat code
  3. Build & test using cargo, cargo-playdate or anything else.

Here is example of simple API-extension.

Please follow the instructions of playdate-sys.

Create your bindings

  1. Use playdate-bindgen in your build-script

Create your build-system

  1. Use build-support crates

There is all needed to find SDK and arm-gnu toolchain on user's system, build flags, configurations, formats including pdxinfo, etc.

This software is not sponsored or supported by Panic.