How to build your own wireless touchscreen cinema camera controller, or at least how I made the first version of a DIY simple settings controller for my Z Cam cinema camera that suited my needs at the time.
The intention of this write up is so that you can treat it like a one time KiwiCo Crate build focused for filmmakers. Although the software side did need some basic knowledge, I document everything I did, and was able to reproduce my results twice by following the instructions.
Preliminary parts list for DIY tinkerers comes out to around $150 all with 1-2 day shipping in the US at the time of writing the first draft of instructions.
- ~50$ Raspberry Pi 3b (Supplier 1) (Supplier 2) (Supplier 3) and some STL reference designs
- ~25$ 18650 UPS with relevant Docs
- ~40$ 4.3" Waveshare with relevant Docs
- ~25$ 18650 Batteries with charger or 18650 with 4 Bay Charger I just used 2 from an old Portkeys Keygrip
- ~10$ Micro SD Card 16GB Industrial or 64GB Sandisk Extreme or any spare you have laying around, the pi 3 doesn't have high read and write speed needs.
- 3D Printed Case - the design we had made can be found for for free on my Ko-fi but does need 4 M2.5x8mm Screws.
- Ethernet cable for connecting Pi to ssh in
3D Models of all parts can be found in 3D models folder on the Github Repo
We will be waiting to assemble all the hardware until after preparing the OS, but it is possible to insert the micro SD card if the hardware stack is assembled, just use extreme care.
We selected a Pi 3 due to the low power power demands, however when designing our case, we made it compatible with Raspberry pi 3 through 5 port cutouts.
On Raspberry Pi Imager select Pi 3 and choose the recommended Legacy 32 bit desktop environment, then select your storage and click next
- hostname can be any, its used for identifying this device on your local network when you plug it into ethernet
- Username and password can be any for this, default for raspian is user pi password raspberry
- Configure WLAN
- Enter ZCAM SSID
ZCAM-F8-###### (can be found on networking menu in camera)
- Password - default z cam wifi password is 12345678
- Set wireless lan country (Most important step)
- Enter ZCAM SSID
- Set locale for timezone and keyboard layout
be sure to check enable ssh and password authentication, which will match the username and password you made in the general tab
All optional, I prefer the alert when its done being burned and disable telemetry.
Click to confirm the settings are applied to the OS.
Wait a bit for the OS to write and verify.
Insert SD card into the Pi 3
Assemble the hardware stack
turn on ups
- blue screen to generate ssh
- reboots automagically
- welcome to pi screen with text on the bottom.
1st boot may take a while and seem like its stopped, that's normal
Once you're on the desktop screen plug in your ethernet to your pi.
ssh in with the user account you created
To ssh in windows Powershell
- Launch Windows Powershell
ssh [email protected]
from my example picture earlier it would be
ssh [email protected]
- yes to fingerprint if needed
- enter USER password
these are all the setting you set while preparing the OS image in the general tab
sudo apt update
sudo apt upgrade
y to continue
sudo reboot now
we are now up to date for raspberry pi os but lack all the dependencies we need to run our custom software
SSH in after the reboot
Using this as my current reference
A note to new tinkerers, I cite my source here because you should NEVER curl | bash without knowing what the script does, in this case it is how the official documentation distributes it, and so generally safe to do so.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
use new ssh connection
nvm install 20
Install the programs needed
sudo apt-get -y install unclutter firefox-esr
enable i2c
sudo raspi-config
interface options --> I2c select --> Finish
npm install -g yarn
Copy the open source software from our Github Repo
git clone https://github.com/brollbanter/cinema-camera-controller.git c3
the c3 at the end places the files from our repo into a directory called c3 on your device. This is mainly so we don't have to type cinema-camera-controller and keeps the folder names cleaner. It is also used in scripts our program uses
cd c3/software
yarn install
create camera_state.json
nano camera_state.json
Paste the following and write out and exit {"wifi":"connected","wifi_ssid":"any","camera_url":"http://10.98.33.1"}
make sure z cam is on at this point if you plan on connecting to test
cd ~/c3/software/desktop
cp start_server.desktop start_ui.desktop ~/Desktop/
copies the two pre-made desktop shortcuts to the Desktop
nano ~/Desktop/start_server.desktop
Change USER to your pi install's username and write out
nano ~/Desktop/start_ui.desktop
Again change USER to your pi install's username and write out
Now you have a Raspberry Pi 3 desktop environment with 2 shortcuts, 1 to start the server and another to start the UI. Be sure to always start the server before the UI. The safest way to shutdown is to exit the UI through the gear cog, navigate to the Pi OS logo then tap Shutdown. Click shutdown again to confirm and wait for the green Pi activity LED to stop flashing, then turn the UPS off.