GithubHelp home page GithubHelp logo

mewpro's Introduction

#MewPro

Arduino BacPac™ for GoPro Hero 3+ Black: GoPro can be controlled by Arduino Pro Mini attached on Herobus.

Resources:


###How To Compile The following small-factor microcontroller boards are known to work with MewPro at least core functionalities and fit within the GoPro housing. Not all the sensors, however, are supported by each of them.

  • Arduino Pro Mini 328 3.3V 8MHz

    • w/ Arduino IDE 1.5.7+
    • if you have troubles on compiling unused or nonexistent libraries, simply comment out #include line as //#include (see Note* below)
  • Arduino Pro Micro - 3.3V 8MHz

    • w/ Arduino IDE 1.5.7+
    • if you have troubles in compiling unused or nonexistent libraries, simply comment out #include line as //#include (see Note* below)
  • Teensy 3.x

    • [POWER SUPPLY: The VIN-VUSB pad connection on the bottom side of Teensy 3.x needs to be cut.]
    • To compile the code with Teensy 3.x:
    1. use Arduino IDE 1.0.6+ and Teensyduino 1.20+
    2. comment out all unused #include as //#include (see Note* below)

(Note*: There is an infamous Arduino IDE's preprocessor bug (or something) that causes to ignore #ifdef/#else/#endif directives and forces to compile unnecessary libraries.)

  • GR-KURUMI
    • [POWER SUPPLY: The dummy resistor soldered on JP1 of the MewPro board needs replacement w/ a general purpose diode of >100mA w/ dropoff voltage 1V (eg. Bourns S0180); Anode should be located on the Herobus side and Cathode on the Arduino side.]
    • To compile the code with GR-KURUMI using (Renesas web compiler)[http://www.renesas.com/products/promotion/gr/index.jsp#cloud] :
    1. open a new project with the template GR-KURUMI_Sketch_V1.04.zip
    2. create a folder named MewPro and upload all the files there.
    3. at project's home directory, replace all the lines of gr_scketch.cpp by the following code:
#include <RLduino78.h>

#include "MewPro/MewPro.ino"
#include "MewPro/a_Queue.ino"
#include "MewPro/b_TimeAlarms.ino"
#include "MewPro/c_I2C.ino"
#include "MewPro/d_BacpacCommands.ino"
#include "MewPro/e_Shutter.ino"
#include "MewPro/f_Switch.ino"
#include "MewPro/g_IRremote.ino"
#include "MewPro/h_LightSensor.ino"
#include "MewPro/i_PIRsensor.ino"
#include "MewPro/j_VideoMotionDetect.ino"
#include "MewPro/k_Genlock.ino"

###Serial Line Commands By default MewPro is configured to use the serial line for controlling GoPro. All the commands are listed at https://gist.github.com/orangkucing/45dd2046b871828bf592#file-gopro-i2ccommands-md . You can simply type a command string to the serial console followed by a return; for example,

  • PW0 : shutdown GoPro
  • TM0E0A0D090F00 : set GoPro clock to 2014-10-13 09:15:00 (hexadecimal of YYYY-MM-DD hh:mm:ss)
  • SY1 : shutter (camera mode) or start record (video mode)
  • SY0 : stop record (video mode)

Almost all listed commands that have a label named SET_CAMERA_xxx are usable. Moreover two special command are implemented in MewPro:

  • @ : GoPro power on
  • ! : toggle the role of MewPro (slave -> master or master -> slave)

Also the command ! can be used to write the necessary bytes to onboard blank/new I²C EEPROM chip: In order to work as a fake Dual Hero Bacpac™, MewPro's I²C EEPROM must contain such info.


###Sensors The code here includes examples to support various sensors:

  • b_TimeAlarms.ino : Using RTC (real time clock) in GoPro camera body.
  • e_Shutter.ino : Using external shutters such as CANON Timer Remote Controller TC-80N3.
  • f_Switch.ino : Using mechanical switches such as push buttons or reed switches
  • g_IRremote.ino : Using IR (infra red) remote controllers such as DFRobot Digital IR Receiver Module (Arduino), DFR0094.
  • h_LightSensor.ino : Using Microsemi Visible Light Sensor LX1971 and green laser pointers.
  • i_PIRsensor.ino : Using Parallax PIR sensors.
  • j_VideoMotionDetect.ino : Using Intersil Sync Separator EL1883 and a bulk motion detect algorithm.

If you like to use these functions please refer the corresponding .ino files.


###Genlock Dongle MewPro is designed to work with Genlock Dongle [https://github.com/orangkucing/GenlockDongle] Please refer the repository for details.

To use MewPro source code with Genlock Dongle, please #define USE_GENLOCK and set EEPROM (by using "!" command) as "master" for not only MewPro #0 but also MewPros #1, #2, #3, ...

For MewPro #0 it must be set debug = false, and for other MewPros this setting does no harm. So you can always set debug = false if you use this source code with Genlock Dongle.


###Timelapse (non-genlock MewPro software) MewPro in non-genlock supports start/stop of GoPro's timelapse. However a misuse will cause firmware corruption of your GoPro and you'll need to reinsall the firmware.

  • GoPro must be power-on in timelapse mode and interval must be set beforehand.
  • Interval must be greater than 2 seconds. (This is GoPro's limitation on Dual Hero System)

mewpro's People

Contributors

orangkucing avatar

Stargazers

Halit avatar lwt avatar  avatar Brent Maxwell avatar Chris Deister avatar Arsenio Menendez avatar Mark Godfrey avatar Jared Szechy avatar Mohammed CHERIFI avatar Lury avatar  avatar  avatar Wes avatar  avatar  avatar Isaac Zhi avatar  avatar Sky Rolnick avatar Jérôme Demers avatar Norman Chong avatar  avatar Boris Stock avatar Mark Holtz avatar

Watchers

 avatar Jacob Rosenthal avatar James Cloos avatar  avatar Hunter McClelland avatar Talia Weiss avatar  avatar Jérôme Demers avatar  avatar lucky lin avatar  avatar  avatar  avatar  avatar Aitor Conde avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.