MewPros to synchronize a 40-camera motion capture system for studying bats during flight, Hunter McClelland (hgm at vt dot edu) a researcher working with Shāndōng University, Jǐnán, China, and Virginia Tech University told us today.
The following photos are courtesy of Hunter McClelland, Dr. Rolf Mueller (project leader), Matt Bender (senior code developer) and the team of researchers:
We are very glad to hear about this kind of user reports. 🙂
Bug Reports
The above team of researchers also found some issues in MewPro+Dongle system including:
A) start-frame error, i.e. cameras begin frame 1 of their videos at different starting times.
This turned out to be a bug in Genlock Dongle code and should be fixed now.
B) inner-frame delay, i.e. cameras are not taking pictures at exactly the same time.
To genlock every scan line must nearly attain image sensor’s performance limit. So we don’t think this is a bug in our system and/or signaling.
These kind of bug reports are also welcome as MewPro is an open source project.
A new product MewPro Cable is coming on the next month. It is targeted at possible MewPro Dongle or genlock users who has less room at the back of GoPros on their rig.
MewPro Cable has following features.
PCB fits within Herobus male connector casing.
Compatible with MewPro’s version w/ Arduino Pro Mini etc.
Works with MewPro Dongle.
For genlocking delete/align unnecessary/necessary pins.
That is, the current product MewPro w/ Arduino Pro Mini will be shrunk to the size of PCB (green) in the photo below:
(Note: The PCB in the photo is a fake and not an actual one because it is not ready, yet.)
The price will be the same as before.
Technical Details
MewPro Cable uses AVR ATtiny1634 as microcontroller and this is different from current MewPro that uses AVR ATmega328.
Since ATtiny1634 is newer than ATmega328, it has a sophisticated, perfect slave I2C hardware. This new I2C architecture enables us to eliminate the necessity of external I2C EEPROM in order GoPro camera to recognize MewPro as mimicked Dual Hero System.
To use ATtiny1634’s great I2C hardware, we made WireS library from scratch. The library is usable under Arduino IDE and downloadable from GitHub (https://github.com/orangkucing/WireS).
The following photos are a prototype of MewPro Cable using ATtiny1634.
New versions of MewPro and Genlock Dongle software are available at GitHub. This time GoPro’s timelapse shooting is supported.
As well as the software updates the enclosure of MewPro Genlock Dongle, which is shipped after last weekend, is updated to have our company logo. Yawn…
How to update your MewPro and/or Genlock Dongle software
Both of our products have Arduino Pro Mini embedded. So these new pieces of software should be uploaded to the corresponding microprocessor. If you are the first time to burn software to MewPro please also refer our MewPro introduction here.
Step 1 Download the latest source code from GitHub:
Step 4 Upload the software by using FTDI. To do this it is convenient using a temporary header with MewPro like this
or with Genlock Dongle like this
Note 1: If your MewPro or Dongle is connected to GoPro camera or Dual Hero please detach it by herobus connector before uploading. This is because Genlock Dongle has wires soldered to UART pins (TXO and RXI) and camera or Dual Hero may interfere with signals between FTDI and MewPro/Dongle.
Note 2: MewPro’s EEPROM must be set to “master” if it is used with Genlock Dongle. However, if you buy MewPro (w/ Arduino Pro Mini soldered) with Genlock Dongle from our shop then your EEPROM has already been set to so and you don’t need to touch it.
Remarks
Timelapse of 0.5 seconds or 1 second is not possible if you use Dual Hero System or MewPro. So please set the interval equal to or more than 2 seconds otherwise GoPro will automatically rewrite the setting to 2 seconds when the bacpac is recognized.
Also timelapse of 2 seconds seems unstable if you use Genlock Dongle. So it is safe to set interval more than 2 seconds.
In our experiments on GoPro timelapse mode failings to set one of admissible time interval caused firmware corruptions of GoPro camera. So if timelapse doesn’t work for you we suspect your firwmare also might has been corrupted. In case please re-install GoPro’s firmware again.
The post is to show you how Genlock Dongle(s) and MewPros work and to explain how to wire them.
Two GoPro Hero 3+ Blacks can record videos/photos in genlock by using Dual Hero System. But more than two it was impossible by now. MewPro Genlock Dongle is a hardware emulator of GoPro camera who communicates with Dual Hero System and steals the required signals, VSYNC and HSYNC, that are generated by Dual Hero System.
How Dongle Works
Here is a demo video of syncing four GoPros. They sync when power on/off, changing modes/settings and shooting.
To make the above video we use the following items:
qty
GoPro Hero 3+ Black
n
MewPro
n-1
Genlock Dongle
1
USB battery pack
1
Cables and wires
(Note: n is the number of cameras. In our case n=4.)
These items are connected as follows:
TRIG: Generated by Dual Hero for start/stop recording
VSYNC: Generated by Dual Hero for syncing frames
HSYNC: Generated by Dual Hero for syncing scan lines
GND: Signal ground
UART lines (TXO/RXI) are used by MewPros and Dongle(s) for transferring settings/modes from GoPro #0 to other GoPros (*)
RESET line is optional but useful when an error occured. Depressing a reset button on any Arduino Pro Minis will reset all the boards, which has the same effect as detaching/attaching the boards manually
A USB battery pack or wall charger is needed to power the dongle through USB connector of Dual Hero.
* Note: GoPro #0 controls everything: Modes, settings, and start/stop recordings. Commands from GoPro #0 are distributed to other GoPros through UART lines. This transfer is one way without feedback; if another GoPro is busy to do something a message from #0 may be ignored. However, since UART lines are nothing to do with TRIG/VSYNC/HSYNC this unreliability only happens before or after recordings and doesn’t harm video/photo quality.
Alternate Configuration
The above single dongle configuration is normally sufficient and recommended for any new installations of many GoPros in a rig as it needs the minimum number of equipments. But in some cases or already existing rigs following another configuration may be preferred:
qty
GoPro Hero 3+ Black
n
MewPro
n
Genlock Dongle
2
USB battery pack
1
Cables and wires
(Note: n is the number of cameras. In our case n=4.)
The wiring is as follows:
Advantages of double over single include symmetric wiring (except the UART line between MewPro #0 and Dongle #1) and the less space required on the back of GoPro #0.
Here is the similar demo of the double dongle configuration: Power on, changing modes, shooting, power off.
How To Wire Boards
Both in single and double dongle configurations connections between Dongle #1 and MewPro #i (i=0,1,2,…,n) is summarized as follows:
It is clear that the only difference on wiring in two configurations is whether MewPro #0 exists or not.
All of these wires need to be soldered by yourself to the boards: Please refer the following pictures.
(Update:29 Jun 2015, 7 Sep 2015. Added figures for MewPro 2 and MewPro cable boards.)
Remark: We only confirmed the configurations work with four GoPro Hero 3+ Blacks and the wire length less than 30cm. If your number of cameras or length of a wire exceed these limits there is no warranty but there is always hope: Please try shortest lengths of wires as possible!