Recently I've made a very simple remote trigger for Xiaomi Yi camera on my drone so I can take pictures using my RC transmitter.

I have Pixhack (a Pixhawk clone) flight controller which has not only servo outputs, but also "relay pins" which basically output 3.3v. Below is short version of what I've done. I decided to write this post after I already built the thing, so don't have nice step-by-step pictures.

You need:
* Xiaomi Yi Bluetooth shutter

* CPC1016N opto relay . Maybe you can use something else, but I just picked the one which was in closest DIY shop.

* 100 Ohm resistor. The idea here is that you have 3.3v input, 1.2v loss on opto relay LED, but you want current above opto trigger and below its max current. So (3.3v-1.2v)/100Ohm = 20mA looks ok.  

* two-wire servo cable (connect top and bottom pins)

* two small wires (~1-2 cm)


* pair bluetooth shutter with camera

* remove protected rubber case

* remove rubber push button, this wil open a small membrane-like trigger below it

* remove membrane from the trigger, this will open two contacts and the camera will trigger if you short-circuit them

* solder two small wires to those contacts

* solder opto relay LOAD pins to it (polarity doesn't matter)
* solder resistor to one of opto lelay INPUT pins

* solder servo cable wires to resitor and to the other opto relay pin
* connect to pixhawk relay pin, set RC channel action to "Relay On/Off"

* verify that it works, if not, you might need to reverse servo cable wires
* fill in Bluettoth shutter part where you did solreding with epoxy glue and sink wires, resistor and opto relay there

An alternative setup in Mission Planner is to assign camera shutter to that relay and use "Camera trigger" action instead of "Relay On/Off". 

I've attached schematics and how the end result looks like.

Views: 9071


Reply to This

Replies to This Discussion

This is a great hack, I was jaust having a brain fa&t and thought I would search for ideas. thanks for sharing, i'm gonna try this. 

Just wondering if the opto-relay is necessary? I mean, if we're using the APM/Pixhawk to trigger/provide switch control, can't we just solder wires directly to the bluetooth remote switch?

You mean powering up bluetooth dongle from relay pin? I don't think it will work since relay is 3.3v but battery in bluetooth dongle is 3.7v.

No i mean, still powering bluetooth remote using it's battery, but using APM - servo wires - remote, to trigger?

How to open remote without damage? Plastic is glued? 

So I soldered 2-wires, 1-wire to GND, 1-wire to 'button 2' here:

I measure constant 2.82v from this connection, it drops to 2.78v when any button is pressed, but no triggering. I might have to try your suggestion of opto-relay between button. 

Things I have found:

-Opening case is very tough, you have to pry & cut between the seal until you can get a blade into the gap and pry until the clips pop open. The case was designed very accurately, never to be opened easily.

-Soldering to such small SMD area is a high chance of failure. You need a steady hand and maybe a magnifier to see. Also the soldering iron temperature needs to be not too hot or the heat spreads very quickly to other parts on the board, possibly desoldering them. Either be very quick & short with the iron, or, lower temps.

I haven't opened the case, look at my attached screenshot. I've removed the plastic shutter button instead.

Hey! I just ordered a Bluetooth trigger for xiaomi yi. Planing on get this trigger hack working with pixhawk, I'm curious on the schematics you had for this, but I can't find it.

Hi, i have same problem Tobias.

I need to use this method with Pixhawk.

is there any other parts that can replace CPC1016N opto relay ?

because that part is difficult to find in my country.


Great hack and post, thanks Konstantin.

Just made your switch and It works great when I pass a 5v current through it, (My FC is a Navio2 based on a pixhawk and has RC out at 5v so I just added 200Ohm resistor). But I can't seem to get the FC to trigger it. I've set the camera trigger to RC8 but nothing happens any advice? How do I set it up for servo on off, I'm not seeing that in the RC_8 parameters. I'm also going to set up another relay on the video/camera button to switch between the two mid flight.

Good afternoon,
I'm developing my own UAV and when I found your post, a lot of questions were resolved.
I used blutoth control to shutter my xiomi.
Now I have one last problem, the camera start taking pictures and few moments before stops taking pictures during the mission and then returns to take pictures. Could you help me solve this problem?
Best regards.

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service