download and install the latest octoPi as in install_raspbian_on_f2fs_root

get the display up and running:

sudo apt update 
sudo apt upgrade
sudo apt install git
git clone https://github.com/waveshare/LCD-show.git
cd LCD-show/
sed -i 's/ext4/f2fs/' cmdline.txt
chmod +x LCD35-show

this will reboot your raspberry and you should then see some output on your display

add screen calibration

sudo apt install xinput-calibrator

to install OctoDash, use the one-liner that they provide on their github page.. at the time of writing this, the command was:

bash <(wget -qO- https://github.com/UnchartedBull/OctoDash/raw/master/scripts/install.sh)

that'll do everything for you.

to make sure octodash can start upon bootig your raspberry, you need to enable autologin on the console. to do that, start the raspi-config utility

sudo raspi-config 

in there go to system options –> S5 Boot / Auto Login and choose the B2 Console Autologin option

go back to the main menu. don't exit yet if you want to add VNC as well.

in order to remote-control your octodash screen, for example to set up some things or to debug something from remote, you can add VNC.. mind you, this isn't needed for octoprint to work or to be setup, but it may help if you need to debug something and you can't or don't want to connect a keyboard to the raspberry. I would recommend to disable VNC again as soon as you are done debugging whatever you had to debug. It is always a good idea to minimize remote-access to the necessary.

to install VNC, if you haven't already started the raspi-config utility, start it now:

sudo raspi-config 

now go to 3 Interface Options –> VNC to install and enable the vnc server.

now that this is done, you can exit raspi-config

if you are using another vnc viewer than realvnc, you might need to disable encryption as your viewer might not support that. do this only on your LAN, otherwise use a ssh tunnel or similar to protect your VNC session.

to disable encryption create a new file in /etc/vnc/config.d/common.custom

cat <<EOF | sudo tee /etc/vnc/config.d/common.custom

now set the password you want to use for authenticating your session:

sudo vncpasswd -file /etc/vnc/config.d/common.custom

finally, restart the vnc service:

sudo systemctl restart vncserver-x11-serviced.service

you should now be able to login using your password.

before we forget it, let's go ahead and disable the vncserver service by default, so it won't be autostarted upon booting your raspberry but only on demand:

sudo systemctl disable vncserver-x11-serviced.service

if you want to use your vnc server in the future, start it manually via an ssh session:

sudo systemctl start vncserver-x11-serviced.service

and stop it once you're done

sudo systemctl stop vncserver-x11-serviced.service

before we can setup octodash, we need to calibrate our touchscreen.

first, make sure there is a /etc/X11/xorg.conf.d directory in place, simply run

sudo mkdir -p /etc/X11/xorg.conf.d

which will create it for you if it doesn't exist yet

in an ssh session, start the xinput calibrator:

export DISPLAY=:0.0
sudo xinput_calibrator --output-filename /etc/X11/xorg.conf.d/99-calibration.conf

for some reason, on my WaveShare 3.5 in display, the touch input was rotated 90° clockwise of what it should have been.. to solve this, i had to add the following line to the 99-calibration.conf file.

Option "TransformationMatrix" "0 -1 1 1 0 0 0 0 1"

for more information, see the waveshare driver github page

sidenote: to get xinput you have to install it first using

sudo apt install xinput

also having xeyes really helps to debug touchscreen calibration:

sudo apt install x11-apps
export DISPLAY=:0.0 

if they don't stare at your finger, your calibration is off :)

now reboot your raspberry and you should be able to go through the octodash setup using your touchscreen

  • octodash.txt
  • Last modified: 23.12.2020 08:28
  • by Pascal Suter