Skip to content

yerffejytnac/furble-lite

Repository files navigation

furble-lite

A wireless Bluetooth Low Energy remote shutter control for Fujifilm cameras, built for the M5StickS3 ESP32-S3 device.

Based on the furble project, stripped down to support Fujifilm cameras exclusively.

Features

  • Remote Shutter Control - Trigger shutter and focus wirelessly via BLE
  • Fujifilm Basic - Supports older Fujifilm cameras using token-based pairing
  • Fujifilm Secure - Supports newer Fujifilm cameras (July 2025+ firmware) with encrypted BLE connections
  • Intervalometer - Built-in time-lapse photography with configurable count, delay, shutter, and wait times
  • Multi-Connect - Connect to multiple Fujifilm cameras simultaneously
  • Infinite Reconnect - Automatically reconnect to paired cameras
  • Persistent Settings - Camera pairings and settings saved to non-volatile storage (NVS)
  • LVGL UI - Graphical user interface with theme support

Supported Cameras

Any Fujifilm camera with Bluetooth remote shutter capability, including:

  • Fujifilm X-T5, X-T50, X-H2, X-H2S, X-S20, X-S10
  • Fujifilm X100VI, X100V
  • Fujifilm GFX series
  • Other Fujifilm cameras advertising BLE remote control

Cameras running firmware from before July 2025 connect via FujifilmBasic (token-based). Cameras running newer firmware connect via FujifilmSecure (encrypted/bonded).

Prerequisites

  • PlatformIO (Core CLI or IDE extension)
  • USB-C cable for M5StickS3 connection
  • Git

Getting Started

Clone the Repository

git clone https://github.com/yerffejytnac/furble-lite.git
cd furble-lite

Build

PlatformIO automatically downloads all dependencies on first build.

pio run -e m5stick-s3

Dependencies installed automatically:

Library Version Purpose
M5GFX 0.2.19 Display driver
M5Unified 0.2.13 Hardware abstraction
esp-nimble-cpp 2.3.4 BLE stack
LVGL 9.4.0 UI framework

Flash

Connect your M5StickS3 via USB-C and flash:

pio run -e m5stick-s3 -t upload

Monitor Serial Output

pio device monitor

Usage

  1. Power on the M5StickS3
  2. Scan - Select "Scan" from the main menu to discover nearby Fujifilm cameras
  3. Put your camera in pairing mode - Enable Bluetooth pairing on your Fujifilm camera
  4. Connect - Select the discovered camera to pair and connect
  5. Control - Use the shutter and focus buttons to control your camera remotely

Main Menu

Menu Item Description
Connect Connect to a saved or discovered camera
Scan Scan for new Fujifilm cameras
Delete Remove a saved camera pairing
Settings Configure display, features, intervalometer, theme, TX power

Intervalometer

The built-in intervalometer supports:

  • Count - Number of shots (or infinite)
  • Delay - Wait time before first shot
  • Shutter - How long to hold the shutter
  • Wait - Delay between shots

Settings

Setting Description
Display Brightness control
Features Infinite reconnect, multi-connect
Timer Intervalometer configuration
Theme UI theme selection
TX Power BLE transmit power level

Project Structure

furble-lite/
├── lib/
│   ├── furble/           # BLE camera control library (from furble)
│   └── preferences/      # NVS storage wrapper
├── src/                  # Application source
├── include/              # Application headers
├── components/icons/     # LVGL UI icons
├── patches/              # BLE stack patches
├── platformio.ini        # Build configuration
└── CMakeLists.txt

Build Configuration

Parameter Value
Board esp32-s3-devkitc-1
Platform espressif32@6.12.0
Framework ESP-IDF 5.4.2
Build Flag -DFURBLE_M5STICKS3

Versioned Build

Set a version string before building:

export FURBLE_VERSION="1.0.0"
pio run -e m5stick-s3

Troubleshooting

Build Fails

# Clean and rebuild
pio run -e m5stick-s3 -t clean
pio run -e m5stick-s3

Upload Fails

  • Check USB-C cable and connection
  • Verify the device appears: pio device list
  • Try holding the PWR button during upload if needed

Camera Not Found During Scan

  • Ensure your Fujifilm camera has Bluetooth enabled
  • Put the camera in pairing/discoverable mode
  • Move the M5StickS3 closer to the camera
  • Try increasing TX Power in Settings

Acknowledgements

This project is derived from furble by gkoh, a multi-camera BLE remote supporting Fujifilm, Canon, Nikon, and Sony cameras across multiple M5Stack devices. The BLE protocol implementations, UI framework, and overall architecture originate from furble.

License

See LICENSE for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages