Teaching an old camera new tricks
2024-05-05This post describes how-to achieve auto bracketing with a camera lacking that support.
Motivation
TL;DR: you dont need it, it makes no better composition nor lightning. But it saves you time when needed.
I bought a camera for a long time from my first money that I get earned from my very first job as working student.
The camera in question is a Nikon D40, and despite its age, serving me very well in all photographic endevors.
The only thing I missed for a long time and became crystal clear to me after our last journey to South America in 2018 was the missing auto bracketing support.
In short, auto bracketing allows you to take pictures with different exposures without touching the camera for manual adjustment.
This comes in handy? when you're confronted with difficult lightning situations where you know a high dynamic range photography in post can give you the needed details.
In short, high dynamic range (HDR) photography describes the process to produce a final picture from several input pictures with different exposures.
An pre-condition to get a proper alignment is that the camera stands absolutely still.
of these different input photos is a stativ (for sure) and the possibility that the camere can do the required bracketing without manual adjustments.
The very first time I encountered the need for this kind of photography was in Patagonia (kind of late we where already at the POI). I improvised with a stone and, lucky me, we had a nice sunny weather which allows me to keep the settings in a moderate way.
- brauchst du alles nicht nur stativ und fernausloeser
Software with OpenWRT
First prototype with AlpineLinux and porting of ddserver to it.
Configure and build in a nutshell
Target System (Broadcom BCM27xx) --->
Subtarget (BCM2708 boards (32 bit)) --->
Target Profile (Raspberry Pi B/B+/CM/Zero/ZeroW) --->
Libraries --->
{M} libgphoto2..... The basic library of the gphoto2 program, version 2.5.30
<M> libgphoto2-drivers-ptp2................. Gphoto2 drivers for ptp2 cameras
Multimedia --->
<*> ddserver................ Server for DSLR camera to use with DslrDashboard
<M> gphoto2.................................... Gphoto Digital Camera Contro
git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt
git pull
# Select a specific code revision
git branch -a
git tag
git checkout v23.05.3
# Update the feeds
./scripts/feeds update -a
./scripts/feeds install -a
# clone dashboard server
git clone https://github.com/hubaiz/DslrDashboardServer package/DslrDashboardServer
# Configure the firmware image
make menuconfig
# Build the firmware image
make -j$(nproc) defconfig download clean world
- I followed the OpenWRT guideline for Rpi Zero
- Just need to enable gphoto2 (because of some missing nikon driver)
- put ddserver as extension into the build tree of openwrt
- compiled the final sd card image
- flashed it
- used it as it was
Electronics
Following the LiPoPi project, the wiring is quite simple
and PiGRRL Zero
- Used the wiring of the PI battery project
- 18650 + Adafruit Powerboost 1000C
- RPI Zero W
Case via Ultimate Box Generator
I designed the case with ultimate box generator. It is a OpenSCAD parametric model that allows you to set the wall thickness and other properties of a box. With one click it generates a custom box containing out of top, bottom and two wall elements. Ultimately simplifies the positioning of holes within a two dimensional space. After generating and rendering, that I've importet the resulting STL into tinkercad for further modifications.
My first attempt in designing a case for that project was to follow a unibody approach. Shortly after starting with the first designs, however, I realized that the complexity outreached my CAD skills by far. To finish the case in a short period of time (I want to use it on an upcoming trip the next weeks) I sticked with a parametric OpenSCAD model called YAPP_Box.
YAPP_Box provides a nice housing with clip (verschlüsse) but placing the holes for later connections still remains a tedious task because the alignment needs to take the complete box into account rather then just a single wall (versteht man das?). Also OpenSCAD is not perfect to move objects by mouse (again my missing skills) ... Second attempt openscad + tinkercad...
First attempt of building a case was to have a stackable layers to carry different electronic parts e.g battery, rpi, and booster. It was based on a hexagon grid and fixed with zippers. This allowed me to do a rapid prototype for carrying the electronics around with my camera. Later on the surrounded design of the emclosure however was again to complex in aligning the outer holes.
In the last iteration of designing the case I started with a battery holder for 18650 batterys that I purchased at ebay. Also 3D printing of the case includes several approaches. However due to the modular design some parts need to get more tweaked then others. For example the front wall that 'contains' the main electronics needs three or four iterations. The top and bottom case parts where fine after the first attempt. Imagine how many material I saved because I don't need to reprint everthing just the 'local' changed parts.
Final Thoughts
- damn small pc at your cam
- Holy grail fotography
- timelapse
- astro photography
Links
➥ The foto guide for technical interested people➥ https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem
➥ https://github.com/NeonHorizon/lipopi
➥ https://learn.adafruit.com/pigrrl-zero/circuit-diagram