BTCamRemote - Android Remote for Nikon cameras based on Arduino and the Amarino-Toolkit

This app can connect your Android mobile phone to an Arduino board via bluetooth. If the Arduino board is connected to a Nikon DSLR (using an optoisolator), you can use your Android to control the camera. The app supports different modes: timer mode, bulb mode for long exposures, and interval shots.

Please note that his is kind of hacky and can probably damage your camera or your Arduino if not used correctly. So if you don't know what you are doing, don't use this program. :)

Please see See for a decription of the hardware setup.

What you will need to run this software:


The BTCamRemote App (you have the code right here), as well as the Amarino App to set up the connection. The Amarino App can be downloaded from

NOTE: BTCamRemote needs Android 3.0 to function. Older revisions may work with 2.2.


- The Arduino code is in the /Arduino subfolder in this repository (

- The Amarino Library can be downloaded from

- A bluetooth shield for connecting the Arduino to the App (set baud rate to 115200 or change the Arduino code to match your setup).

- An optoisolator connected to port 13 of your Ardunio board (don't forget a 220 ohms capacitor). See circuit description in the Arduino subfolder. 

- A DSLR (e.g. Nikon D200) connected to the Ardunio through the optoisolator. This is probably the most tricky part of the setup. Proceed at your own risk! For the pin layout of the Nikon cameras, see the Arduino subfolder.