From September 2025 to November 2025, Aadi K, Evan L, and Reese C worked on a Linux driver for the BOE VS035ZSM-NW0-69P0 3.5" 1440x1600 MIPI DSI display panel to connect to our Custom PCB (LED backlight driver on a GPIO/PWM pin, LCD bias chip on I²C), then connect to a Raspberry Pi 5. In the Standalone project, its purpose is to allow our OS to run graphics from a computer, as opposed to a microcontroller, which is the current approach.

We started by understanding the hardware and requirements, namely regarding MIPI DSI, I2C. Then we learned a bit about Device Kernel Module Support (DKMS) which is a system that lets you build only a kernel module (driver) without recompiling the entire kernel and have that module automatically rebuilt whenever the kernel updates.

The backlight - we acknowledge that we wish to permanently set it to 1 so we can mainly deal with the LCD display.

Our progress thus far:

  1. Flashed Raspberry Pi OS Lite onto the Pi
  2. Installed DKMS, created a test module and added it to DKMS
  3. Installed the test module
  4. Got The specifics for our driver from our datasheet (‣)
  5. Pushed code to https://github.com/r-chong/uwrl-rpi-panel-driver

Jan 10th

Log into a pi using SSH -e.g. Raspberry Pi Connect

Run sudo apt install -y dkms build-essential device-tree-compiler

Git clone the display driver repo https://github.com/uwrealitylabs/rpi-panel-driver/tree/main-mvp# (use HTTPS it makes it easier)

Run makefile

# Build the VS035ZSM panel kernel module

obj-m += panel-vs035zsm.o
panel-vs035zsm-y := drivers/panel-vs035zsm.o

KDIR ?= /lib/modules/$(shell uname -r)/build
PWD  := $(shell pwd)

all:
        $(MAKE) -C $(KDIR) M=$(PWD) modules

clean:
        $(MAKE) -C $(KDIR) M=$(PWD) clean