Posted on Leave a comment

How To Use MewPro Iliad

MewPro Iliad generates HSYNC/VSYNC and synchronizes any number of GoPro Hero 4 Blacks or Silvers. The post describes details of this new genlock device.

How Iliad Works

The following clip is a demo of MewPro Iliad, the production version of our sync generator/controller for Hero 4 Black/Silver.

Iliad can be interacted with any IR remote by learning its code and/or with three on-board momentary switches, which correspond to the familiar Mode/Shutter/Setting buttons of GoPro Hero 4 Blacks. In the short footage above three cameras are in complete sync: Power on – sync setting – change video resolution/protune on – start recording – stop recording – change to camera mode – shoot photo – power off.

To make the demo we used the following items:

qty
GoPro Hero 4 Black n
MewPro 2 * n
MewPro Iliad * 1
RJ45 Stackable Hub with Buffer * for input: 1, for output: n
USB wall charger 1
Cables and wires

(Note: n is the number of cameras. In our case n=3.)

The items marked * are in our shop.

Currently MewPro Iliad is still in beta stage, however, here we venture to sell it because there is huge urgent demand. It can do the following.

  • Video: All the video modes Hero 4 Black/Silver supports
  • Photo: Single shot in any resolutions

The camera has many charming submodes such as “Timelapse” or “Night Lapse” or “Burst” or something but shooting in these submodes is not genlocked. This might be due to camera’s restrictions so please don’t blame MewPro and Iliad.

GoPro Hero 4 Black/Silver’s firmware can be version 03.00.00 or later (N.B. The version is shown on camera’s LCD without the last two digits as “03.00” at camera power on).

Note: There is a fatal bug in version 04.00.00 or later that causes bulk setting sync transfer impossible, i.e., settings cannot be synced when power on. Thus, we strongly recommend to use MewPro Iliad with the firmware version 03.00.00. And if you have version 26.01.10 for Omni then it also works after sending a command to MewPro board, however, in this case only two video modes (2.7K 4:3 30/25 and 1440 4:3 60/50 (NTSC/PAL)) are supported and there is no reliability improvement at all.

Connections

MewPro Iliad and MewPro2’s can be connected by using 6-core cables or (straight) ethernet cables of any category.

Case 1: Using 6-core cables

On the Iliad board there are thru holes for necessary signals.

six-core

Connect 5 signals and optional 1 line to each MewPro 2 board as follows:

Table 1. Connection Between Iliad and MewPro 2
Iliad MewPro 2
GND GND (*)
VSYNC VSYNC
TRIG (no connection)
HSYNC HSYNC
RESET RESET
TXO RXI (**)
3V3 VCC optional (***)

Remark *: There are two GND pins on the Iliad board. It doesn’t matter you connect both or either of them.

Remark **: On MewPro 2 board there are two different RXI pins “FTDI RXI” and “RXI 1”. The former pin at the row “FTDI” is ONLY FOR PROGRAMMING. So you should connect the serial line from Iliad/Bastet to the “RXI 1” pin at the edge.

Remark ***: If you like to use Hero 4 camera without battery and feed 5V power thru side USB socket or VUSB pin on MewPro 2 board then also connect this line in order to feed power to MewPro 2 board from Iliad.

Case 2: Using ethernet cables

The Iliad board has a RJ45 receptacle to connect to an ethernet cable of any category. You can directly connect this to one or more MewPro 2 boards by simply branching each of signals.

Signals at the RJ45 receptacle of the Iliad board are:

Table 2. Signals at the Ethernet Jack

pin # T-568A color T-568B color signal
1 white/green white/orange (no connection)
2 green orange VSYNC
3 white/orange white/green (no connection. reserved for TRIG)
4 blue blue HSYNC
5 white/blue white/blue GND
6 orange green RESET
7 white/brown white/brown TXO (Iliad) / RXI (MewPro 2)
8 brown brown 3V3

If you also bought RJ45 Stackable Hub with Buffer from our shop then all RJ45 connector pins are aligned as in Table 2.

Softwares

The software is being developed by using Arduino IDE that is downloadable from https://www.arduino.cc/en/Main/Software. If you are not familiar with Arduino platform there are many introductions or tutorials on the Net. So please refer them first.

If you bought Iliad from our shop then all the software is pre-installed. However, there will be frequent updates or bug fixes from us you’d better prepare the IDE.

Software for MewPro 2

Source code for Hero 4 Black/Silver is downloadable as a zip file from here:
https://github.com/orangkucing/MewPro4

To compile/upload please refer the README.md included in the zip file.

Software for MewPro Iliad

The Iliad board is designed as a shield of Seeed Studio’s Seeeduino Mega, which is an Arduino Mega 2560’s enhanced clone. You can use the Iliad board with the original Arduino Mega 2560 R3, however, the size will be larger. This is the reason why we ship MewPro Iliad with Seeeduino Mega.

Seeeduino Mega can run in either 5V or 3.3V logic. Iliad shield itself has a voltage translator so you can set Seeeduino Mega’s voltage, for which there’s a slide switch, to either voltage. However, according to Atmel’s ATmega2560 documentation 16MHz is “overclocking” when 3.3V so we recommend to use the board in 5V logic.

Source code for sync generator is downloadable as a zip file from here:
https://github.com/orangkucing/MewPro_Iliad

The code requires the following two external libraries to compile:

(Note: The IRremote library conflicts with RobotIRremote library in the standard Arduino IDE. So please delete
your_IDE_folder/Contents/Java/libraries/RobotIRremote
if you encounter some issues.)

To compile/upload is easier than MewPro4 application because it is nothing but an Arduino Mega 2560 clone. So please search the net for tutorial for it if you need.

Let’s Sync!

Everything is ready if you’ve done the above steps (If you bought all the items from our shop then installing software is not necessary).

Iliad board needs one CR2032 button battery to keep date and time. There’s a holder for it at the back of the shield. Please take care + (plus) side is the far side from the board (there’s a curved + mark both on cell and holder). The battery is expected to last two or three years.

Connect USB cable between USB battery (or wall charger) and Seeeduino Mega with Iliad. LCD should light and show “MewPro Iliad” and its software version. If it doesn’t show anything then please try to turn the potentiometer marked 103 for contrast or 102 for brightness.

After the start up message “MewPro Iliad” is shown, you can use it as if it were a real GoPro Hero 4 Black. Camera’s side button for setup corresponds to the SETUP momentary switch, shutter to SHUTTER, and mode to MODE.

(Note: To power on all the camera long press MODE as well as to power off.)

Furthermore, there’s an extra menu that real camera doesn’t have. You can enter to the menu by pressing SETUP while the start up message is shown. The extra settings consist of:

  1. Date/Time – Setting date/time to on-board real time clock chip
  2. Reset – Reset Iliad to factory default
  3. Mount microSD – Resetting all the MewPro 2 board
  4. Learn IR code

By using the last menu item Iliad can learn any IR remote’s code (from TV remote or Video remote etc.) so you can control GoPros with your favorite IR remote controller.

Also resetting all the MewPro 2 board has the same effect to detaching all the MewPro 2 from cameras. This is usually very convenient if you fix up all the cameras in a rig.

Enjoy!


Resources

Posted on Leave a comment

Hero 4 Black Genlock

Hero 4 Black genlocking is demonstrated in the video. The system uses MewPro 2 and up-coming sync signal generator.

The prototype system consists of a sync generator (at the left), three GoPro Hero 4 Black + MewPro 2’s, cables etc. And it is perfectly controlled by an IR (Infrared) remote as in the clip : Power On – Mode Change – Start Recording – Stop Recording – Power Off. The prototype as well as up-coming sync generator is based on Arduino Mega 2560 and will be an open hardware/software as our other products.

Note: The system will work with any number of cameras but can only shoot in the following two video modes (the restriction is due to camera’s firmware).

  • 2.7K 4:3 30fps NTSC / 25fps PAL
  • 1440p 60fps NTSC / 50fps PAL

H4B-genlock
H4B-genlock-w-txt

We are currently designing a PCB for the product so please wait until it appears in our shop. 🙂

This post is outdated. We are already selling Iliad in our shop. Please refer more recent post for info.

Posted on Leave a comment

Long Distance Genlock

Using 100 meter Cat5e Ethernet cable, GoPro Hero 3+ Black and MewPro we succeeded in genlocking at long distance.

One of our best customers recently reported to us that Genlock Dongle + MewPro system didn’t work if cable length was very long.

To overcome the issue we consider electrical isolation of long cables will suffice. We insert buffers (74HC4050 a hex non-inverting buffer) between the Genlock Dongle and each of the cables to MewPros, and voilà it works!

Buffer schematics:
Booster

We made a Genlock Booster consisted of seven 74HC4050’s and enclosed in a box. The Genlock Booster is for use with eight cameras in single dongle configuration.
partlist
partlist-skelton

Testing out 100 meter Cat5e Ethernet cable:
testing

Posted on Leave a comment

Synchronize Footage w/ GPS Time

By syncing GoPros and utilizing GPS it is demonstrated how to accurately measure time of an observed event.

For example, taking astronomical videos or photos it is usually important to record the time when those captures were made. Both professional and amateur astronomers interested in especially eclipses or occultations, such as the Moon passes in front of a star, have ever invented many kind of timekeeping devices for this purpose. Needless to say the more exact, the more preferable.

The post proposes a new convenient method to keep time whose precision is within several milliseconds or the duration of one video frame.

The idea is based on the following facts:

  • Any number of GoPro cameras can be genlocked or in sync by every frame and scan line to a timing generator.
  • Some GPS receiver can output a pulse-per-second (1PPS) signal that have an accuracy of nanoseconds.

Unfortunately we cannot synchronize these two signals, the ones from the genlocking source and the 1PPS. However, we can easily record both of them together by visualizing the latter using LED and pointing one of all cameras in sync with the former to the LED.

In the rest of the post we will perform an experiment to confirm that the precision is kept within one frame while capturing videos.

Measurement

To assure perfectness of the sync we use the following equipments:

3 cameras in single dongle configuration
  • 3 GoPro Hero 3+ Black
  • 2 MewPro
  • 1 Genlock Dongle
2 GPS receivers capable of 1PPS signal output
Microcontroller boards, OLED (Organic Light-Emitting Diodes) character displays and LEDs
These are required for displaying GPS time in a form of hh:mm:ss (hh=hour, mm=minute, ss=second) and every zero second.
MacBook Air
To show the NTP Internet time for intuitive reference.
Block diagram of measurement equipments
Block diagram of measurement equipments

We use three cameras in sync: Two cameras are pointed to LEDs and OLED character displays (another camera is to control the two). Two GPS receivers are of different brands: Each 1PPS signal is aligned to UTC and visualized as hh:mm:ss on the OLED display, and lights the LED when asserted.

Doing this requires some microcontrollers between the GPS receivers and the I2C OLED character displays we use Teensy 3.1 and Arduino Due boards. And in order to make sure that our programs running on these doesn’t have any bugs we also prepare a MacBook Air to show the Internet time that is obtained from an NTP server.

Results and Discussion

The following are clipped from the videos (WVGA, 240fps) shot by the two of genlocked cameras:

before
(One frame before 2016-05-27T02:15:46.000Z. Up: View from the right. Bottom: View from the left.)

The blue LEDs haven’t lit yet (cf. the next two images). The MacBook Air behind is slowly changing its time display from 02:15:45 to 02:15:46, however, it turns out to be not so accurate as 1PPS time. The right OLED display shows nothing: This means the OLED, which is always blinking in order to reduce power consumption, is in an off period. At the same time the left is on the way to refresh 02:15:45.

Each of above frames is followed by the next, respectively:

exact
(Exactly it is 2016-05-27T02:15:46.000Z. Up: View from the right. Bottom: View from the left.)

Both of the blue LEDs light. The right OLED display shows the time as 02:15:45. According to GPS’ protocol (aka NMEA) specifications, a rising edge of 1PPS signal occurs on an exact zero second, which is followed by a GPZDA statement aligned to UTC. In the current system the blue LED lights when 1PPS is asserted, and OLED is rewritten when a GPZDA is received by the microcontroller. So it is no wonder that our OLED is not updated yet this time. The left OLED is on its way to erase 02:15:45.

These four images proved the exactness of sync among not only the cameras but also the GPS receivers. And we confirmed the system could be utilized for exact time measurements of events.

Reference

The above stills are extracted from the following unmodified original movies (MP4 files):