MHS-3.5inch Display! Touch Screen does not work

Good evening!
I have a problem to make the Touch Screen work. I will show you the step I took for how the procedure went if someone has an idea where I went that I went wrong
Sorry, my english is from Brazil.

Volumio Information
Volumio Version: 2.873
Hardware: Raspberry Pi 3
Display MHS-3.5inch Display For RaspberryPi - SPI 125Mhz Support 480x320 Pixels
Imagen Display

New clean installation of Volumio

My procedure for installing Display

volumio# apt update
volumio# apt install git
volumio# git clone
volumio# cp -rf LCD-show/usr/mhs35-overlay.dtb /boot/overlays/
volumio# cp -rf LCD-show/usr/mhs35-overlay.dtb /boot/overlays/mhs35.dtbo
volumio# mkdir -p /usr/share/X11/xorg.conf.d/
volumio# cp -rf LCD-show/usr/99-fbturbo.conf /usr/share/X11/xorg.conf.d/99-fbturbo.conf
volumio# mkdir -p /etc/X11/xorg.conf.d
volumio# cp -rf LCD-show/usr/99-calibration.conf-35-90 /etc/X11/xorg.conf.d/99-calibration.conf


volumio# nano usr/share/X11/xorg.conf.d/99-fbturbo.conf

# This is a minimal sample config file, which can be copied to
# /etc/X11/xorg.conf in order to make the Xorg server pick up
# and load xf86-video-fbturbo driver installed in the system.
# When troubleshooting, check /var/log/Xorg.0.log for the debugging
# output and error messages.
# Run "man fbturbo" to get additional information about the extra
# configuration options for tuning the driver.

Section "Device"
        Identifier      "Allwinner A10/A13 FBDEV"
        Driver          "fbturbo"
        Option          "fbdev" "/dev/fb1"

        Option          "SwapbuffersWait" "true"

volumio# nano /etc/X11/xorg.conf.d/99-calibration.conf

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "ADS7846 Touchscreen"
        Option  "Calibration"   "3936 227 268 3880"
        Option  "SwapAxes"      "1"
        Driver  "evdev"

volumio# nano /boot/userconfig.txt

# Add your custom config.txt options to this file, which will be preserved during updates

hdmi_cvt 480 320 60 6 0 0 0

Install the TouchVolumio Plugin from the control panel

volumio# reboot

Starting the Tests … Display gave the picture perfectly, but the Touch screem nothing.

volumio# stat /dev/fb1

          File: '/dev/fb1'
          Size: 0               Blocks: 0          IO Block: 4096   character special file
        Device: 6h/6d   Inode: 12862       Links: 1     Device type: 1d,1
        Access: (0660/crw-rw----)  Uid: (    0/    root)   Gid: (   44/   video)
        Access: 2021-03-21 20:41:32.159999999 +0000
        Modify: 2021-03-21 20:42:58.382202868 +0000
        Change: 2021-03-21 20:42:58.382202868 +0000
         Birth: -

volumio# dmesg | grep -i ADS7846

        [   12.505517] ads7846 spi0.1: spi0.1 supply vcc not found, using dummy regulator
        [   12.505605] ads7846 spi0.1: Linked as a consumer to regulator.0
        [   12.506441] ads7846 spi0.1: touchscreen, irq 166
        [   12.509511] input: ADS7846 Touchscreen as 

volumio# cat /proc/bus/input/devices

            I: Bus=0000 Vendor=0000 Product=0000 Version=0000
            N: Name="ADS7846 Touchscreen"
            P: Phys=spi0.1/input0
            S: Sysfs=/devices/platform/soc/3f204000.spi/spi_master/spi0/spi0.1/input/input0
            U: Uniq=
            H: Handlers=mouse0 event0
            B: PROP=0
            B: EV=b
            B: KEY=400 0 0 0 0 0 0 0 0 0 0
            B: ABS=1000003

volumio# cat /proc/interrupts | grep ads7846

 `   166:          0          0          0          0  pinctrl-bcm2835  17 Edge      ads7846`

volumio# evtest

        No device specified, trying to scan all of /dev/input/event*
        Available devices:
        /dev/input/event0:      ADS7846 Touchscreen
        Select the device event number [0-0]: 0
        Input driver version is 1.0.1
        Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
        Input device name: "ADS7846 Touchscreen"
        Supported events:
          Event type 0 (EV_SYN)
          Event type 1 (EV_KEY)
            Event code 330 (BTN_TOUCH)
          Event type 3 (EV_ABS)
            Event code 0 (ABS_X)
              Value      0
              Min        0
              Max     4095
            Event code 1 (ABS_Y)
              Value      0
              Min        0
              Max     4095
            Event code 24 (ABS_PRESSURE)
              Value      0
              Min        0
              Max      255
        Testing ... (interrupt to exit)

I did all these procedures but even so the touch screen does not work at all …
Would anyone have any idea where I’m going wrong?
I am very grateful for the attention

Att: Ezaul Zillmer

@gvolt maybe you can help him with it…


In “/boot/userconfig.txt” try removing


so you only use


Don’t know if it matters, but maybe you also have to move dtoverlay=mhs35:rotate=90 after

Good Night @gvolt

Unfortunately it doesn’t work!
to get rid of conscience I took an old screen that had 3.2inch plugged in Raspberry commented the lines

I added

I added
hdmi_cvt=320 240 60 1 0 0 0

I changed 99-calibration.conf para 3.2inch

    Section "InputClass"
            Identifier      "calibration"
            MatchProduct    "ADS7846 Touchscreen"
            Option  "Calibration"   "115 3700 3865 155"
            Option  "SwapAxes"      "1"


hdmi_cvt=320 240 60 1 0 0 0
##hdmi_cvt=480 320 60 6 0 0 0

#### Touch Display rotation setting below: do not alter ####

So I restarted with the old 3.2inch screen that I had kept in a shovel and it worked perfectly so I contacted the supplier of the MHS 3.5inch screen, he will send another one because I have tried everything I can think of! I honestly don’t know what else to do!

Good luck! :smiley: