spen_remote, a Flutter library I developed to bridge the gap between Flutter apps and the Samsung S Pen Remote SDK.
As many Flutter developers know, one of the biggest advantages of Flutter is building cross-platform mobile experiences from a single codebase, but sometimes device-specific hardware features still pose a challenge. In particular, Samsung’s S Pen remote input (button presses, stylus gestures) can be a powerful differentiator in apps geared toward productivity, annotation, presentations or stylus-centric workflows.
With spen_remote you can integrate that hardware layer directly into your Flutter app. The plugin wraps the native Samsung SDK on Android, exposes a Dart-API, and allows you to respond to S Pen remote events like connection state changes, button clicks, and stylus gestures.
Why does this matter?
- Feature enhancement: Your app can listen for a stylus remote button press (for example advancing slides, triggering an annotation action, capturing a picture) without writing native bridges.
- Enterprise readiness: For companies building apps for stylus-heavy workflows (education, design, field-work annotation), supporting advanced input devices elevates the user experience and sets the app apart.
Key features of spen_remote:
- Published on pub.dev : Dart packages
- Compatible with Samsung with Android
- MIT-licensed, with example code and documentation to make integration straightforward.
Why I Developed It
I wanted to go beyond typical note-taking or drawing use cases. I was working on a game that used the S Pen’s built-in gyro sensor and remote button. the idea was to control a crosshair on the screen by moving the stylus, and fire projectiles on enemies by pressing the S Pen button, similar to the classic Duck Hunt game on Nintendo : Castle Defense.
To make that possible, I needed access to the S Pen’s motion data and button events directly from Flutter but there was no existing package that exposed the Samsung S Pen Remote SDK to Flutter developers.
That’s what led me to create spen_remote.
It bridges the native Samsung SDK into Flutter, allowing developers to:
- Detect and respond to S Pen button clicks
- Track gyro movement and orientation of the pen
- Handle connection state and device events
So originally, this project was born out of a personal creative need to make a fun experimental game but it evolved into a useful open-source tool that any Flutter developer can now use to bring S Pen remote interactions into their apps.