-
Download & install the Raspberry Pi Imager
-
Choose Device: Raspberry Pi 3
-
Choose OS: Raspberry Pi OS (other) > Raspberry Pi OS Lite (Legacy, 64-bit)
-
Click Next then Edit Settings and set Username/Password or SSH key
-
If connecting via Wi-Fi enter your routers details otherwise connect an Ethernet cable
-
Once the Raspberry Pi Imager has finished don't remove the SD card just yet
-
Check if a new drive called
boot
is available on your computer (this is the Raspberry Pi's boot drive) -
On the drive open up
config.txt
and changedisplay_auto_detect=1
to:dtoverlay=fbtft dtparam=spi0-0,ssd1289 dtparam=speed=48000000,regwidth=0 dtparam=reset_pin=22,dc_pin=27,led_pin=18 dtparam=rotate=270,bgr,fps=50 dtoverlay=ads7846 dtparam=penirq=25,xohms=80,swapxy=1
-
Open
cmdline.txt
at the end of this 1 line file add a space followed by:fbcon=map:10
-
Power it up & wait a few minutes for it to boot up
-
You should hopefully see that the display is now working 🎉
If you only need access to the console then you can stop here.
Tingbot OS could now be installed, but since Tingbot OS is no longer maintained/updated, a Chromium kiosk window can be used instead (to display a dashboard or app like Home Assistant).
sudo apt update && \
sudo apt full-upgrade -y && \
sudo apt autoremove -y
sudo apt install -y rpi-chromium-mods unclutter lxde
sudo connmanctl enable wifi && \
sudo connmanctl enable bluetooth
sudo nano /usr/share/X11/xorg.conf.d/99-fbdev.conf
Section "Device"
Identifier "myfb"
Driver "fbdev"
Option "fbdev" "/dev/fb0"
EndSection
X11 Tingbot touchscreen display calibration file (generated via xcalibrate)
sudo nano /usr/share/X11/xorg.conf.d/99-libinput-ts-calib.conf
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "CalibrationMatrix" "-1.139887904380033 0.0 1.103406570595112 0.0 -1.115188775130766 1.0674508540122458 0.0 0.0 1.0"
EndSection
sudo reboot
nano ~/kiosk.html
Paste in the contents of kiosk.html
mkdir -p ~/.config/lxsession/LXDE
nano ~/.config/lxsession/LXDE/autostart
@xset s off
@xset -dpms
@xset s noblank
@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium-browser Default/Preferences
@chromium-browser --noerrdialogs --kiosk file:///home/pi/kiosk.html --disable-translate --force-dark-mode
sudo raspi-config
Select
- System options
- S5 Boot / Auto Login
- B4 Desktop Autologin
- Reboot Yes
sudo nano /boot/config.txt
# https://github.com/torvalds/linux/blob/v4.12/include/uapi/linux/input-event-codes.h#L64
# left button press (brightness toggle)
# #sudo dtoverlay gpio-key gpio=17 keycode=67 label="KEY_F9" active_low=0
dtoverlay=gpio-key,gpio=17,keycode=67,label="KEY_F9",active_low=0
# midleft button press (back)
# #sudo dtoverlay gpio-key gpio=23 keycode=158 label="KEY_BACK" active_low=0
dtoverlay=gpio-key,gpio=23,keycode=158,label="KEY_BACK",active_low=0
## midright button press (page up)
## #sudo dtoverlay gpio-key gpio=24 keycode=104 label="KEY_PAGEUP" active_low=0
dtoverlay=gpio-key,gpio=24,keycode=104,label="KEY_PAGEUP",active_low=0
# right button press (page down)
# #sudo dtoverlay gpio-key gpio=14 keycode=109 label="KEY_PAGEDOWN" active_low=0
dtoverlay=gpio-key,gpio=14,keycode=109,label="KEY_PAGEDOWN",active_low=0
nano ~/.config/openbox/lxde-rc.xml
Add inside <keyboard>
block
<keybind key="F9">
<action name="Execute">
<command>bash ~/brightness-toggle.sh</command>
</action>
</keybind>
sudo apt install -y git
git clone https://github.com/WiringPi/WiringPi.git
cd WiringPi
sudo ./build
Copy brightness.py
and brightness-toggle.sh
to your home folder (~
)
chmod +x brightness-toggle.sh
sudo nano /etc/rc.local
add before exit 0
/home/pi/brightness-toggle.sh restore-brightness
- @vitorio
- Using the Tingbot screen in recent Raspberry Pi OS versions
- Built-in FBTFT Raspberry Pi overlays
- Can Tingbot be used with Emulation Station?
- Can Tingbot be used with Raspbian?
- Framebuffer use
- Emulation Station FAQ no works
- Raspberry Pi 2/3: Chromium in Kiosk mode
- Screen rotation/inverted
- How to disable "Wi-Fi is currently blocked by rfkill." message?
- LXDE/Openbox, Change Keyboard Shortcuts
- Tingbot GPIO button mapping
- Linux keys and button mapping
- Configure buttons with an overlay
- Use hardware buttons on Raspberry Pi with GPIO
You may no longer need to roll the kernel back to get the Tingbot display working: tingbot/tingbot-os#33