I am finally able to release a beta version of the OpenScan firmware supporting both the new IMX519 Arducam camera module and DSLR cameras (via USB).
There are still quite a few things that need improvement, but at least this is a good starting point for testing. So feel free to download the pre-compiled Raspbian Image from Google Drive (1.5GB). Please read the setup instructions and limitations below! Note, that the native pi cameras (1.3, 2.1 and HQ) are currently not supported yet.
- raw scan of a 28mm figurine using the IMX519 + OpenScanCloud -
Stupidity at work (a little self-roast)
When you touch a camera module for the first time and read the setup manual carefully, you will come across the following line:
"Please make sure to insert the ribbon cable in the right orientation"
To make it short: Yesterday, I have lost almost half a day trying to fix "software" issues, because I thought, I could skip the above-mentioned quote when repeatedly swapping the camera between different Raspberry Pi versions to test the firmware ...
Why does it all take so long?
Besides the above-mentioned reason, there are some external factors too.
The Raspberry Pi foundation announced its move to implement the libcamera framework almost two years ago and released the first operating system including libcamera in November 2021 (Bullseye).
The move and intention are great, but so far the implementation of libcamera is not fully done by the Foundation/Community. Once completed, it should be much easier to run third-party cameras like the Arducam IMX519 (and others). To be clear, Arducam is doing a great job providing the right drivers and very good technical support! The issue is, that the general libcamera implementation in Raspbian Bullseye is still quite buggy and needs further improvement.
For this reason, I had to find several workarounds and currently, the native pi cameras (v1.3, v.2.1 and HQ) are not supported in this OpenScan firmware release, yet.
BUT the IMX519 with 16mpx and DSLR triggering via USB finally work!
Since I rewrote most of the code, I would be very happy if you could join the testing and help me find and fix those little bugs...
The setup is pretty straight-forward. The Raspbian image is pre-configured for the OpenScan Mini using a Raspberry Pi 3B+ and an Arducam IMX519.
Just download the image from Google Drive, flash it to an SD card, insert the card and start the device (connected to your router by Ethernet, or alternatively modify the wpa_supplicant.conf to use Wifi).
Once started, you can reach the user interface at:
And the node-red editor at
If you are using the OpenScan Classic (or any other version), you can simply change the mode in the settings menu.
When using a Raspberry Pi 4, you will have to re-install the camera drivers (god/buddha knows why), simply by running the following two commands in the console (via ssh, user: pi, password: raspberry) :
wget -O install_pivariety_pkgs.sh https://github.com/ArduCAM/Arducam-Pivariety-V4L2-Driver/releases/download/install_script/install_pivariety_pkgs.sh && chmod +x install_pivariety_pkgs.sh
./install_pivariety_pkgs.sh -p imx519_kernel_driver
Many DSLR cameras are now natively supported. You can simply select DSLR (gphoto) in the settings menu, connect the camera and reboot the device.
I have created a new github repository to get rid of all my prior misdoings (and in order to create a better overall structure): Github