Tag: cytron

  • Raspberry Pi 3.5″ Display X11 Configuration

    Raspberry Pi 3.5″ Display X11 Configuration

    I got a really cute 3.5″ TFT display for my RPi from Cytron which has an ADS7846 touchscreen controller.

    After installing the drivers (by following the instructions here), I realised that the X/Y axes of the touchscreen were flipped.

    It took me a while to figure this out, so I’m writing a blog entry as a documentation.


    SSH has been disabled by default on a fresh RPi OS installation. To use the RPi in headless mode with SSH enabled, create an empty file in /boot/ssh. This can be done via another computer, e.g. on my Mac:

    touch /Volumes/boot/ssh

    After the RPi boots, connect it to a LAN cable, SSH to it (find its IP address via DHCP server leases table) and then run raspi-config to do some initial configuration.

    raspi-config

    Now install the LCD drivers.

    To rotate the display so that the HDMI ports are on top. Edit /boot/config.txt:

    dtoverlay=tft35a:rotate=270

    Next, the touchscreen input will also have to be rotated accordingly. Edit /etc/X11/xorg.conf.d/99-calibration.conf:

    Section "InputClass"
      Identifier "calibration"
      MatchProduct "ADS7846 Touchscreen"
      Driver "evdev" # Force the evdev driver
      Option "Calibration" "3936 227 268 3880" # Default values
      Option "SwapAxes" "1" # Required for landscape orientation 
      Option "InvertX" "true" # Required for rotate=270
      Option "InvertY" "true" # Required for rotate=270
    EndSection