Documentation

Troubleshooting

Common issues and debugging tips for your MudPi setup.

Debugging Tools

MudPi includes built-in debugging utilities. Check the debug folder in your MudPi installation for diagnostic scripts and tools that help identify hardware and configuration issues.

Running Debug Scripts

Navigate to the debug directory and run the appropriate script:

Shell
cd /home/pi/mudpi/debug
python3 test_sensor.py

Each script targets a specific component or interface. Check the script's output for error messages and diagnostic information.

Known Bugs

Warning

The DHT11 sensor connected via Arduino (Nanpy) can experience timeout errors during reads. This is caused by timing sensitivity in the DHT protocol over serial communication. Use shorter USB cables or add a retry mechanism.

OneWire Probes — Bad Readings

When multiple sensors share a OneWire bus, some probes may return incorrect readings if other sensor types are also connected to the same GPIO pin. Dedicate a separate pin for OneWire devices when possible.

Rain Sensor Corrosion

Resistive rain sensors corrode over time due to electrolysis when continuously powered. To extend their lifespan, power them only during reads using a transistor or relay, or switch to a capacitive rain sensor.

Float Sensor — Flux Leak Voltage

Some float sensors may leak a small voltage through residual flux on the PCB, causing false readings. Clean the sensor contacts thoroughly or add a pull-down resistor to stabilize the signal.

Redis — False/String Bug

Redis stores all values as strings. A Python boolean False is stored as the string "False", which evaluates as truthy in Python. When reading boolean state from Redis, compare against the string value rather than using direct boolean evaluation:

Python
value = redis_client.get('my_key')
is_off = value == 'False' or value is None

Getting Help

If you encounter an issue not listed here, consider contributing a fix or opening an issue on the MudPi GitHub repository. Community contributions help make MudPi better for everyone.