New Front I have recently found some time to a couple of upgrades to my drone. It should be pretty close to completion by now. At least it’s come pretty close to what I wanted to do when I started the project.

Camera

I bought a resonably priced chinese taiwanese go pro rip-off including a shockproof case and several adapters. After hitting the record button it takes decent looking HD videos which is all I asked for.

Using the wifi live streaming feauture is not possible at the moment because both the remote control and the wifi operate on the 2.4 GHz band. If that’s what you are looking for I would suggest using analog video transmission.

Switch support

I have added some functionality for one of the previously idle switches. Since all of the native interrupt pins are already occupied I needed to add another library that enables interrupt support for the other pins. In this case I am using the PinChangeInterrupt library.

attachPCINT(digitalPinToPCINT(interruptPinSwitch), calculatePulse, CHANGE);

This sets the interrupt on the desired Pin(A1 in this case) and calls the calculatePulse function everytime a change is detected. This is basically the same function that calculates the pulses for the other channels:

void calculatePulse() {

  current_time_switch = micros();

  if(digitalRead(interruptPinSwitch)){
    if(last_channel_switch == 0){
      last_channel_switch = 1; 
      timer_switch = current_time_switch;
    }
  }
  else if(last_channel_switch == 1){
    last_channel_switch = 0;
    receiver_input_switch = current_time_switch - timer_switch;

  if(receiver_input_switch > 1900) switched = true;
  else switched = false;
  
}

The SwB switch on the remote is currently used to change between showing the flight time and the battery voltage on the display.

New lipo

I have bought a new lipo with a capacity of 2400 mAh. I attached it to the frame using extra strong Velcro.

New back