Can I enable pixel binning on the IMX678 sensor in the B0582 camera module?

Hey everyone, I’m trying to figure out if pixel binning is supported on the IMX678 sensor in the B0582 camera module. Does anyone know if this feature can be enabled, and if so, how? I’ve been digging through the driver but can’t find any obvious parameter or control for it.

Hi there — good question. Before I dive into the specifics, could you share a bit more about your setup? Which carrier board and compute module are you pairing the B0582 with? That’ll help narrow things down.

Sure thing. I’ve got the B0582 camera connected to an Ezurio carrier board with a Nitrogen95 SMARC module. The sensor is the IMX678, as expected. Let me know if you need any other details.

Thanks, that helps. So I took a look at how the IMX678 driver handles binning, and here’s the key thing: pixel binning isn’t controlled by a standalone parameter or a separate ioctl command. It’s tied directly to the readout mode — specifically, it’s coupled to the resolution you request.

OK, that’s interesting. So there’s no explicit “enable binning” setting anywhere? I was going through the V4L2 controls and kept coming up empty. How exactly do I trigger it then?

Exactly — no separate binning toggle exists. The way it works on this sensor is that when you configure your pipeline or application to request 1920x1080, the sensor automatically engages 2x2 pixel binning. It’s baked into that readout mode. So you don’t “activate” binning — you just pick the resolution that implicitly uses it.

Got it, that makes sense now. So just to confirm, if I switch my pipeline to 1080p, I get binning without doing anything else? And what does that actually buy me — better sensitivity, higher frame rate, both?

That’s correct — switch to 1080p and binning is automatically in play. No extra steps. Here’s a quick summary of the two supported modes on the B0582 with the IMX678:

  1. 3840x2160 @ 15fps — Full pixel array, no binning. Maximum resolution but limited to 15fps.
  2. 1920x1080 @ 60fps — 2x2 binned mode. The sensor reads out combined pixels, which means the readout speed increases dramatically, letting the frame rate jump from 15fps all the way to 60fps.

So you get both the sensitivity improvement from binning (since each output pixel combines light from a 2x2 block) and the frame rate boost from the faster readout. It’s all automatic once you request 1080p.

That’s super clear, thanks for laying it out. I was overcomplicating it — I assumed binning would be a separate config knob. I’ll reconfigure my pipeline for 1080p and test it out. Appreciate the help!

No worries, and yeah, it’s an easy assumption to make — a lot of sensors do expose binning as an independent control. The IMX678 driver just takes a different approach by tying it to the resolution mode. Let us know how the 1080p pipeline works out for you!