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.

schemeit-project (1).png


You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • 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.
  • 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.

  • 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.


  • 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.
  • 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.

  • How to open remote without damage? Plastic is glued? 

    • 3691281325?profile=originalI haven't opened the case, look at my attached screenshot. I've removed the plastic shutter button instead.

  • 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?

This reply was deleted.


DIY Robocars via Twitter
RT @SmallpixelCar: First time at @wsraceways. After tuning @HokuyoUsa lidar signal and camera sensor on @NVIDIAEmbedded, my car was able to…
DIY Robocars via Twitter
RT @breadcentric: The handy bit about racing with self-driving cars is that one can type while the car is racing. Report from #AWSDeepRacer…
DIY Robocars via Twitter
RT @chr1sa: Our Bay Area @DIYRobocars meetup is now at 2,700 members. Next in-person events (in Oakland) are training day on July 17 and…
DIY Robocars via Twitter
Videos from the ICRA autonomous racing workshop are now available:
Jun 10
DIY Robocars via Twitter
RT @SmallpixelCar: Prepared race track for Warm Spring Raceways @wsraceways and looking forward to test my new car at RAMS RC @ramsaicar fa…
Jun 6
DIY Robocars via Twitter
RT @f1tenth: Trying out some nasty blocking maneuvers 🏎️🤖 #f1tenth #autonomousracing
Jun 5
DIY Robocars via Twitter
May 27
DIY Robocars via Twitter
RT @araffin2: I will talk this Saturday from 18:00 to 19:00 Paris time for the @diyrobocars community about learning to race in hours using…
May 27
DIY Robocars via Twitter
RT @a1k0n: Luckily the infeasible hairpin problem was easily reproducible in simulation and I could test the fix before bringing the car ba…
May 26
DIY Robocars via Twitter
RT @a1k0n: Another problem was that I was over-constraining the car's allowed accelerations, so it didn't think it could turn as tight as i…
May 26
DIY Robocars via Twitter
RT @a1k0n: Breaking the map up into two halves worked, but I had to be more careful about separating the inner track from outer. There's se…
May 26
DIY Robocars via Twitter
RT @a1k0n: Here's a datalog for my fastest lap of the day. Lap timer is tiny window lower-left.
May 26
DIY Robocars via Twitter
May 26
DIY Robocars via Twitter
RT @a1k0n: Here was my car's POV. Man this track is confusing in first-person! After the incident my camera was all scuffed up and I was af…
May 23
DIY Robocars via Twitter
RT @circuitlaunch: Loved seeing so many familiar (masked) faces at Circuit Launch today for our first in person @diyrobocars in over a year…
May 22
DIY Robocars via Twitter
RT @circuitlaunch: Last but not least, mystery guest @BostonDynamics Spot took to the track @diyrobocars He enjoyed the #brazilianbbq too 😂…
May 22