BulbSync

Automate your shootings.

Automatiza tus sesiones.

Control long exposures, interval sequences and multiple cameras from your phone.

Controla exposiciones largas, secuencias de intervalo y varias cámaras desde tu teléfono.

GET IT ON GOOGLE PLAY DISPONIBLE EN GOOGLE PLAY Android · No account · No tracking Android · Sin cuenta · Sin rastreo
BulbSync shooter screen Running session screen, dark theme

Set it. Start it. Let it run.

Configura. Inicia. Déjalo correr.

Set your sequence. Start the session. BulbSync handles the rest.

Configura tu secuencia. Inicia la sesión. BulbSync se encarga del resto.

Sequence setup with advanced options

Built for long exposures.

Hecho para exposiciones largas.

Set exposure, pause and number of shots in one simple sequence.

Configura exposición, pausa y número de tomas en una secuencia sencilla.

True bulb · Estimated duration · Single photo · Intervalometer

Bulb de verdad · Duración estimada · Foto única · Intervalómetro

Two camera groups shooting in sync, each with its own progress

One phone. Multiple cameras.

Un teléfono. Varias cámaras.

Connect several cameras, organize them into independent groups and shoot in sync from a single device.

Conecta varias cámaras, organízalas en grupos independientes y dispara en sincronía desde un solo dispositivo.

Photogrammetry · VR/360 · Multi-angle timelapses

Fotogrametría · VR/360 · Timelapses multiángulo

Session running on two cameras with pause and stop controls

Built for long sessions.

Preparado para sesiones largas.

Automatic reconnection keeps your session running through temporary Bluetooth interruptions.

La reconexión automática mantiene tu sesión en marcha ante cortes temporales de Bluetooth.

Pause · Resume · Stop · Accurate shot tracking

Pausar · Reanudar · Detener · Recuento preciso de tomas

The shot counter only advances when a frame is successfully triggered.

El contador de tomas solo avanza cuando una toma se dispara con éxito.

Made for the night.

Creado para la noche.

Designed for photographers working in the dark.

Diseñado para fotógrafos que trabajan a oscuras.

Red night mode settings, with brightness control

Red night mode

Modo nocturno rojo

Preserve your dark-adapted vision with a dedicated red interface.

Conserva tu visión adaptada a la oscuridad con una interfaz roja dedicada.

Adjustable brightness

Brillo ajustable

Dim the screen to the brightness you need in the field.

Atenúa la pantalla al brillo que necesites en el campo.

Screen off

Pantalla apagada

Let long sessions continue with the display turned off.

Deja que las sesiones largas sigan con la pantalla apagada.

Your setup. Saved.

Tu configuración. Guardada.

Save your favorite shooting configurations and reuse them whenever you need them.

Guarda tus configuraciones de disparo favoritas y reutilízalas cuando las necesites.

Presets

Presets

Save and reuse your favorite shooting setups.

Guarda y reutiliza tus configuraciones de disparo favoritas.

Backup

Copia de seguridad

Export and restore your presets, camera groups and session history in a portable file.

Exporta y restaura tus presets, grupos de cámaras e historial de sesiones en un fichero portátil.

Which cameras work?

¿Con qué cámaras funciona?

BulbSync works with Sony and Canon cameras with a Bluetooth remote control mode.

BulbSync funciona con cámaras Sony y Canon que tengan un modo de control remoto por Bluetooth.

Sony

Cameras that support "Bluetooth Remote Control".

Cámaras compatibles con "Control remoto Bluetooth".

Alpha 7
α7 III (ILCE-7M3)* α7 IV (ILCE-7M4) α7 V (ILCE-7M5) A7C A7R IV A7S III
Alpha 1 / 9
Alpha 1 / 9
A1 A9 II
APS-C
A6100 A6400 A6600 A6700
ZV / RX
ZV-1 ZV-E10 RX100 VII

⚠️ The Sony α7 II (ILCE-7M2) does not support Bluetooth Remote Control and is not compatible with BulbSync.

⚠️ La Sony α7 II (ILCE-7M2) no dispone de Control remoto Bluetooth y no es compatible con BulbSync.

⚠️ The α7 III* needs firmware v3.00 or later: it shipped without this feature and got it via a later update (MENU → Network → "Bluetooth Rmt Ctrl").

⚠️ La α7 III* necesita firmware v3.00 o posterior: salió sin esta función y la recibió por una actualización más tarde (MENU → Red → "Control remoto Bluetooth").

Canon

Bodies with BLE pairing in "Remote" mode — the one the BR-E1 remote uses.

Cuerpos con emparejamiento BLE en modo "Remote", el del mando BR-E1.

VERIFIED IN THE FIELD
VERIFICADA EN CAMPO
EOS R7

Do you have another Canon? The BR-E1 protocol is implemented and verified on the bench, but across the whole range only the EOS R7 has a real session on real hardware behind it — so we're not calling the rest compatible. If you have a Canon with a Remote mode, get in touch and help us verify it.

¿Tienes otra Canon? El protocolo del BR-E1 está implementado y verificado en banco, pero de toda la gama solo la EOS R7 tiene detrás una sesión en hardware real — así que el resto no lo damos por compatible. Si tienes una Canon con modo Remote, escríbenos y ayúdanos a verificarla.

EOS R
EOS R1 EOS R3 EOS R5 EOS R5 Mark II EOS R5 C EOS R6 EOS R6 Mark II EOS R8 EOS R10 EOS R50 EOS R100 EOS R EOS RP
EOS DSLR
EOS réflex
EOS 90D EOS 77D EOS 6D Mark II EOS 800D / Rebel T7i EOS 850D / Rebel T8i EOS 200D / Rebel SL2 EOS 250D / Rebel SL3
EOS M
EOS M6 Mark II EOS M50 EOS M50 Mark II EOS M200
PowerShot
G5 X Mark II G7 X Mark III SX70 HS

⚠️ Canon's official BR-E1 compatibility list — these are the models Canon says work with the remote, not a BulbSync compatibility claim (see the notice above).

⚠️ Lista oficial de compatibilidad del mando BR-E1 (Canon) — son los modelos que Canon dice que funcionan con el mando, no una garantía de compatibilidad de BulbSync (ver el aviso de arriba).

Nikon

Do you have a Nikon? Support for the ML-L7 remote is already written, but it hasn't been verified on real hardware yet — so we're not calling it compatible. If your Nikon works with the ML-L7, get in touch and help us test it.

¿Tienes una Nikon? El soporte del mando ML-L7 ya está escrito, pero todavía no se ha verificado en hardware real — así que aún no la damos por compatible. Si tu Nikon es compatible con el ML-L7, escríbenos y ayúdanos a probarlo.

⚠️ On a Z6 II or Z7 II? Check your firmware is v1.40 or later before testing — that's when Nikon added ML-L7 support. On older firmware the pairing menu doesn't exist yet, so there's nothing to test.

⚠️ ¿Tienes una Z6 II o una Z7 II? Antes de probarla, comprueba que el firmware es v1.40 o posterior — es cuando Nikon añadió el soporte del ML-L7. Con firmware anterior el menú de emparejamiento no existe todavía, así que no hay nada que probar.

Z
Z5 Z6 II Z6 III Z7 II Z30 Z50 Z50 II Zf Zfc
COOLPIX
A1000 B600 P950 P1000 P1100

⚠️ Nikon's official ML-L7 compatibility list (Asia/MEA) — these are the models Nikon says work with the remote, not a BulbSync compatibility claim (see the notice above). The Z8 and Z9 are explicitly excluded by Nikon: they don't ship with a Remote mode compatible with the ML-L7.

⚠️ Lista oficial de compatibilidad del mando ML-L7 (Nikon Asia/MEA) — son los modelos que Nikon dice que funcionan con el mando, no una garantía de compatibilidad de BulbSync (ver el aviso de arriba). La Z8 y la Z9 quedan explícitamente excluidas por Nikon: no traen un modo Remote compatible con el ML-L7.

Check your camera's menu for a Bluetooth remote control mode before installing. Green chips are models with a real session behind them; amber ones are models the manufacturer lists for its own remote, which BulbSync has not verified yet.

Comprueba en el menú de tu cámara si tiene un modo de control remoto por Bluetooth antes de instalar. Los chips verdes son modelos con una sesión real detrás; los ámbar son modelos que el fabricante declara para su propio mando y que BulbSync todavía no ha verificado.

Under the hood

Bajo el capó

Sending the shutter command is the simple part.

Enviar la orden de disparo es la parte sencilla.

The distance between a remote and a dependable system shows up over long sessions: undocumented protocols, a radio layer that discards commands without reporting it, and cameras that close the connection on their own. BulbSync is built around those three problems.

La distancia entre un disparador y un sistema fiable aparece en las sesiones largas: protocolos sin documentación pública, una capa de radio que descarta órdenes sin notificarlo y cámaras que cierran la conexión por iniciativa propia. BulbSync está construido alrededor de esos tres problemas.

One instruction on top, six layers underneath

Una instrucción arriba, seis capas debajo

Every session rests on a stack of conditions that must hold for hours, unsupervised.

Cada sesión se apoya en una pila de condiciones que deben mantenerse durante horas y sin supervisión.

VISIBLE VISIBLE Session: 40 shots of 90 s on two cameras Sesión: 40 tomas de 90 s en dos cámaras NOT VISIBLE NO VISIBLE Sequence engineMotor de secuencia SyncSincronía Shutter modelModelo de obturador Protocol translationTraducción de protocolo Operation queueCola de operaciones Link lifecycleCiclo de vida del enlace exposure, pause, start timer, shot countexposición, pausa, temporizador y recuento the same command, at the same instant, on every camerala misma orden, en el mismo instante, en cada cámara how each body opens and closes a long exposurecómo abre y cierra la exposición cada cuerpo the abstract command, in each brand's dialectla orden abstracta, en el dialecto de cada marca one command in flight, each with its own deadlineuna orden en vuelo, cada una con su plazo pairing, negotiation, discovery, recoveryemparejado, negociación, descubrimiento, recuperación
A conventional remote implements the top layer. BulbSync's work is in the ones below it.
Un disparador convencional implementa la capa superior. El trabajo de BulbSync está en las inferiores.

Link loss is a designed-for scenario

La pérdida de enlace es un escenario previsto

Over a long session, bodies close the connection without warning. The measure of quality is not avoiding that, but the recovery.

En una sesión larga, los cuerpos cierran la conexión sin aviso. El criterio de calidad no es evitarlo, sino la recuperación.

shots not taken tomas no realizadas shots tomas link activeenlace activo no linksin enlace recoveredrecuperado retries with increasing backoff reintentos con espera creciente one session, several hours una sesión, varias horas
link activeenlace activo no linksin enlace
Retries are spaced progressively because a body that has just closed the link will not accept an immediate connection. Shots that did not happen are counted as missed and recorded in the session summary.
Los reintentos se espacian de forma creciente porque un cuerpo que acaba de cerrar el enlace no admite una conexión inmediata. Las tomas no realizadas se contabilizan como perdidas y constan en el resumen de la sesión.

01

Several protocols, one behaviour

Varios protocolos, un solo comportamiento

Each manufacturer defines its own Bluetooth remote protocol, with no public documentation and nothing in common between them. BulbSync unifies them into a single way of firing, so combining brands in one sequence does not alter how the app behaves.

Cada fabricante define su propio protocolo de mando por Bluetooth, sin documentación pública ni puntos en común. BulbSync los unifica en una única forma de disparar: combinar marcas en una misma secuencia no altera el comportamiento de la app.

The sequence engine is brand-independent.

El motor de secuencia es independiente de la marca.

02

"Sent" does not mean "executed"

«Enviado» no equivale a «ejecutado»

A command can be transmitted and acknowledged by the camera without the shutter having moved. These are two distinct layers, and BulbSync does not conflate them.

Una orden puede transmitirse y ser confirmada por la cámara sin que el obturador se haya accionado. Son dos capas distintas y BulbSync no las confunde.

Where a body reports shutter state, it is used. Where it does not, the exposure is timed and not presented as confirmed.

Si el cuerpo informa del estado del obturador, se utiliza. Si no, la exposición se sigue por tiempo y no se presenta como confirmada.

03

Timing is part of the protocol

La temporización forma parte del protocolo

Bodies require not only the correct bytes but specific intervals between them. Two commands sent too close together are ignored without raising any error.

Los cuerpos no solo requieren los bytes correctos, sino intervalos concretos entre ellos. Dos órdenes demasiado próximas se ignoran sin generar ningún error.

Every timing constant comes from a measurement on real hardware and is held in place by an automated test.

Cada constante de temporización procede de una medición sobre hardware real y está fijada por una prueba automática.

04

No state without an exit

Ningún estado sin salida

A six-hour session admits no indefinite waits. Every operation has a deadline and an alternative: if a negotiation goes unanswered, the app proceeds without it; if a step is never confirmed, it falls back to a working mode.

Una sesión de seis horas no admite esperas indefinidas. Cada operación tiene plazo y alternativa: si una negociación no obtiene respuesta, se continúa sin ella; si un paso no llega a confirmarse, se degrada a un modo operativo.

Those deadlines come from timing real bodies, not from estimates.

Esos plazos proceden de cronometrar cuerpos reales, no de estimaciones.

05

Recovery over prevention

La recuperación prevalece sobre la prevención

A camera closing the link cannot be prevented, so what matters is the behaviour afterwards. Reconnection is staged, runs with the screen off, and the sequence resumes where it was.

No es posible impedir que una cámara cierre el enlace, de modo que lo relevante es el comportamiento posterior. La reconexión es escalonada, opera con la pantalla apagada y la secuencia se retoma donde estaba.

What was lost during the outage is recorded in the session summary.

Lo perdido durante la caída queda registrado en el resumen de la sesión.

06

The signal threshold is learned

El umbral de señal se aprende

The same signal reading is comfortable on one phone and critical on another, so a fixed threshold table is not defensible. BulbSync derives each camera's threshold from that camera's own behaviour, and warns early because a degrading link slows down before it drops.

Una misma lectura de señal es holgada en un teléfono y crítica en otro, por lo que una tabla fija de umbrales no es defendible. BulbSync deriva el umbral de cada cámara de su propio comportamiento, y avisa con antelación porque un enlace degradado se vuelve lento antes de caer.

The bars show margin over the learned threshold, not absolute values. Included in the Lite version.

Las barras indican margen sobre el umbral aprendido, no valores absolutos. Incluido en la versión Lite.

3 proprietary protocols implemented protocolos propietarios implementados
25,00025.000 lines of Kotlin líneas de Kotlin
239 automated tests pruebas automáticas
60 versions since 1.1.0 versiones desde la 1.1.0
0 accounts and trackers cuentas y rastreadores

Compatibility criterion

Criterio de compatibilidad

A camera joins the list when a session on real hardware supports it, not when the code is written. Protocol that is implemented and verified on the bench remains unannounced until then.

Una cámara se incorpora a la lista cuando una sesión sobre hardware real la respalda, no cuando el código está escrito. El protocolo implementado y verificado en banco permanece sin anunciar hasta entonces.

Your camera. Your setup. Your sequence.

Tu cámara. Tu configuración. Tu secuencia.

Automate your next shooting session with BulbSync.

Automatiza tu próxima sesión de disparo con BulbSync.

Android · No account · No tracking Android · Sin cuenta · Sin rastreo