How do we use day/night "IR cut" cameras in Mycodo? Can't seem to toggle internal GPIO 32 on Pi 3B+?

There are many Raspberry Pi compatible V1 and V2 cameras now that come with a controllable IR filter and IR LEDs pre-installed on the camera module for taking pictures in both daylight and total darkness.
Here is an example…

The IR filter mechanism as well as the IR LEDs are connected to the GPIO pin that controls power for the camera LED (camera LEDs are only on v1 and v2 cameras).

On a Raspberry Pi model 3B+, GPIO 32 is routed internally via the SPI connector to the camera’s led.
On the Pi Zero, GPIO 40 is internally tied to the camera LED.
On Pi models 4 and later, there is no longer a user-accessible GPIO on the camera bus.

I am running Mycodo on a Pi 3B+ and would like to use one of the IR cut cameras I already have, but I can not seem to get the filter to switch by setting GPIO 32 to high or low.

In Mycodo I have tried by using an On/Off: Raspberry Pi GPIO Output set to GPIO 32, but toggling this output does not activate the IR filter on the camera.

I have also tried setting this pin high and low manually via the command line by using the following:

echo 32 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio40/direction
echo 1 > /sys/class/gpio/gpio32/value
echo 0 > /sys/class/gpio/gpio32/value

And this does not work either.

Is there some way to toggle GPIO 32 in Mycodo so I can take advantage of the full functionality of my day/night camera?


It looks pretty straightforward from the docs you linked to:

Yeah, it used to be straightforward, until they removed the functionality for the internal camera GPIOs in Bullseye because Bullseye now only supports the (incomplete) libcamera stack.
In order to use the internal camera GPIO functionality, we are forced to roll-back to the (no longer supported) 32-bit legacy distro of the Pi OS (Buster).

If that’s the case, you should ask waveshare to update their docs, if their instructions don’t work.