I've identified the possible FPGA clock pins (see pic) - the green ones 'GCLK' (global clock inputs) are the most likely. As I understand it, only a single pin needs to be used, in which case it's going to be a P_GCLK (positive).
I then worried about how a 32 kHz clock can drive an FPGA in any useful way (you'd expect them to run in the mHz range), so I studied the Spartan-6 clocking options: http://www.xilinx.com/support/documentation/user_guides/ug382.pdf
Good news and bad news:
the chip can (optionally) multiply the clock internally, so it is possible that it slaves to the slow input clock.
it can also (optionally) use its own internal oscillator, which only needs to be stimulated by an incoming clock until it's locked in. After that it's free-running, so it would be subject to drift between bodies, with no way to synchronize!
As both are optional (the chip can be configured in a zillion different ways), it totally depends on how BM is using it. The PDF mentions that in video applications, the incoming clock is often a slow pixel clock, and is then multiplied up internally. So there's a good chance we can sync it.
I'm buying an oscilloscope so that when I (eventually) open one up, I can see what the clocks are doing. It will be a while before I do though, I don't want to void the warranties until I'm sure that the sensors etc. are completely fine.
OK I'll leave the hardware alone for a while until we get better pictures, somebody else has some ideas or I get to open mine. I looked up a couple more chips and marked a few things to help make sense of the board (pics). Corrections/additions/ideas welcome.
Still waiting on my bodies (no firm ETA right now, though I should be in the next batch).
Did you get a chance to try the from-playback mode test @David_Wilson?
As we received our second bmpcc camera, we wanted to try some stereoscopic 3D footage. I've made a diy lanc splitter to sync cameras. It seems to work !
If you have any problem with the youtube player there is an anaglyph version here :I just noticed that's at low battery, the camera that have the higher battery level can start 1 or 1/2 frame before the second one... I have to try again with external battery power to see if its avoid this fact. If I still have this issue I plan to use 2 lanc controller (one for each camera) and solder on rec switch that activate both controller at the same time.
But after reading this topic I understand that the source of the problem could be elsewhere... I'm new to stereoscopic shooting and I've seen here that this 1/2 frame could be a processor clock problem : if cameras are not power on at the exact same time, they can not be synced. So I think about powering on both camera at the same time with an hardware hack, by soldering a button connected to the power button of both cameras.
Now I think about making a mirror rig because of the opposite rolling shutter on upside down rigs you were talking about. Also it will be more easy to achieve for macro shots.
But Anyway, that's working ! I'm curious about your feedback about the 3D depth, even if these test footage are ugly.
Hey @yannkibongui, good to have you on board. I think the battery level is a coincidence (but you can double-check). A power-button hack may work, but if we can find another action that resets the sensor timing, and that we can trigger simultaneously on both bodies, that would be even better (no hardware hacking or power cycling required).
If you have a CRT that's the best way to test the exact sync differences.
I actually finally got my two bodies yesterday - but my seller did not send closely matching serial nos (I made a big point about it but they forgot in the end), so I had to send them back. I should get consecutive ones in a week or so. I'm still going to look into hacking the clocks directly, but having closely matched bodies should minimize drift with the sync workarounds.
The depth seems fine in your shots, but the anaglyph ghosting is bad on my screen. Have you tried Youtube 3D? It supports 3D displays like my LG passive.
D'oh ignore, I missed you posted a YT3D version : ).
OK now I see the footage more clearly, it's badly out of sync. More than a frame I think. Easy to see eg. on the flashing light, but also all movement looks weird.
I check whole-frame sync by making a clicking sound into both mics on my GH2's at the start of each shot, and then aligning the audio waveforms in Premiere. Another option is a small flash, maybe an LED torch or something, or a clapper. When you don't have that (I sometimes forget), look for a sudden visual change in the footage (eg. like that flashing light), or body movement etc, and match that.
Thanks for your advices ! I wait to your own tests ^^
Incredible stuff, feel like i missed out by not picking up two bmpcc when they were cheap! I was thinking of making a gopro beamsplitter (only for narrow fov) but still haven't spared the money for a 3d printer
I have some mirrors that were cut for a mini si2k rig, so in theory 8mm on the bmpcc should give the widest view and full zero to 65mm ia
By my light estimation including mirror and expensive shapeways printing it would come well under 1000usd
Would be interested to find if this works if the bmc uses the same clock, with SDI outputs they lend themselves to standard 3d workflows much better.
Hey @Tom3D, yeah I've been meaning to build a macro-box myself for years now : ). Just too many things on the go, but I do want some macro stuff eventually.
3D printing sounds a good idea. Haven't looked into it for anything yet, is it expensive to have someone else do it? I assume you'd need to iterate it a couple of times to iron out any bugs in the design. I could probably DIY something, but it would be neat to have it printed & lightweight.
I could also use it for the 3D preview monitor I've half-built. It's 2 raw 720p LCD panels + HDMI controllers. The idea is to beamsplit it like these monitors: http://www.ny3d.org/2007/06/planar_systems_inc_beaverton_o.html . I have everything except the case, would ideally like it to be collapsible.
FDM printing yourself is incredibly cheap, pennies. But when you go 3rd party you are paying for time on the printer which can be very expensive as printing is a slow process.
Makes sense. Plus if you need a few attempts could be v. expensive.
I hope I can find the time, I'd base it around 3D printer parts too, using 8mm smooth rods for IA movement and stepper motors for IA / Convergence.
http://reprap.org/wiki/Smooth_rod http://reprap.org/wiki/Linear_bearing
That would be sweet. (also gave me some grease tips on how to repair my aging printer, whose print head keeps catching on the rod : ).
My bodies are shipping today (woohoo). Couldn't quite get consecutive serials, but one apart ain't so bad.
Let us know how it goes. :)
@ Tom3D
@ _gl
Just ordered the NX1. Almost ordered the NX30, earlier because of the 3D lens option. Just found out that the NX1 supports the 45mm 3D lens ...so you know I had to order!
I have some new BMPCC (and unused GH2 pairs) for sale that I'd bought ...hoping someone here on personal-view would develop a 3D system. Thanks for all your work. You've kept me interested, and I appreciate that. Thanks again
@bubba, I've heard of this lens before. AFAIK, it takes each image at a different time - that will give you the absolute worst kind of video sync, exactly what we're trying to avoid here. Motion will look v. weird.
Although for the special-case of shutter glasses viewing that is actually ideal, as the shutters are doing the same thing. But for any other kind (ie. where both images are displayed at the same time) it will look terrible.
Quick update: got the bodies, but I have to send them back as they have screen issues.
Had a short time to play with them today though. The following things reset the sensor sync:
The following DON'T:
Have I missed anything?
Simply delivering power to the bodies simultaneously (without powerup) does not sync them (the clock is reset during boot).
So perhaps a hardware button mod is required to power both bodies up simultaneously OR to record simultaneously. For the 2nd, the idea is that you manually go into play mode, and then simul-record to get to record mode & reset the capture clocks. Assuming it works that way, and that the button scanning is fast enough to not cause a significant random delay. Bonus is that you can also start recording simultaneously that way (no LANC required).
Although a button hack is relatively easy, a non-invasive method would be better. Next I'll write a LANC controller, both to measure sync without a CRT and to see what can be done there.
Some drift stats from my 1 serial no apart bodies (measured with a CRT and Camera Sync Tester):
(shout if you see any mistakes)
Tested at 29.97 fps:
single-frame time = 1000ms / 29.97fps = 33.367 ms
worst-case sync (1/2 frame) = 16.683 ms
CRT @ 640x480 60Hz:
1 refresh cycle = 1000ms / 60Hz = 16.667 ms
Drift from synced:
5mins: ~80 pixels / 480 pixels height = 0.1667
* refresh cycle (16.667ms) = 2.777 ms
= 16.62 % bad (0% = perfect sync, 100% = worst)
So around 0.555 ms / min
Not sure how that works out in practice. Will measure my GH2's soon as I know what their real-world drift is like.
re. my tests above, can someone try to verify?
Quick cable tips (yes I made those mistakes : ):
Get right-angle cables to get the bodies as closely together as possible. But don't get these:
-- cable pointing down: it blocks the power socket! (sure does, sigh)
-- cable pointing up: could work, but will block mic & headphone sockets!
This should work without blocking anything (pointing towards you):
EDIT: but that won't work if you do body stacking (overlapping the bodies). You'd need a cable pointing away from you instead (haven't seen one yet).
I thought I was being smart getting this DIY cable (usually listed for Asus EEEs) as they have narrower sockets than the rest: Except the connector barrels seem to be proprietary as they're only 7.5mm in length, shorter than the standard 9-10mm the Pocket needs. Works, but they fall out if you breathe on them (really).
We want the (usually yellow) type which is 2.5mm (outer diameter), 0.7mm (internal diameter) 9-10mm barrel length. Sometimes listed as "2.5x0.7mm"
(there are thicker ones like 4.0mm or 5.5mm outer, these won't fit!)
For HDMI you should get these low profile ribbon cables.
Also you should consider because of their body size building a beamsplitter for them. They'll be a lot more useful in that configuration. I have a beamsplitter myself but no pockets to try them with.
Does the record command from a lanc switch them from playback to record instantly, or simply switch from playback to live?
Not seen this type before - nice, quite expensive though and not much more flexible than the cheap one I linked. Lower profile, but you also need to get a power connector in there, that will be larger anyway. Also the contacts are exposed and would need to be sealed. I'd also worry how many plug cycles it can take before it snaps.
EDIT: also looking at this pic, it might interfere with the power connector?
Could be very useful for some things though, especially inside a housing.
re. splitter, yes that is the plan, though the hyper format works great with some things, and stacking (overlapping) the bodies gets you a bit narrower (see my pic earlier in the thread).
I haven't tested LANC yet. The physical buttons only move you out of play back into record mode, they don't immediately start recording. And that switch out of play (or possibly going into play) is resetting the capture clock.
Although I expect that triggering this with LANC won't help sync, as I believe LANC itself is slaved to the camera's frame rate, and so any sync error is built into the protocol and can't be corrected (ie. if you start record on both via LANC, you still get the delay between the bodies before the command kicks in on each one). But we could at least see if both capture clocks are reset to the same error as before. That should tell us that with a physical button mod, we should be able to sync them. However that depends on how fast the physical buttons respond (eg. if they are polled, how quickly, even better if they're using interrupts).
I can't see any way of doing this right now without a button mod, unless LANC does something unexpected.
It looks like you're new here. If you want to get involved, click one of these buttons!