Alpha Photon turns an M5StickC Plus 1.1 into a compact Bluetooth camera remote with autofocus, photo, video, interval, timelapse and astrophotography BULB sequences. It was developed and hardware-tested with a Sony α6400 using its RMT-P1BT-compatible Bluetooth remote mode. No Wi-Fi or phone is required.
Note
Alpha Photon is an independent community project and is not affiliated with Sony or M5Stack. Product names are used only to describe compatibility.
- encrypted BLE pairing and automatic reconnection
- autofocus, photo and video start/stop
- flicker-free graphical display with REC timer, focus and battery status
- two-second Alpha Photon boot screen on both controllers
- session photo/clip counters, automatic display dimming and motion wake
- unlimited interval shooting
- timelapse with configurable interval and image count
- astro BULB with exposure, pause and image count
- event-driven wait for the camera's
ShutterReadynotification - decoded BLE diagnostics over USB serial
Original project illustration of the M5StickC Plus 1.1 form factor and controls; appearance may vary. See the official hardware documentation.
- M5StickC Plus 1.1 (ESP32-PICO-D4, 4 MB flash)
- a compatible camera with Bluetooth remote-control mode
- a USB-C data cable
Tested: Sony α6400 / ILCE-6400 with firmware 2.00 or newer. Other models may use the same protocol but are not considered supported until tested on hardware.
| Device | Status | Best for | Trade-off |
|---|---|---|---|
| M5StickC Plus 1.1 | Primary and hardware-tested | Small, pocketable remote with physical controls | Small 1.14-inch display and 120 mAh battery |
| M5Stack CoreS3 | Supported and hardware-tested | Larger 2-inch 320 × 240 touch display and 500 mAh battery | Larger enclosure and touch controls instead of dedicated A/B buttons |
The M5StickC Plus 1.1 remains the recommended first choice: it is compact and its physical buttons work without looking at the screen. CoreS3 is the larger alternative with a modern touch interface and longer runtime. Both controllers use their IMU to restore display brightness when moved. Both targets have been tested with the α6400 and have their own ready-to-flash image in release v0.2.2.
CoreS3 main screen: video, photo, tools, press-and-hold autofocus, camera connection and battery status.
| Button | Main screen |
|---|---|
| Front button, short press | Video start/stop |
| Side button B, hold | Autofocus |
| Power button C, short press | Take photo |
| Front button, hold 1.2 seconds | Open Tools |
| Power button, long press | Power off |
| Lift or move the device | Restore display brightness after dimming |
In Tools: the side button changes the selection/value, the front button confirms/starts, and Power goes back. Press the front button to stop a running sequence.
Available tools: INTERVAL (unlimited), TIMELAPSE (interval + count) and ASTRO BULB (exposure + pause + count).
| Touch area | Action |
|---|---|
| Video control | Start/stop recording |
| Photo | Trigger shutter; camera must be in a photo mode |
| AF, press and hold | Hold autofocus; release to stop focusing |
| Tools | Open interval, timelapse and Astro BULB |
| Lift or move the device | Restore display brightness after dimming |
The camera decides how the shutter command is interpreted. In Movie/S&Q mode, or with Movie w/ Shutter enabled, tapping Photo may start video instead of taking a still image. Switch the camera to M, A, S, P or another still-photo mode for photos.
On an α6400:
MENU → Network → Bluetooth Settings → Bluetooth Function → OnMENU → Network → Bluetooth Remote Ctrl → OnMENU → Network → Bluetooth Settings → Pairing- Power on Alpha Photon and confirm the camera's pairing dialog.
The bond is stored on the ESP32. Later starts reconnect automatically.
Each controller has its own Bluetooth identity and stores its own bond. A CoreS3 therefore cannot reuse the M5StickC's bond. Only power on the controller you want to use; the camera accepts only one active Bluetooth remote connection.
Sony's α6400 documentation does not state whether multiple remote bonds are retained. Pairing a second controller may replace the first one. When switching devices:
- power off the controller that is currently connected;
- power on the controller you want to use and wait for automatic reconnection;
- if it does not connect, open the camera's pairing screen and pair it again;
- confirm the Bluetooth dialog on the camera.
Avoid Reset Network Settings during a normal controller change. Sony recommends it only for troubleshooting, and it removes pairing/network information. See Sony's official α6400 Bluetooth remote instructions.
Download the image for your controller and its matching checksum from the latest release:
alpha-photon-m5stickc-plus-1.1-v0.2.2.bin— M5StickC Plus 1.1alpha-photon-m5stack-cores3-v0.2.2.bin— M5Stack CoreS3- matching
.sha256file — optional integrity check
Warning
The images are device-specific. Do not flash the CoreS3 image to a Stick or the Stick image to a CoreS3.
The M5StickC Plus 1.1 uses an FTDI USB serial interface. Install the driver linked in the official M5Stack documentation, then reconnect the stick. On Windows it should appear as USB Serial Port (COMx). CoreS3 uses the ESP32-S3 native USB interface and normally needs no separate driver on current operating systems.
Install Python and run:
python -m pip install --upgrade esptool- Windows: Device Manager → Ports, for example
COM4 - macOS: usually
/dev/cu.usbserial-* - Linux: usually
/dev/ttyUSB0
Close PlatformIO, serial monitors, M5Burner or other programs using that port.
Windows example:
python -m esptool --chip esp32 --port COM4 --baud 460800 write_flash 0x0 .\alpha-photon-m5stickc-plus-1.1-v0.2.2.binmacOS/Linux example:
python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash 0x0 ./alpha-photon-m5stickc-plus-1.1-v0.2.2.binWindows example:
python -m esptool --chip esp32s3 --port COM13 --baud 1500000 write_flash 0x0 .\alpha-photon-m5stack-cores3-v0.2.2.binmacOS/Linux example (replace the port if necessary):
python3 -m esptool --chip esp32s3 --port /dev/ttyACM0 --baud 1500000 write_flash 0x0 ./alpha-photon-m5stack-cores3-v0.2.2.binBoth release files are complete bootable images and must be written at offset 0x0.
On the Stick, normally no BOOT button is required. The built-in FTDI interface automatically resets the ESP32 into download mode. The large front button is an application button, not a BOOT button.
On CoreS3, automatic download mode normally works as well. If it does not, hold the bottom RST button for about three seconds until the green LED lights, release it, and use the newly appearing serial port.
If esptool remains at Connecting...:
- close every program using the serial port;
- unplug USB, power-cycle the stick, and reconnect it with a known data cable;
- retry at
--baud 115200; - reinstall the FTDI driver if no serial port appears.
Flashing replaces the installed firmware. BLE pairing data may need to be recreated if the flash was erased separately.
Install PlatformIO and run:
pio run -e m5stickc-plus-11
pio device list
pio run -e m5stickc-plus-11 --target upload --upload-port COM4
pio device monitor --port COM4 --baud 115200 --filter timeCoreS3:
pio run -e m5stack-cores3
pio device list
pio run -e m5stack-cores3 --target upload --upload-port COM13
pio device monitor --port COM13 --baud 115200 --filter timePort names vary. If the CoreS3 does not enter download mode automatically, hold its bottom RST button for about three seconds until the green LED lights, then release it and use the newly appearing serial port.
Set the camera to photo mode, M, and turn shutter speed past 30″ to BULB. Set aperture, ISO and preferably manual focus. Disable silent shooting and continuous/bracketing modes if BULB is unavailable.
The α6400 uses a Bluetooth toggle sequence: one full click opens the shutter, a second closes it. Alpha Photon waits for the configured exposure between those clicks, then waits for 02 A0 00 (ShutterReady) before starting the extra pause. This also accommodates in-camera long-exposure noise reduction.
- Service
8000ff00-ff00-ffff-ffff-ffffffffffff - commands on
FF01, camera notifications onFF02 - Freemote
- α-Remote
- Furble
- Alpha Fairy
- α6400 Bluetooth remote help
Alpha Photon is released under the MIT License. Copyright © 2026 Alpha Photon contributors. See NOTICE for acknowledgements and upstream project references, including Alpha Fairy by Frank Zhao.
Alpha Photon verwandelt einen M5StickC Plus 1.1 in eine kompakte Bluetooth-Kamerafernbedienung mit Autofokus, Foto, Video, Intervall, Zeitraffer und Astro-BULB. Entwickelt und praktisch getestet wurde die Firmware mit einer Sony α6400 im RMT-P1BT-kompatiblen Bluetooth-Fernbedienungsmodus. WLAN oder Smartphone sind nicht erforderlich.
Note
Alpha Photon ist ein unabhängiges Community-Projekt und steht in keiner Verbindung zu Sony oder M5Stack. Produktnamen dienen ausschließlich der Kompatibilitätsbeschreibung.
- verschlüsselte BLE-Kopplung und automatische Wiederverbindung
- Autofokus, Foto und Video Start/Stopp
- flackerfreie grafische Anzeige mit REC-Timer, Fokus- und Akkustatus
- zwei Sekunden langer Alpha-Photon-Bootscreen auf beiden Controllern
- Foto-/Clip-Zähler, automatische Display-Abdunklung und Aufhellen bei Bewegung
- unbegrenzter Intervallmodus
- Zeitraffer mit Intervall und Bildanzahl
- Astro-BULB mit Belichtungszeit, Pause und Bildanzahl
- ereignisgesteuertes Warten auf
ShutterReady - dekodierte BLE-Diagnose über USB-Serial
Eigene Projektillustration der Bauform und Tasten des M5StickC Plus 1.1; das Aussehen kann abweichen. Siehe die offizielle Hardware-Dokumentation.
- M5StickC Plus 1.1 (ESP32-PICO-D4, 4 MB Flash)
- kompatible Kamera mit Bluetooth-Fernbedienungsmodus
- USB-C-Datenkabel
Getestet: Sony α6400 / ILCE-6400 mit Firmware 2.00 oder neuer. Weitere Modelle gelten erst nach einem Hardwaretest als unterstützt.
| Gerät | Status | Besonders geeignet für | Einschränkung |
|---|---|---|---|
| M5StickC Plus 1.1 | Primäres und hardwaregetestetes Ziel | Kleine, handliche Fernbedienung mit echten Tasten | Kleines 1,14-Zoll-Display und 120-mAh-Akku |
| M5Stack CoreS3 | Unterstützt und hardwaregetestet | Größeres 2-Zoll-Touchdisplay mit 320 × 240 Pixeln und 500-mAh-Akku | Größeres Gehäuse und Touchbedienung statt eigener A-/B-Tasten |
Der M5StickC Plus 1.1 bleibt die empfohlene erste Wahl: Er ist kompakt und seine echten Tasten lassen sich ohne Blick auf das Display bedienen. Der CoreS3 ist die größere Alternative mit moderner Touchoberfläche und längerer Laufzeit. Beide Controller hellen das Display mithilfe ihrer IMU bei Bewegung wieder auf. Beide Ziele wurden mit der α6400 getestet und besitzen im Release v0.2.2 jeweils ein eigenes, direkt flashbares Image.
CoreS3-Hauptansicht: Video, Foto, Tools, Autofokus durch Gedrückthalten sowie Kamera- und Akkustatus.
| Taste | Hauptansicht |
|---|---|
| Große Fronttaste kurz | Video Start/Stopp |
| Seitentaste B halten | Autofokus |
| Power-Taste C kurz | Foto |
| Fronttaste 1,2 Sekunden halten | Tools öffnen |
| Power-Taste lang | Ausschalten |
| Gerät anheben oder bewegen | Display nach dem Dimmen wieder aufhellen |
In Tools ändert die Seitentaste Auswahl/Wert, die Fronttaste bestätigt/startet und Power geht zurück. Während einer Sequenz stoppt die Fronttaste.
Verfügbare Modi: INTERVAL (unbegrenzt), TIMELAPSE (Intervall + Anzahl) und ASTRO BULB (Belichtung + Pause + Anzahl).
| Touchfläche | Aktion |
|---|---|
| Video | Aufnahme starten/stoppen |
| Photo | Auslöser; die Kamera muss in einem Fotomodus stehen |
| AF gedrückt halten | Autofokus halten; zum Beenden loslassen |
| Tools | Intervall, Timelapse und Astro-BULB öffnen |
| Gerät anheben oder bewegen | Display nach dem Dimmen wieder aufhellen |
Die Kamera entscheidet, wie sie den Auslösebefehl interpretiert. Im Film-/S&Q-Modus oder bei aktiviertem Film mit Verschluss kann Photo eine Videoaufnahme statt eines Standbilds starten. Für Fotos die Kamera auf M, A, S, P oder einen anderen Fotomodus stellen.
MENU → Netzwerk → Bluetooth-Einstlg. → Bluetooth-Funktion → EinMENU → Netzwerk → Bluetooth-Fernbed. → EinMENU → Netzwerk → Bluetooth-Einstlg. → Kopplung- Alpha Photon einschalten und den Kopplungsdialog bestätigen.
Die Bindung bleibt im ESP32 gespeichert; spätere Starts verbinden automatisch.
Jeder Controller besitzt eine eigene Bluetooth-Identität und speichert seine eigene Bindung. Ein CoreS3 kann die Bindung des M5StickC daher nicht übernehmen. Nur den Controller einschalten, der verwendet werden soll; die Kamera erlaubt nur eine aktive Bluetooth-Fernbedienungsverbindung.
Die Dokumentation der α6400 sagt nicht eindeutig, ob mehrere Fernbedienungsbindungen gespeichert bleiben. Das Koppeln eines zweiten Controllers kann deshalb die erste Bindung ersetzen. Beim Wechsel:
- den aktuell verbundenen Controller ausschalten;
- den gewünschten Controller einschalten und die automatische Verbindung abwarten;
- falls keine Verbindung entsteht, an der Kamera den Kopplungsbildschirm öffnen und erneut koppeln;
- den Bluetooth-Dialog der Kamera bestätigen.
Netzw.einst. zurücks. nicht für einen normalen Controllerwechsel verwenden. Sony empfiehlt die Funktion nur zur Fehlerbehebung; dabei gehen Kopplungs- und Netzwerkinformationen verloren. Siehe Sonys Anleitung zur Bluetooth-Fernbedienung.
Das Image für den eigenen Controller und die zugehörige Prüfsumme von der neuesten Release-Seite herunterladen:
alpha-photon-m5stickc-plus-1.1-v0.2.2.bin— M5StickC Plus 1.1alpha-photon-m5stack-cores3-v0.2.2.bin— M5Stack CoreS3- passende
.sha256-Datei — optionale Integritätsprüfung
Warning
Die Images sind gerätespezifisch. Das CoreS3-Image nicht auf den Stick und das Stick-Image nicht auf den CoreS3 flashen.
Der M5StickC Plus 1.1 verwendet eine FTDI-USB-Seriell-Schnittstelle. Den Treiber aus der offiziellen M5Stack-Dokumentation installieren und den Stick neu verbinden. Unter Windows erscheint er als USB Serial Port (COMx). Der CoreS3 verwendet die native USB-Schnittstelle des ESP32-S3 und benötigt auf aktuellen Betriebssystemen normalerweise keinen separaten Treiber.
Python installieren und ausführen:
python -m pip install --upgrade esptool- Windows: Geräte-Manager → Anschlüsse, beispielsweise
COM4 - macOS: meistens
/dev/cu.usbserial-* - Linux: meistens
/dev/ttyUSB0
PlatformIO, serielle Monitore, M5Burner und andere Programme schließen, die den Port verwenden.
Windows:
python -m esptool --chip esp32 --port COM4 --baud 460800 write_flash 0x0 .\alpha-photon-m5stickc-plus-1.1-v0.2.2.binmacOS/Linux:
python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash 0x0 ./alpha-photon-m5stickc-plus-1.1-v0.2.2.binWindows:
python -m esptool --chip esp32s3 --port COM13 --baud 1500000 write_flash 0x0 .\alpha-photon-m5stack-cores3-v0.2.2.binmacOS/Linux (Port bei Bedarf ersetzen):
python3 -m esptool --chip esp32s3 --port /dev/ttyACM0 --baud 1500000 write_flash 0x0 ./alpha-photon-m5stack-cores3-v0.2.2.binBeide Release-Dateien sind vollständige, bootfähige Images und müssen an Offset 0x0 geschrieben werden.
Beim Stick ist normalerweise kein BOOT-Taster erforderlich. Die eingebaute FTDI-Schnittstelle setzt den ESP32 beim Flashen automatisch in den Download-Modus. Die große Fronttaste ist eine Anwendungstaste und keine BOOT-Taste.
Auch der CoreS3 wechselt normalerweise automatisch in den Downloadmodus. Falls das nicht funktioniert, die untere RST-Taste ungefähr drei Sekunden halten, bis die grüne LED leuchtet. Dann loslassen und den neu erschienenen seriellen Port verwenden.
Falls esptool bei Connecting... stehen bleibt:
- alle Programme schließen, die den seriellen Port verwenden;
- USB trennen, Stick aus-/einschalten und mit einem sicheren Datenkabel neu verbinden;
- erneut mit
--baud 115200versuchen; - den FTDI-Treiber neu installieren, falls kein Port erscheint.
Das Flashen ersetzt die installierte Firmware. Wenn der Flash zuvor separat gelöscht wurde, muss Bluetooth eventuell neu gekoppelt werden.
PlatformIO installieren und ausführen:
pio run -e m5stickc-plus-11
pio device list
pio run -e m5stickc-plus-11 --target upload --upload-port COM4
pio device monitor --port COM4 --baud 115200 --filter timeCoreS3:
pio run -e m5stack-cores3
pio device list
pio run -e m5stack-cores3 --target upload --upload-port COM13
pio device monitor --port COM13 --baud 115200 --filter timePortnamen können abweichen. Falls der CoreS3 nicht automatisch in den Downloadmodus wechselt, die untere RST-Taste ungefähr drei Sekunden halten, bis die grüne LED leuchtet. Anschließend loslassen und den neu erschienenen seriellen Port verwenden.
Kamera auf Fotomodus und M stellen, Verschlusszeit über 30″ hinaus auf BULB drehen sowie Blende, ISO und vorzugsweise manuellen Fokus einstellen. Falls BULB fehlt, geräuschlose Aufnahme und Serien-/Reihenmodi deaktivieren.
Die α6400 verwendet per Bluetooth eine Toggle-Sequenz: Ein vollständiger Klick öffnet, ein zweiter schließt den Verschluss. Alpha Photon wartet dazwischen die eingestellte Belichtungszeit und danach auf 02 A0 00 (ShutterReady). Erst anschließend läuft die zusätzliche Pause. So wird auch die kamerainterne Langzeit-Rauschminderung berücksichtigt.
- Service
8000ff00-ff00-ffff-ffff-ffffffffffff - Befehle über
FF01, Kamerastatus überFF02 - Freemote
- α-Remote
- Furble
- Alpha Fairy
- α6400: Bluetooth-Fernbedienung
- α6400: Bulb-Aufnahme
Alpha Photon wird unter der MIT-Lizenz veröffentlicht. Copyright © 2026 Alpha Photon contributors. Danksagungen und Hinweise zu den als Referenz verwendeten Projekten – darunter Alpha Fairy von Frank Zhao – stehen in NOTICE.

