# --- BubbleCam peripheral & power overlays ------------------------------- # Appended to /boot/firmware/config.txt by install.sh (idempotent -- it # checks for the BEGIN marker before appending, so re-running install.sh # is safe). # --- BubbleCam BEGIN --- # Stock config.txt ends with board-filtered sections ([cm4], [cm5], ...); # anything appended after those only applies to that board. Reset the # filter so everything below applies to the Zero 2 W (and any other board). [all] # No Bluetooth hardware in use on this board -- disable at the firmware # level (belt-and-suspenders alongside masking bluetooth.service). dtoverlay=disable-bt # Binds the DS3231 to the kernel rtc-ds1307 driver, exposing /dev/rtc0 so # `hwclock` works natively (see bubblecam-rtc-sync.service) instead of # needing hand-rolled I2C register access. dtoverlay=i2c-rtc,ds3231 # I2C1 (DS3231 + BME280) and SPI0 (e-Paper) are both required. dtparam=i2c_arm=on dtparam=spi=on # No audio hardware in use -- don't load the driver. dtparam=audio=off # Exposes GPIO18 as /sys/class/pwm/pwmchip0/pwm0 (PWM0, default pin/func # for the single-channel `pwm` overlay) for Lumen dimming -- see # bubblecam/hardware/pwm_sysfs.py. Deliberately NOT using pigpio, which # would need a continuously-sampling background daemon for a value that # only changes twice a day. dtoverlay=pwm # Not needed for a UVC (USB) camera -- avoid reserving GPU memory for the # legacy camera/libcamera stack. # start_x=1 (intentionally NOT set) # Headless -- no display output, so give the GPU the minimum and return # the rest of the 512MB to the ARM. This is load-bearing: V4L2 capture # buffers at 3200x1200 are 7.68MB each, and the default 64MB GPU split # left too little headroom (observed OOM kills during camera bring-up). gpu_mem=16 # --- BubbleCam END ---