This project uses Canon’s Camera Control API (CCAPI), which enables Wi-Fi control of the camera. However, only certain cameras are supported and the CCAPI needs to be “activated” on a per-camera basis. It would be nice if cameras included CCAPI functionality by default, but unfortunately we have to jump through some hoops just to enable it.
Supported cameras as of 2024-01-15: PowerShot V10, EOS R100, EOS R8, EOS R50, EOS R6 Mark II, EOS R7, EOS R10, EOS R3, EOS M50 Mark II, EOS R5, EOS R6, EOS 850D, EOS-1D X Mark III, EOS M200, EOS 90D, EOS M6 Mark II, PowerShot G5 X Mark II, PowerShot G7 X Mark III, EOS 250D, EOS RP, PowerShot SX70 HS
By default, the ESP will create a Wi-Fi network with the SSID ESP8266_AP and the password defgecd7 while powered. These are configurable in intervalometer/src/server.cpp. The board’s IP address is 192.168.4.1.
Connect to the Wi-Fi network (SSID is ESP8266_AP and password is defgecd7 by default). You device may warn you that there’s no internet connection and ask if it should stay connected; if so just affirm the connection.
In the address bar of a browser, type 192.168.4.1. You should see the ESP8266 Intervalometer interface.
Select Camera Control API, select Add connection, then select Add with wizard.
If the ESP is powered, its network SSID (ESP8266_AP by default) should show up on the list. Select it, and then enter and confirm the password (defgecd7 by default).
Pictures showing network selection and password screens
On the next screen, choose either automatic or manual IP. Setting a manual IP address is recommended so that it always stays the same. Specifically, 192.168.4.7 is the most convenient, since that value is the default value that is pre-populated on the website.
Pictures showing manual IP address setting
If all goes well, you should see a screen that says Waiting to connect, with the URL of the CCAPI endpoint.
Locate the Connect camera section of the ESP8266 Intervalometer interface on your other connected device (see above). Enter the IP address shown on the camera. For example, if the camera shows http://192.168.4.7:8080/ccapi, only enter 192.168.4.7. Then, press the Connect button.
The camera should briefly show a screen that says Settings complete, then give the option to disconnect, which means the connection has been saved.
In the future, you can connect to the network by selecting Connect in the main Camera Control API screen and selecting the network name.
Once the camera has been connected for the first time, the intervalometer setup is as follows:
Make sure the ESP is powered. Then, connect your phone/computer and camera to the network.
Connect the ESP to the camera using the Connect camera section of the interface. If successful, the Intervalometer section should appear.
Use the intervalometer section to start and stop sequences. You can check on the status of the current sequence using the Status section at the top.
The interval must be long enough so that the camera has time to save each image before taking the next. If using the bulb exposure mode (which allows for custom long exposures of over 30 seconds), the interval should be around 10 seconds longer than the bulb time, although this may vary from camera to camera.