Page 2 of 3

Re: having loading CarPiHat software issues

Posted: Sat Jan 24, 2026 6:02 pm
by hudiy
Hiphouser wrote: Sat Jan 24, 2026 10:59 am I'm testing that...

not working for me
Could you please provide some more details? We do not have a CarPi Hat unit on hand, so we are unable to test the script directly on the device. We are relying solely on the CarPi Hat GitHub repository you mentioned. We tested the script using raw GPIO, and the shutdown is triggered after 10 seconds when GPIO12 is pulled low (shorted to GND). Also GPIO25 remains HIGH when Raspberry Pi is running.

Re: having loading CarPiHat software issues

Posted: Mon Jan 26, 2026 12:55 pm
by gwynethh
Another user here. I will try the software as soon I finish the hardware redo. Thanx Again.

Re: having loading CarPiHat software issues

Posted: Mon Jan 26, 2026 11:06 pm
by Hiphouser
When I plug 12v sw, pi start. No worry for that.
When i turn off +12v. The Pi won't shutdown.
But if I close trixie over software. The pi is totally shut off.

Re: having loading CarPiHat software issues

Posted: Mon Jan 26, 2026 11:35 pm
by hudiy
We could not find any information regarding built-in pull-up or pull-down resistors on the CarPiHat. However, you can try enabling the internal pull-down resistor to test the behavior.

To enable the internal pull-down on GPIO12, replace the following line in the script (sudo nano /usr/local/bin/pi-shutdown.py):

Code: Select all

ignition = DigitalInputDevice(IGN_PIN, pull_up=None, active_state=True)
to:

Code: Select all

ignition = DigitalInputDevice(IGN_PIN, pull_up=False, active_state=True)
Restart is required after changing the script.

https://gpiozero.readthedocs.io/en/stab ... nputDevice
pull_up (bool or None) – If True, the pin will be pulled high with an internal resistor. If False (the default), the pin will be pulled low. If None, the pin will be floating.

Re: having loading CarPiHat software issues

Posted: Tue Jan 27, 2026 9:21 am
by Hiphouser
thanx for your help but, I have the the same result than before...

Re: having loading CarPiHat software issues

Posted: Tue Jan 27, 2026 9:24 am
by hudiy
What is the output of pinctrl command when "IGN" is ON and OFF?

Edit:
Looks like in gpiozero, active_state cannot be set with pull_up. Try to use this line:

Code: Select all

ignition = DigitalInputDevice(IGN_PIN, pull_up=False)

Re: having loading CarPiHat software issues

Posted: Wed Jan 28, 2026 5:45 am
by ltlnmo
This is what I was using before using Korni's canbus stuff. now its a bit different

But this should work for you. If its not then you might have the faulty CarpiHat Pro5's that went out.

Version 1 (/usr/local/bin)

Code: Select all

#!/usr/bin/env python3
"""
CarPi Power Management (IGN monitoring only)
- Uses hardware for actual power shutdown
- Logs major state transitions for diagnostics
"""

import lgpio, time, os, signal, sys
import logging

# --- Logging Setup ---
logging.basicConfig(
    filename="/var/log/carpi.log",
    level=logging.INFO,
    format="%(asctime)s [%(levelname)s] %(message)s",
)
logging.info("CarPi power manager started")

# --- Configuration ---
IGN_PIN = 12       # BCM12 - ignition sense
IGN_LOW_TIME = 10  # seconds ignition must stay low before shutdown
POLL_INTERVAL = 0.1

# --- Setup GPIO ---
h = lgpio.gpiochip_open(0)
lgpio.gpio_claim_input(h, IGN_PIN)

shutdown_initiated = False
timer = 0.0

# --- Cleanup handler ---
def exit_handler(*_):
    logging.info("CarPi power manager exiting")
    try:
        lgpio.gpiochip_close(h)
    except:
        pass
    sys.exit(0)

signal.signal(signal.SIGINT, exit_handler)
signal.signal(signal.SIGTERM, exit_handler)

# --- Main loop ---
try:
    while True:
        ign = lgpio.gpio_read(h, IGN_PIN)

        if ign == 1:
            # Ignition ON
            if timer > 0:
                logging.info("IGN high → reset shutdown timer")
            timer = 0.0

        else:
            # Ignition OFF
            if timer == 0:
                logging.info("IGN dropped → countdown started")
            timer += POLL_INTERVAL

            if timer >= IGN_LOW_TIME and not shutdown_initiated:
                shutdown_initiated = True
                logging.info(
                    f"Shutdown triggered after {timer:.1f}s of IGN low (hardware will cut power)"
                )
                os.system("sudo shutdown -h now")
                break

        time.sleep(POLL_INTERVAL)

except KeyboardInterrupt:
    exit_handler()

finally:
    exit_handler()

Service File (/etc/systemd/system)

Code: Select all

[Unit]
Description=CarPi Power Management for Raspberry Pi
After=multi-user.target
Before=shutdown.target halt.target reboot.target

[Service]
Type=simple
ExecStart=/usr/bin/python3 /usr/local/bin/carpi.py

# Only restart if crash — NOT when intentional CAN sleep or shutdown delay
Restart=on-failure
RestartSec=3

User=root
Environment=PYTHONUNBUFFERED=1
StandardOutput=journal
StandardError=journal

# Allow script to cleanly release GPIO latch before shutdown
ExecStop=/usr/bin/pkill -f carpi.py
KillSignal=SIGINT
TimeoutStopSec=10

[Install]
WantedBy=multi-user.target
To enable and start the service so the script runs every boot

Code: Select all

sudo system enable carpi.service
sudo system start carpi.service
Add this in config.txt

Code: Select all

# CANBUS
dtoverlay=mcp2515-can0,oscillator=8000000,interrupt=23,spimaxfrequency=1000000

# CarPi
dtoverlay=gpio-poweroff,gpiopin=25,active_low
#dtoverlay=hifiberry-dacplus-std
Don't forget to

Re: having loading CarPiHat software issues

Posted: Wed Jan 28, 2026 3:28 pm
by Hiphouser
Can you tell me more about your new software system to automatic shutdown? Is it present in the korni's github page?

Re: having loading CarPiHat software issues

Posted: Wed Jan 28, 2026 4:03 pm
by gwynethh
Hiphouser wrote: Wed Jan 28, 2026 3:28 pm Can you tell me more about your new software system to automatic shutdown? Is it present in the korni's github page?
See https://github.com/SamT-J/CarPiHat/wiki ... tart-Guide

Re: having loading CarPiHat software issues

Posted: Wed Jan 28, 2026 5:09 pm
by Hiphouser
Thanx for your link.
I'm using CarPiHat Pro 5, same system like you,
But korni92 have developped a software for Audi RNS-E.
Software listen Canbus traffic to automatic shutdown the Pi.
The solution is nice too, because when you unlock your car, pi booting, and i'll already ready when you start the car. Before ingnition.