We will show you basics to use MewPro 2 for controlling GoPro Hero 3+ Black camera.
The post involves no external sensors.
UPDATE 25 Feb. 2017: Hero 4s are now supported: Please refer this post.
Prerequisites
In order to use MewPro 2 as a GoPro controller you need the following hardwares:
Softwares:
MewPro 2 is shipped with optiboot as well as MewPro software (for genlock) installed. But if you like to modify/update the software you will need to prepare the following IDE, core and library. To install each software please refer their documentations.
Lastly grab the MewPro application:
- MewPro Application
- This is an open source software (MIT license). You can modify and distribute it as you like.
Connection
On your PC launch Arduino IDE that was installed as described in the above. In Arduino IDE [File
]→[Open...
]→ then open MewPro.ino
.
Remark: MewPro.ino
contains the following files as tabs; a_Queue.ino
, b_TimeAlarms.ino
, c_I2C.ino
, d_BacpacCommands.ino
, e_Shutter.ino
, f_Switch.ino
,g_IRremote.ino
, h_LightSensor.ino
, i_PIRsensor.ino
, j_VideoMotionDetect.ino
, and k_Genlock.ino
. If you like to see what will be happen inside of your ATtiny1634 you could read any of them.
Connect MewPro 2
to your PC w/ FTDI board and the temporary header.
Connecting FTDI please refer the pinout image below:
Then connect them to GoPro Hero 3+ Black.
In Arduino IDE application, select [Tools
]→[Board
]→[ATTiny1634 (optiboot)
] and [Tools
]→[Port
]→[(the port where you connected the FTDI cable)]. (B.O.D. and Clock settings are “don’t care” as these values are only effective when you burn a bootloader to the microcontroller by using an ISP programmer.)
The MewPro source code is originally targeted to MewPro 1, Arduino Pro Mini, so please change the following lines in MewPro.ino
from
#include <Wire.h> // *** please comment out this line if __MK20DX256__ or __MK20DX128__ or __MKL26Z64__ or __AVR_ATtiny1634__ is defined ***
#if BUFFER_LENGTH < 64
#error Please modify Arduino Wire library source code to increase the I2C buffer size
#endif
//
// Teensy 3.0 or 3.1 or LC
//#include <i2c_t3.h> // *** please comment out this line if __MK20DX256__ and __MK20DX128__ and __MKL26Z64__ are not defined ***
//
// ATtiny1634 core https://github.com/SpenceKonde/arduino-tiny-841
// WireS library is downloadable from https://github.com/orangkucing/WireS
//#include <WireS.h> // *** please comment out this line if __AVR_ATtiny1634__ is not defined ***
to
//#include <Wire.h> // *** please comment out this line if __MK20DX256__ or __MK20DX128__ or __MKL26Z64__ or __AVR_ATtiny1634__ is defined ***
//#if BUFFER_LENGTH < 64
//#error Please modify Arduino Wire library source code to increase the I2C buffer size
//#endif
//
// Teensy 3.0 or 3.1 or LC
//#include <i2c_t3.h> // *** please comment out this line if __MK20DX256__ and __MK20DX128__ and __MKL26Z64__ are not defined ***
//
// ATtiny1634 core https://github.com/SpenceKonde/arduino-tiny-841
// WireS library is downloadable from https://github.com/orangkucing/WireS
#include <WireS.h> // *** please comment out this line if __AVR_ATtiny1634__ is not defined ***
that is, to use the WireS library instead of the standard Wire library.
The code should now be compiled successfully.
“Verify
” the MewPro sketch and “Upload
” it to MewPro 2 board.
Remark: If you are using MewPro 2 board for genlocking, please modify MewPro.ino
as
boolean debug = false;
#define USE_GENLOCK
and for MewPro #0 in double dongle configuration
#define UART_RECEIVER_DISABLE
Control GoPro
Controlling details through Arduino console is the same as MewPro 1.
Resources