Android Remote Control for Digital camera

Android Remote Control for Digital camera

Please read Liability Disclaimer and License Agreement CAREFULLY

When i started to implement the Star Traker function on the previous remote control (See link) i did not took in to consideration the speed limits related to 

more complex math that the ATMega 328 has, so the first step was to look in to affordable CPU with a math punch.

At this moment on the market there are many choices and i decided to go for the "less" known AllWinner A20 on a board made by Olimex (A20-OLinuXino-Micro-4Gb).

In the mean while i have been contacted by several sports reporters and  war corespondent to build for them remotes that are able to trigger the camera from a long distance.

Based on the considerations above i have decided that i will use the XBEE S2B Pro as base for wireless communication between the Android remote control for digital camera and the triggers, in the same time some of the triggers can act as self maintained remote control after they are power on and  they receive the function to execute from the Android remote control for digital camera.

Below are the main parts of this wireless trigger system for DSLR:

1. The Android remote control for digital camera main unit

1.1. The coordinator XBEE is connected to the Olimex A20 board and is controlled using Serial port 3


uart_used = 1

uart_port = 3

uart_type = 4

uart_tx = port:PG06<4><1><default><default>

uart_rx = port:PG07<4><1><default><default>

uart_rts = port:PG08<4><1><default><default>


uart_cts = port:PG09<4><1><default><default>

Wireless connection for remote trigger

1.2 Android remote control for digital camera main unit has incorporated in this buil a 64Gb HDD

This HDD is not used in Android at this point (Only works on Linux) but the functionality is on To Do list for Android


1.3 The ATMega 328 Control/Sensors board

This PCB contains the Pressure sensor MS5611, the Inertial Measurement Unit sensor MPU9150, the Real Time Clock DS1307 and the GPS MTK3329 that can be directly access by the main board using I2C and Serial communication protocols. These sensors are used for system positioning needed for Star Tracking.

The ATMega 328 it is used to control the cameras/devices and sensors connected directly to the Android remote control for digital camera main unit by SPI connection.

The communication protocols are listed below

;Sensors I2C


twi2_used = 1

twi2_scl = port:PB20<2><default><default><default>


twi2_sda = port:PB21<2><default><default><default>


;MTK3329 serial


uart_used = 1

uart_port = 6

uart_type = 2

uart_tx = port:PI12<3><1><default><default>


uart_rx = port:PI13<3><1><default><default>


;Use for ATMEGA


spi_used = 1

spi_cs_bitmap = 1

spi_cs0 = port:PC19<3><default><default><default>

;spi_cs1 = port:PI01<2><default><default><default>

spi_sclk = port:PC20<3><default><default><default>

spi_mosi = port:PC21<3><default><default><default>

spi_miso = port:PC22<3><default><default><default>



gpio_used = 1

gpio_num = 7

;pin_name = port:XXYY<0 is as input, mux 1 as output>


;<drive capability> defines the output drive in mA, values are 0-3 corresponding to 10mA, 20mA, 30mA and 40mA.>

gpio_en_gps = port:PB03<1><1><0><0>

gpio_en_mega = port:PB04<1><1><0><0>

gpio_en_xbee = port:PG03<1><1><0><0>

gpio_reset_xbee = port:PG04<1><1><0><0>

gpio_dtr_xbee = port:PG05<1><1><0><0>


gpio_int_imu = port:PH00<6><default><default><default>

gpio_int_mega = port:PH07<6><default><default><default>


Sensors Board


MPU9150 and MS5611

 1.4 Android remote control for digital camera main unit assembly

The assembled parts in the 3D printed case

Inside Android remote control for digital camera main

Android remote control for digital camera Assembly 1

Android remote control for digital camera Assembly 2


The LCD below is not provided by Olimex, itwas bought from a different supplier. The LCD adapter was bought from Olimex, actually 2 but one of them was

fried since it was received (judging by the looks of is a warranty sent back or a refurbished one - i need to find out time to fix it as i have an extra LCD available).

Android remote control for digital camera LCD

The white connector in the image below is connected to ATMega 328 interrupt pins and it is used to control the Valves sensor and the Projectile sensor.

2 of the 3.5mm jacks are used to coonect camera/flash (Dev1 & Dev2) to the Android remote control for digital camera main unit, the other 2 are used for sensor connections (Sen1 & Sen2).


Android remote control for digital camera main unit connections


2. Remote Units

2.1 Sound sensor

This sensors was build to act as an independent resource or as as slave for the Main unit.

The amplifier gain is controlled by a digital pot with 2X10bit resolution pots (1024 steps).

The ATMega328 present on this sensors can control the Valve and projectile sensors, it can receive input from a sensor attached to it and can control up to 2 devices (Camera/Flash)


Remote Sound Sensor

2.2 Light sensor

Same as the sound sensor

Remote Light Sensor


 Light Sensor

2.3 Projectile sensor

This is basically a 2 photo gates sensor used to measure the speed of an object that goes through the gates.

Projectile Sensor


2.4 Valves sensor

It has an adapter board for higher voltage and purge command for the valves

Valves sensor adapter board

Valve 1

Valve 2


3. The software

3.1 Android app to control the device

This App for Android remote control for digital camera is under development at this point but below you can see a screen shot of the Star Tracker function - almost

2000 night sky objects in data base at this point

Android remote control for digital camera App


3.2 Sensors drivers for Linux Kernel 3.4.90

Under investigation/Development -To Do

3.4 Move to Linux Kernel 4.x

Under investigation/Development -To Do


Comments powered by CComment

Who’s online

We have 21 guests and no members online