Hey everyone, I’m working with the ArduCam T2 ToF camera and running into some trouble with distance measurements. The product page lists the modulation frequencies as 90 MHz for single frequency mode and 15 MHz for dual frequency mode. I’ve been plugging those values into my phase-to-distance calculations but the results are way off - like, completely not matching reality. A measurement that should be around 1 meter is showing up as something totally different. Has anyone else seen this? Am I missing something in the calculation, or are these frequency values actually wrong? Also, does anyone have the actual datasheets for the T2? The product page doesn’t seem to have full spec sheets available.
Thanks for reaching out about this. Before we jump to conclusions about the frequency values, could you share a bit more about your setup? Specifically - how are you extracting the phase values from the sensor, and what’s the actual formula you’re using for the distance calculation? If you could also share a concrete example (like the raw phase values you’re reading and the resulting distance you’re computing vs. what you’re actually measuring with a ruler), that would really help narrow things down.
Sure, here’s what I’m working with. For the single frequency mode at 90 MHz, I’m using the standard formula:
distance = (c * delta_phi) / (4 * pi * f_mod)
where c is speed of light, delta_phi is the phase shift in radians, and f_mod is the modulation frequency. So at 90 MHz, a full 2pi phase shift should correspond to c/(290e6) = about 1.67 meters max unambiguous range. But when I set up a target at exactly 1 meter and check the phase, I’m getting a phase shift that back-calculates to something like 1.3-1.4 meters with the 90 MHz value. It’s consistently off by around 30-40%. With the dual frequency mode using 15 MHz, it’s even worse - the numbers make no sense at all. I’ve double-checked my code and the phase values coming from the sensor registers look clean. I’m starting to think 90 MHz and 15 MHz just aren’t the actual modulation frequencies this camera uses.
I’ve looked into this and you’re absolutely right - there’s an error in the product page documentation. Those 90 MHz and 15 MHz values are incorrect, and I’ve flagged it for the team to get the page corrected. The discrepancy you’re seeing (roughly 33% off with the 90 MHz value) lines up perfectly with what you’d expect when using the wrong frequency in the calculation.
Here are the correct modulation frequencies for the ArduCam T2 ToF camera:
Single Frequency Mode: use 120 MHz as the modulation frequency.
Dual Frequency Mode: use 120 MHz and 20 MHz as the two modulation frequencies.
Update your calculations with these values and the distance measurements should come out accurately. For your 1-meter test, with 120 MHz your max unambiguous range becomes c/(2*120e6) ≈ 1.25 meters, and the phase-to-distance conversion should now line up properly.
That did it! Swapped in 120 MHz for single frequency mode and my 1-meter target now reads 1.01 meters, which is well within what I’d expect for this sensor. The dual frequency mode with 120 MHz + 20 MHz is also producing sensible results now. Really appreciate you tracking that down - I was going in circles on the math side assuming I had the right input values.
One more thing though - any chance I can get the full datasheets for the T2? I’d like to dig into the other sensor parameters as well, like the modulation contrast, quantum efficiency curves, things like that.
Glad to hear the corrected frequencies solved the measurement issue! Regarding datasheets - unfortunately we can’t release the full datasheets publicly, as they’re covered under NDAs with the sensor manufacturers. That said, if there are specific technical parameters you need for your project (like the ones you mentioned - modulation contrast, QE curves, etc.), go ahead and list them out and I can provide those specific values as long as they’re within what we’re able to share. Feel free to post what you need and I’ll dig up what I can.