smallest and cheapest GoPro remote Controll

Prototype: smallest and cheapest GoPro remote

facebooktwittergoogle_plusmail

As my last post described the code and schematics of the GoPro remote, this post will present the first working prototype of the smallest and cheapest GoPro remote.



I am so satisfied to present it – its amazing:

smallest and cheapest GoPro remote Controll
smallest and cheapest GoPro remote control

It is 2,5 x 2,5 cm small – 1 x 1″ (I think) it costs nearly nothing ~4-5 € and the coolest thing is, you can programm it as you want with the Arduino IDE

The schematics again:

ESPBUTTON
ESPBUTTON – I only have build in a 3.3V voltage regulator and connected it to an USB-plug that I have hot glued to the ESP

 

And the Code got an UPDATE:

If you press the button once shortly, the recording starts and records until you press it a second time shortly.

If you press the button for longer than one second, the GoPro will only record, until you release the button.



/**********************************************************************************
* ESP8266 REMOTE for GoPro by Robert Stefanowicz - euerdesign.de 28 Dec 2015 *
*********************************************************************************/

#include

/*********************************
* YOUR SETTINGS *
*********************************/

const char* ssid = "Go1337Pro"; //Your Wifi name (SSID)
const char* password = "PASSWORD"; //Your WiFi password
/*********************************
* DO NOT CHANGE BELOW THIS LINE *
*********************************/
const char* host = "10.5.5.9";
int delshort = 50;
int dellong = 500;
const int buttonPin = 0;
int value;
int buttonstate;
int buttonstates;
int camstates;
int checked;
const int buttonPins = 2;
int values;
int valuess;
void setup() {
Serial.begin(115200);
delay(100);
pinMode(buttonPin, INPUT);
pinMode(buttonPins, INPUT);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
delay(delshort);
values = digitalRead(buttonPins);

if (buttonstates != values)
{
buttonstates = values;
if (values == 1)
{ checked = 0;
if (camstates == 1){camstates = 0; checked = 1;}
if (camstates == 0){
if (checked == 0) {camstates = 1;}
}
Serial.println("Aenderung");
Serial.print("connecting to ");
Serial.println(host);
WiFiClient client;
const int httpPort = 80;
if (!client.connect(host, httpPort)) {
Serial.println("connection failed");
return;
}
String url = "/gp/gpControl/command/shutter?p=";
url += camstates;
Serial.print("Requesting URL: ");
Serial.println(url);
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
delay(10);
Serial.println();
Serial.println("closing connection");

}
delay(dellong);
valuess = digitalRead(buttonPins);
if (valuess == 1)
{
camstates = 0;
while(valuess == 1){
delay(delshort);
Serial.println("WHILE-LOOP");
Serial.println(valuess);
valuess = digitalRead(buttonPins);

}

Serial.println("BUTTON STATE CHANGE ");
Serial.print("connecting to ");
Serial.println(host);
WiFiClient client;
const int httpPort = 80;
if (!client.connect(host, httpPort)) {
Serial.println("connection failed");
return;
}
String url = "/gp/gpControl/command/shutter?p=0";
Serial.print("Requesting URL: ");
Serial.println(url);
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
delay(10);
Serial.println();
Serial.println("closing connection");
}

}

}

 

 

facebooktwittergoogle_plusmail

23 Gedanken zu „Prototype: smallest and cheapest GoPro remote“

  1. Does this work with any of the older GoPros ? What about multiple GoPros at once?
    I think I found the project to get me into ESP8266 programming

    1. Hello Jay !
      Maybe with the GoPro Here 3.
      Wifi is requiered!
      Multiple GoPros, I dont think so, If you need it, it is nessesery to code the part of connecting Wifi.
      If you have more questions – Feel free to contact me.

  2. Amazing Robert! This will be the first project of 2016 😉
    Just one question… I am trying to test the URLs connecting my PC to the camera. How can I skip or complete the step where camera ask for a pairing PIN???

    1. Hej Alejandro! I’ve testet it with my notebook first.
      You have to know your gopro wifi Name and your PW … Then use the URLs of my previous post.

      1. Robert, thanks for your reply! Was my mistake and a bit of bad luck (a corrupted SD card and I was trying to change some settings where it is not possible e.g. FOV == medium using 1440). Again, great tuturial.

  3. Hi,
    Nice job!!
    Does it works whith hero4 session? After some minutes the wifi go down to save battery and it seems the phone use the bluetooth to turn it on again 🙁
    Is it the same also for the others hero4?

  4. Could you add code for GPIO2? I want to add a second button to change the configs on the camera – or maybe to start the timelaps-function.

  5. Tried to flash it with arduino ide:

    sketch_aug09c:7: error: #include expects „FILENAME“ or

    #include

    ^

    exit status 1
    #include expects „FILENAME“ or

  6. Hi Robert,
    With your amazing remote , I ‚m very pleased but I‘ ve got a question if I understand well, may I paired my gopro with your remote and how I have to do. I have a Gopro Hero 3+ black , which is wifi.
    I want to know which mode I have to select , RC or APP in wifi ?
    Thank to explain me.
    Or else, I uploaded your sketch in ESP8266 and Arduino IDE , after that I’ve received a positive message at the end of the upload, then everything is OK.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *