Remotely Take Pictures with a Raspberry Pi Pico-Powered Automatic Shutter

See how Will Lawson's device uses a Raspberry Pi Pico and IR remote to activate the shutters of old cameras from a distance.

Evan Rust
3 years agoHome Automation / Sensors / 3D Printing

A brief history of camera shutter mechanisms

Taking a picture with a camera normally requires pressing a shutter button, which causes the lens's aperture to quickly close and then open up again. On smartphones, this button takes the form of either a volume button or a virtual one on a screen, which allows for plenty of customization when trying to get that perfect shot. However, older cameras don't support a wide range of configurations as they have a single, physical shutter button that can't be easily triggered remotely. Some do contain a small lever that slowly rotates at a preset rate that can press the button after a certain amount of time, and this is what Will Lawson was trying to recreate with his Film Camera Remote Shutter project.

Designing a circuit

His design needed a few components to work:

  • A way to take incoming signals and convert them into usable information for remote triggering
  • A physical switch to depress the shutter button on a camera
  • A portable power supply

For the first point, Lawson chose to use an IR remote + receiver combo that can reliably broadcast signals from a decent distance away. These infrared waveforms would then be decoded by an Arduino Nano and processed into commands. Once read, the Nano causes one of its pins to go high which triggers a relay, thus switching on a Raspberry Pi Pico.

Decoding signals from the remote

IR remotes work by sending out pulses of infrared spectrum light that are picked up by receivers tuned to their specific frequency. From these pulses, signals can be read as various codes that correspond to different buttons being pressed. In Lawson's project, he needed to know the codes for the "shutter button" on his remote, which he was able to gather using a simple sketch that listens for new values and prints them out once received and decoded. Commands in hand, he created a new sketch that waits for either the 4108 or 96644 codes to come in and then activates or deactivates the Pico.

Activating the shutter

After the Raspberry Pi Pico has been powered on via the relay, it enters an infinite loop where it alternates between setting the servo motor to the 'on' position and the 'off' position. It also sets the onboard LED high to ensure the user of the automatic shutter knows the device is active.

Testing it out

After designing, ordering, and soldering his own custom PCB, it was time to test out the device. Lawson did this by 3D printing a custom enclosure that allows the battery bank and circuit board to mount onto a camera's tripod. Once the servo was attached to the top of the camera, the shutter button on the remote control was pressed and caused the camera to take a picture — just as planned.

You can see Lawson's build log for this project in his video, and you can see the code used in both boards here on Github.

Evan Rust
IoT, web, and embedded systems enthusiast. Contact me for product reviews or custom project requests.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles