This is a fork of a fork of the original PiHud. I forked from this branch because it had been recently updated when I started and I like the look of the additional digital gauge types.
Some key differences from the original PiHud:
- Updated to Python 3.7.3 (probably works with later versions too)
- Moved from PyQT to PySide2
- Page switching is done by touching the screen or TAB key; I've tested with the official RPI Display
- Custom data sources are available using the pollerHub class; An arduino boost gauge for example
- Removed ability to add widgets while running; driving is distracting enough.
For installation on Raspbian git clone and run pihud-installer.sh. This simple script will install python3, as many python packages as possible via apt, remaining packages via pip and setup PiHud to run on boot using systemd.
PiHud is configured by modifying a file named pihud.json
in /etc/pihud/pihud.json
- The
sensor
field is the string name for any sensor your car supports. A full list can be found in the python-OBD wiki - The
type
field selects the way data is displayed. Values correspond with any class in the widgets folder. - All color attributes accept CSS color values
- The
demo
key is used to feed a sin() curve into all widgets for testing. - The
debug
key is used to turn python-OBD's debug printing on and off. If enabled, you will see OBD debug information being printed tostderr
. - The
datapoller
field corresponds to a function in pollerHub.py and allows for displaying data from sources other than OBD. - USB devices polled via custom
datapoller
customs can be set to static mappings on the pi via udev rules as shown here. An example that maps my Arduino to /dev/ttyUSB_MEGA can be found here. - My config.txt simply enables one of the extra UART ports on the rpi 4