Skip to content

Pi Zero Optimizations

Michael Lynch edited this page Jan 19, 2022 · 5 revisions

The Pi Zero (W) is not officially supported by TinyPilot, but it offers a low-performance TinyPilot experience if your resources are limited.

General suggestions

  • Do not enable the read-only filesystem since the overlay filesystem consumes too much memory leading to overall slower performance.

Specify the capture device

If you're using a TC358743-based HDMI to CSI capture chip, edit the file /home/tinypilot/settings.yml, and add the following line:

ustreamer_capture_device: tc358743

Lower the default framerate

Lowering the framerate from 30 FPS (the default) to 15 FPS drastically reduces CPU usage. This not only helps to reduce the power consumption and heat dissipation, but it also improves the responsiveness of the web interface.

Reducing the framerate also reduces the frequency of TinyPilot dropping or repeating typed keys.

To change the settings, edit the file /home/tinypilot/settings.yml, and add the following lines so they become the default for both the initial installation and upgrades.

ustreamer_desired_fps: 15
ustreamer_drop_same_frames: 15

Re-run the installation command after adding these lines.

Disable WiFi Power Management

When wireless power management is enabled on the Pi Zero W it can sometimes cause sluggish performance. It's suggested that you disable power management on the wlan0 interface to improve responsiveness. The simplest way to accomplish this goal is to insert the following lines into /etc/rc.local before the exit 0 line.

# Disable WiFi Power Management
iwconfig wlan0 power off