Thanks for the tests. I think it's probably safer though to power the bodies from a single PSU or battery, using a DC splitter cable. Otherwise there may be some differences with the PSUs getting to a stable voltage, giving us another random variable (maybe it's not significant but better to avoid it). Do you have a splitter cable to try?
As the cameras don't seem to stay in sync after power cycling one, powering up does seem to reset the capture clock. If so, supplying simul-power (without getting the cams to power up simultaneously) doesn't work : (. On the other hand, if we find a way to power both up simultaneously, they might be in sync right? (unless something else resets the clocks by the time you record)?
re. external crystal, my hunch is that it's easier to clone one. It will already be in spec/correctly designed (crystals seem to rely on external capacitors for fine tuning). Or put another way, cloning an external one to two bodies could be twice the work of just cloning one. The other advantage is that one body will always stay fully functional, so you can use it for 2D inbetween 3D shoots too (useful to me as they'd be my only cams).
Gimbal sounds cool, that sort of stuff is way out of my price range (I'm doing these things on a shoestring). Interested in your experiences though.
re. Cave of Forgotten Dreams, I haven't seen it, the missyncs sound sound bad though. I did once see that Chinese erotic flic that was super-succesful over there, I forget the name. But that had a couple of really nasty shots, eg. a greenscreen window where the inserted background was in pseudo. Obviously terrible but it got through somehow.
Mmmmm... OK, I tried simul-powering but maybe I'm not thinking this through very well. I did what I think is a simul-powering of both cameras by plugging the power adapters into a multi-outlet strip and providing power to both cameras at the same time. It seems to me, however, that if I need to start the cameras after powering them, even if the clock began to run when the camera received power, my starting of the cameras would override any existing clock start. At any rate, when leaving one camera running, and power-cycling the other the cameras do not stay in sync.
We, sadly, do not have any experience hacking a crystal. Not having any idea what I'm talking about, one possibility might be to have an external crystal that sends a sync signal to both cameras.
I too have become hyper aware of stereo miss shutter-sync and miss-alignment. I was astonished that in Werner Herzog 's utterly wonderful Cave of Forgotten Dreams, all of the non SI2K footage had what I experienced as truly bad shutter-sync problems but no one else seemed to notice or even mention it.
In our current planning, we will be taking a Helix gimbal on which we would like to mount the BMPCCs. Tests we've done so far don't seem to exhibit miss-matched rolling shutter artifacts at all but we clearly need to keep testing.
@David_Wilson, sounds exciting. Also sounds like my style of shooting, outdoors / documentary style, carrying everything yourself. I often get away with minor sync issues, but even slightly bad sync does fall apart for me. eg when a bird flies across the frame, with water reflections, moving foliage, snow etc. My eyes are really sensitive to it now, and while the audience may not be, they will experience it as unpleasant. Considering how easily many people are turned off 3D, you don't want to give them another excuse.
I also don't usually shoot anything where rolling shutter matters, though sometimes (eg. from trains as you mentioned). But anybody shooting action or hand-held (with deliberate movement) will want to avoid reversing cams and really needs good sync.
Have you ever hacked a crystal before? I'm not sure what I'm doing yet, though I feel like I'm getting close to something. I suspect that to clone the clock via a wire to the other body, it needs to be amplified/buffered somehow so that it gives the same electrical performance as at the source. Then it might just be as simple as unsoldering the clock on the other body, and wiring in the cable in its place. Anybody have experience?
Look forward to your powering results. These collabs are fun!
Just remembered gl's question about the prism rig - which is nothing more that a set of 4 right angle prisms arranged, really, in a Wheatstone configuration which brings the BMPCCs down to about a 3mm IO. We have, as well, built a beamsplitter rig but the consensus at the moment is that it is a bit too delicate and figity for the rigors of travel.
Going to try to get in to do the simul-powering test now...
I understand that flipping one camera is likely not ideal, but In our experience/shooting style, miss-match of rolling shutter artifacts have not been a problem which isn't to say, of course, that it couldn't rear it's ugly head. We tend to shoot quite conservatively in terms of motion.
The groups efforts at hardware modification are truly inspiring. Such practices are neither foreign nor frightening to us, but, at this moment, our situation is such that we are withing 7 weeks of departing for 7 weeks shooting in Siberia and we need to go for the jugular (so to speak). Our backup for higher motion situations (we are going to be travelling on a lot of trains after all) is a pair of backbone modified GoPro 3+s with the new GoPro sync system which seem to work beautifully. There are trade offs for each and every system, in our modest arsenal at least. (We actually have a Epic/Scarlet combo but that trade off is clearly size and weight - not in the cards for these, our upcoming efforts.)
I will try today to get into the shop and do the simul-powering test gl suggests.
Endless thanks for everyone's truly excellent work.
... Y1 is on the back, and seems to be a substantial & more easily solderable component (see pic). The only visual reference I can find to black-cased crystals are eg. this SMT crystal oscillator: http://mistermobiless.blogspot.co.uk/2010/12/oscillators.html
Considering the prominence of the component, it suggests high-accuracy - I'd guess this is the master/sensor clock!
@David_Wilson, I'd love to hear if simul-powering does actually sync. When you can, please also try leaving a body running, and power-cycling the other a couple of times - does it stay in sync?
I've been reading up on crystals (http://en.wikipedia.org/wiki/Crystal_oscillator), and I found one! Crystals or Oscillators (both used as digital clock sources) are usually marked Y (for a crystal) or G (for an oscillator using some other material) on the circuit board (look for the black labels next to components). IEC standard may also use B.
U and MC on the other hand are various microprocessors.
That seems to rule out at least two of the silver components on the top half, marked MC1 or U.. (see pic) - I can't see a label for the one with the question mark, but it looks identical to the one on the far left, so it's probably also out.
That leaves the crystal on the bottom marked Y2 : ). It seems to be timing the processor right above it. This could be the master cock!
EDIT: as it's labelled "2" there should be a Y1 somewhere too ... can anyone see it?
I approached BMD support for hardware mod or firmware addition help, but it looks like we're on our own:
"I am sorry to say that we cannot provide any information about the hardware for the Pocket Camera or provide support for modifying the hardware for custom developments.
We also do not do custom firmware development. Any features that are introduced into the product would be part of our development roadmap and long term plans. Currently, there are no plans to develop 3D for this camera as it was not designed with 3D shooting in mind, so I do not expect that this is something we would introduce in the future."
What I'd really like is to be able to clone the master clock (or capture clock) on the circuit board of one body, out to a wire to the other body, to slave that body to it.
I think is a good idea .. that said to get to that state ... you will need to be able to isolate and measure it to achieve that state.
@kavadni thanks, I will take a look at the chip doc tomorrow.
However we're mixing up two ideas - extracting sync from HDMI for measurement is another (less important) issue. What I'd really like is to be able to clone the master clock (or capture clock) on the circuit board of one body, out to a wire to the other body, to slave that body to it. Then frame capture (and maybe the entire digital systems) would be in perfect sync permanently (no need to measure sync anymore! : ).
I know people have done this with other cameras over the years. It involves find the crystal(s)/oscillators, running are wire out with the clock signal (may require some kind of buffering), and wiring it into the other body to replace its own clock. Then one body's timing is totally slaved to the other.
(you could also put the original clock on a little switch, then the camera could be toggled from independent to slave, without opening it up again).
I don't have enough electronics experience to do that, I'm not even sure where the clocks are (although the silver pieces near each large chip, eg. above the FPGA, are the obvious candidates - see pic).
Regarding Hardware Hack and the Chip you linked to, http://www.xilinx.com/support/documentation/user_guides/ug385.pdf
It looks like 5 pins could be of interest.
MGTREFCLK0/1P Input Positive differential reference clock.
MGTREFCLK0/1N Input Negative differential reference clock.
CCLK Input/ Output Configuration clock. Output in Master mode or input in Slave mode.
USERCCLK Input Optional user configuration clock input in Master modes.
GCLK Input These clock pins connect to global clock buffers.
That said, I still believe an answer will be with a cheap HDMI repeater/splitter/switch.
For Example http://www.ebay.com.au/itm/Full-HD-1x2-Port-HDMI-Splitter-Amplifier-Repeater-3D-1080p-Female-HOT-2014-EG-/271546643718?pt=AU_Television_Accessories&hash=item3f3970f506&_uhb=1
or
http://www.ebay.com.au/itm/NEW-40M-Mini-HDMI-Joiner-Repeater-Extender-1080p-Amplifier-Booster-130FT-Black-/400710795942?pt=AU_Television_Accessories&hash=item5d4c3982a6&_uhb=1
Inside that box will likely be a single device, whose primary purpose is to raise the levels of the signal ... including the sync. And it's highly likely that the clock pulse will be available on a single pin.
The first device will give you the split as well, if you can find a 2 x HDMI frame packer.
Feed the two sync pulses into a pic/arduino/avr and measure the difference, display on an 16x2 LCD Get one and have a look ... Initially use one of these to locate the signal http://www.ebay.com.au/sch/i.html?_from=R40&_sacat=0&_nkw=pocket+oscilloscope&LH_PrefLoc=1&_sop=15
This device http://www.ebay.com.au/itm/New-3-2-LCD-200KHz-Mini-Pocket-Oscilloscope-ARM-Dual-Channel-D602-/281318361379?pt=BI_Oscilloscopes&hash=item417fe18923&_uhb=1 will function as the sync reader and display the offset of any two sync pulses ... no hardware to build ... open repeaters ... connect oscilloscope inputs ... your measuring sync in real time ... offsetting startup will require AVR programming/hardware.
Using a repeater is not something I have done ... but if you google syncing two projectors for screening 3D, you will find references. The second chip I linked to is one that was documented.
We could also use high-resolution pics of the boards that clearly show every marking. I've not been able to find any other teardowns. Is anybody willing to open a Pocket and take good shots from multiple angles? Most important is the front of the board (that wouldn't require disconnecting any cables).
I won't do it with mine when they come (could be longer than 2 weeks, my supplier can't get stock) for a while, as I'd first want to be sure that the sensors and everything are perfect before voiding the warranty.
Inverting one camera shouldn't really work due to rolling shutter, which would skew in opposite directions. Have you found that in practice? I've studied the teardown screenshots, and if you're willing to really hardware-mod the cams, you could probably rotate the sensors 90 degrees - then you could use both bodies vertically, with the closest interaxials, without any downsides (even both screens would be visible - see pic).
Or, if you can extend the sensor ribbon cable, you could mount the sensors (with their lens mounts) completely seperately, as close together as possible (I'd worry about compromising the signal integrities, but it might work).
I also use right-angle connectors on my GH2's, but I'm still limited to ~140mm SBS, which is pretty hyper (but OK when observing a minimum distance from the lens). So 70-95mm would be nice for me.
When you say 'prism rig', are you actually using a prism? Or is is a beamsplitter? I'm planning to build a beamsplitter 'macro box' for the same reason (and to actually shoot macros).
re. buttons, the 'record from playback mode' sounds promising. Are the cameras actively playing back a clip? If yes, they may be busy and so not responding quickly enough to the record cmd, causing random delays. If they're not playing back, then I wonder what would cause the delay - maybe the LANC implementation just isn't polled (monitored) frequently enough. In that case, physically hard-wiring the record buttons to an external trigger might fix that (unless the record buttons are also polled slowly).
I'm most excited right now about the possibility of a hardware clock hack. I wasn't expecting the disassembly to be this easy, or the board to be this open. Other manufacturers like to remove IC markings, or hide one IC under another, so you can't even get at the clock. Or the clock might be embedded in a custom chip. As BMD is small, they seem to have avoided all that and gone for a relatively simple and open design. We just need the right eyes on the pics (my electronics experience is limited, though I might do the mod if it looks promising) - the prize is perfect permanent sync!
Wonderful, thank you for all of this.
With one camera inverted and no connectors we are able to achieve a ~73mm IO. With right angle mini HDMI and right angle LANC we are in the 92 - 93mm range. For closer IOs we put together a little prism rig that works pretty well but not exactly one's first choice.
Our further button pushing produced the following semi-trustworthy results:
The lens release apparatus does not seem to reset the internal clock with either automatic or manual lenses. Pushing that release mechanism does reset focus.
However, hitting the record button returns the camera to ready status from playback and this action does reset the internal clock. I momentarily thought this could be the golden fleece in that a simultaneous record command (which is possible from our Applied Logic board) should reset the clocks at the same moment. Practice, unfortunately, does not bear out the theory.
I am able to synchronously start the cameras with the power on buttons and get a (purported) 5ms sync between the two cameras roughly 50% of attempts - not awful, but, once again, not one's first choice.
I should say that these modest tests were done with the led readouts of the Applied Logic board which is likely not as reliable as Peter's CRT sync testing but it does, at least, tell one when there has been a resetting of the internal clock.
I have not yet, but will attempt the synchronous applying of power to the cameras to see if power on actually starts the internal clocks.
External power options:
People will tell you to spend far too much on battery plates, or branded solutions. Here's what I've been using with my GH2's: a self-contained li-poly battery back from Ebay, eg. www.ebay.co.uk/itm/331257847808
Available in various mah ratings, mine's 6800mah. Cost around £16 (~$27 USD) and powers my dual-body GH2 rig and controller pretty much all day. It even has a switch, so you don't need anything else to simul-power (well, the battery is 12V so I use a voltage regulator for the correct GH2 voltage, but the Pocket takes 12V).
(from the video) the main CPU is a Spartan-6 FPGA: http://www.xilinx.com/products/silicon-devices/fpga/spartan-6/ .
There seem to be a number of unconnected/unsoldered points on the front board, by the grip. Debug points? Or maybe interesting signal taps?
I dont know much about clocks/crystals. Anybody spot one? How about the two silver things right above the FPGA?
I did some BMPCC 3D Rig measurements for various layouts in Photoshop (attached). It also shows all the ports & buttons.
With flattened grips, you could stack the bodies closer vertically and get the 70mm interaxial (plus any connectors). Although it may be fine as-is as the grips are already fairly shallow, at least with a reasonable min. distance from the closest subject. You wouldn't see half the screen of one cam, but you can still get to the controls, and you might use external monitoring anyway
Pocket teardown - very easy disassembly:
(why did he leave the lens on?? : )
A hardware sync hack would be great. Anyone want to look for sync pins or clock hacking?
Also you could remove the black plastic of the grip to flatten it. That way you could overlap ('stack') two bodies with far less depth separation, to get the lenses closer together ...
@kavadni cool, I've read up on the MC100 a bit more and see that it does a number of other useful jobs too. For me (non-paid art work), it's overkill as I don't need anything SDI related (yet, maybe by the next upgrade a couple of years down the line :)) and wish there was just a simple HDMI box that could do anaglyph at least.
re. sync I hear you, you cannot have reliability issues on shoots with deadlines. Otherwise with patience the GH2's with simul-power have worked out great for me. I have lost a few shots and some aren't perfect, but with sync monitoring (which I didn't have) that wouldn't have happened. I don't know how close you can get with simul-power for high action shots, as I don't do that. For most other shots, you can get genuinely excellent results.
How does it work in practice?
It works well, the actual path was (GH2 -> BMD HDMI-SDI x 2) -> Matrox MC100
-> FramePacked SDI into BMD Mini Recorder into MacBook via thunderbolt. (I then use an application called 3D Stereo Cat)
and
-> FramePacked HDMI into an LG Stereo Monitor and view on set with Glasses
It works absolutely great ... Everything is perfect with 2 x EX3 (Genlockable).
Personally I have given up on measuring sync and offsetting startup times. Results can be achieved, but on set not at a level of reliability that I feel I can charge for a service.
My rig is a (robert rig) and I can fit two by ex3 on it. I am waiting for an affordable genlock camera, then I will proceed with 3D.
With my GH2s, I used two by HDMI-SDI converters and a Matrox MC-100
Cool. So the MC100 can do it, handy. Shame it's only SDI (I'd prefer to avoid the converters, more to carry around and power). I mainly shoot outdoors, carrying my rig myself, often all day, so small, light & simple is ideal (that's why the Pocket appeals). It's also not cheap, ~£350 UKP / 500 USD. How does it work in practice?
... actually that was not the link I intended ... check this one
Cool. I found some Analog Devices HDMI chips like that before - but it seems pretty complex. AFAIKT this one has two inputs, but they're used for switching between rather than processing simultaneously? It also seems to require additional RAM modules, you probably have worry about HDCP (even though there should be none from the cameras, but you probably still have complications from it at the other end) etc.
Another option though is buying two HDMI->analog converters, and then digitizing & processing that. Some people have already done that for DIY Ambilight TV illumination (where you place some LEDs behind the TV enclosure, and sample the video colours at the image edges, then spread thm via the LEDs to your wall). With component (rather than composite) you could probably get HD?
I would prefer a small HDMI-based box that could do it all ideally. If anybody's interested in this, we could start another thread?
@_gl ... actually that was not the link I intended ... check this one
http://www.analog.com/static/imported-files/data_sheets/ADV7842.pdf
While I cannot find the forum that explained it, this device
http://www.lumagen.com/testindex.php?module=hdmiext_details
apparently this particular device (probably most repeaters) has a suitable IC which has the sync pulse available ...
Thus ... 2 extenders provide the HDMI passthrough ... and then you feed the pulses into a comparator of some description ... Arduino/AVR or whatever
I would want to do full image processing on two HDMI inputs to give live anaglyph and other stereo previews on a single HDMI monitor (and you could also display the sync directly on it).
With my GH2s, I used two by HDMI-SDI converters and a Matrox MC-100
It looks like you're new here. If you want to get involved, click one of these buttons!