Skip to content
Support

Ignition Timers

Platforms with an ignition MCU control the vehicle power sequence with a set of timers. The timers decide how the PC powers up when you turn the key and how it powers down when you turn it off.

Four platforms have them, and their timer sets are different:

PlatformTimersUnit
In-CarPC CQ20FourAlways seconds
In-CarPC CQ40 seriesFiveSelectable, minutes or seconds
In-CarPC CQ40N seriesFiveSelectable, minutes or seconds
In-CarPC CQ50S seriesFourAlways seconds

Timer values are held by the MCU. On the CQ20, CQ40N and CQ50S they survive restarts and the loss of vehicle power. Persistence across DC power removal is not published for the CQ40 series. On the CQ20 this needs pcu 1.1.1 or later: from that version every timer write is also stored in the MCU. pcu 1.0.0 and 1.1.0 did not store CQ20 timers, so values set with them are lost when DC power is removed. A CQ50S also saves every timer write, and the saved values survive DC power removal. See Timers return to old values after the battery is disconnected. This is different from the CQ40 series digital outputs, which reset every time the machine reboots.

See Supported Platforms for the feature comparison.

The CQ20 has four timers, all counted in seconds.

The MCU watches the vehicle’s ignition signal and steps the PC through a fixed sequence at each change.

Startup. When the ignition comes on, the MCU waits the Anti-Crank Delay before doing anything. This filters out the brief, unstable signals that happen while an engine is cranking. If the ignition signal drops during this wait, the MCU cancels the boot entirely. Once the delay passes and the ignition is still on, the MCU applies DC power, waits the Boot Delay for the supply voltages to stabilise, then presses the power button to start the PC.

Shutdown. When the ignition goes off, the MCU does not shut the PC down straight away. It waits the Shutdown Delay, which gives you time to restart the engine or finish what you are doing. If the ignition comes back on within that window, the shutdown is cancelled. Once the delay expires, the MCU sends the operating system a shutdown command. If the OS has not finished shutting down after the Force Off Timeout, the MCU cuts power anyway, so a hung shutdown cannot sit there draining the vehicle battery.

TimerLabelRangeDefault
ign-on-delayAnti-Crank Delay1-60s6s
sw-on-delayBoot Delay1-60s3s
sw-off-delayShutdown Delay3-7200s3s
pw-off-delayForce Off Timeout10-7200s900s (15m)

How long the MCU waits after detecting the ignition signal before turning on DC power. This filters out the brief, unstable signals that happen when an engine is cranking, so the PC will not try to boot until the engine is properly running.

  • Too low: the PC may try to boot while the engine is still cranking, then lose power mid-startup.
  • Too high: the PC takes longer than necessary to start after the key is turned.

How long the MCU waits after applying DC power before pressing the power button. This gives the power supply time to stabilise, so the motherboard receives clean voltage when it starts up.

  • Too low: the power button may be pressed before voltages have stabilised.
  • Too high: adds unnecessary delay to the boot process.

How long the MCU waits after the ignition signal is removed before telling the operating system to shut down. This gives you time to restart the engine without the PC shutting down, and gives running tasks time to finish. If the ignition comes back during this window, the shutdown is cancelled.

  • Too low: brief ignition interruptions could trigger unwanted shutdowns, and the OS may not have time to save data.
  • Too high: the PC runs for a long time after the vehicle is turned off, draining the battery.

How long the MCU waits after sending the shutdown command before cutting power regardless of whether the OS has finished shutting down. This is a safety net: if the OS freezes during shutdown (a stuck update, a crashed program), the MCU cuts power to prevent the battery draining indefinitely. Under normal operation this timer should never trigger.

  • Too low: the OS may not have finished shutting down, risking data loss or file corruption.
  • Too high: if the OS is frozen, the PC sits draining the battery for too long.

The CQ40 series has the same five timers as the CQ40N series, with the same names, labels and delay unit. The only difference in the table is the UPS Off Delay range, which stops at 10 instead of 20. The delay unit follows the same rules as on the CQ40N, including the caution below it.

TimerLabelRangeUnit
ign-on-delayIgnition On Delay0-255sAlways seconds
ign-off-delayIgnition Off Delay0-255Follows the delay unit
pw-off-delayForce Off Timeout0-255Follows the delay unit
ups-off-delayUPS Off Delay0-10Follows the delay unit
ups-pw-off-delayUPS Force Off Timeout0-255Follows the delay unit

Default values are not listed for the CQ40 series: the defaults pcu shows for these timers are not confirmed on this hardware. The four timers that follow the delay unit are plain counts, as on the CQ40N. The 0-10 limit on the UPS Off Delay is the range the app accepts. The CQ40 timer set follows the CQ40N: that the Ignition On Delay is always counted in seconds has not been confirmed on a CQ40.

Timer writes on the CQ40 series were run on hardware from the command line in October 2026, on Ubuntu 24.04 LTS and 26.04 LTS. The GUI was not run on those units.

Writing the Ignition Off Delay can switch the MCU’s settings source, as described under Changing a timer.

The timers and the digital I/O connect independently. If the ignition half could not connect, pcu keeps working with the digital I/O and pcu-cli ign reports why the timers are unavailable. See Connection troubleshooting.

The CQ40N series has five timers. Three cover the ignition sequence and two cover running on the UPS battery after the vehicle supply is lost. Four of the five are counted in a delay unit you can switch between minutes and seconds; the Ignition On Delay is always in seconds.

Startup. When the ignition comes on, the MCU waits the Ignition On Delay, then starts the system. This is a shorter sequence than the CQ20’s: there is one delay between the key and the system starting, not two.

Shutdown. When the ignition goes off, the MCU waits the Ignition Off Delay, then begins the shutdown. If the shutdown has not completed after the Force Off Timeout, the MCU cuts power anyway.

Power loss and the UPS battery. The two UPS timers are separate from the ignition sequence and only have an effect when the UPS battery is fitted. If the main supply is lost, the UPS Off Delay is how long the system keeps running on the battery before shutting down. Once that shutdown starts, the UPS Force Off Timeout is the backstop that cuts power if the OS does not finish.

TimerLabelRangeDefaultUnit
ign-on-delayIgnition On Delay0-255s7sAlways seconds
ign-off-delayIgnition Off Delay0-2551Follows the delay unit
pw-off-delayForce Off Timeout0-25515Follows the delay unit
ups-off-delayUPS Off Delay0-205Follows the delay unit
ups-pw-off-delayUPS Force Off Timeout0-2552Follows the delay unit

The four timers that follow the delay unit are shown without a unit on purpose. The number stored in the MCU is a plain count, and the delay unit decides what it counts. A value of 5 means five minutes or five seconds depending on the current setting.

ups-off-delay is the only one of the five whose maximum is not 255. Its limit of 20 is enforced by the MCU itself, so a larger value is not accepted even if something tries to write it.

How long the MCU waits after the ignition switches on before the system powers up. This filters out the brief, unstable signals that happen while an engine is cranking. Unlike the other four, this timer is always counted in seconds, whatever the delay unit is set to.

  • Too low: the PC may try to start while the engine is still cranking, then lose power mid-startup.
  • Too high: the PC takes longer than necessary to start after the key is turned.

How long the MCU waits after the ignition switches off before the shutdown starts. This gives you time to restart the engine or finish what you are doing.

  • Too low: brief ignition interruptions could trigger unwanted shutdowns.
  • Too high: the PC runs for a long time after the vehicle is turned off, draining the battery.

How long the MCU waits after the shutdown starts before cutting power anyway. This is a safety net for a shutdown that hangs. Under normal operation it should never trigger.

  • Too low: the OS may not have finished shutting down, risking data loss or file corruption.
  • Too high: if the OS is frozen, the PC sits draining the battery for too long.

How long the system keeps running on the UPS battery after the main supply is lost, before it starts to shut down. This only has an effect when the UPS battery is fitted. The range is 0-20.

  • Too low: a brief supply interruption shuts the machine down when it did not need to.
  • Too high: the UPS battery is drained further before the machine starts shutting down.

How long the MCU waits after a shutdown on UPS battery starts before cutting power anyway. This is the UPS equivalent of the Force Off Timeout, and it only has an effect when the UPS battery is fitted.

  • Too low: the OS may not have finished shutting down before the battery is cut.
  • Too high: the UPS battery is drained further by a shutdown that has already hung.

The CQ40 and CQ40N count four of their five timers in a unit you can change. On the CQ40N the unit is minutes from the factory. You can switch it to seconds, and switch back.

The unit is stored in the MCU alongside the timers, so it also survives a restart and power loss.

The Ignition On Delay is not affected. That timer is always counted in seconds whatever the unit is set to.

Read the current unit with pcu-cli ign unit, and change it with pcu-cli ign unit minutes or pcu-cli ign unit seconds. Both are covered on the Command Reference. In the app, use the “Delay Unit” card on the Ignition page.

The CQ50S series has four timers. Three cover the ignition sequence and one covers running on the UPS battery after the vehicle supply is lost. All four are always counted in seconds, and there is no delay unit setting.

TimerLabelRangeUnit
ign-on-delayIgnition On Delay1-300sAlways seconds
ign-off-delayIgnition Off Delay0-65535sAlways seconds
pw-off-delayForce Off Timeout10-65535sAlways seconds
ups-off-delayUPS Off Delay0-65535sAlways seconds

Default values are not listed for the CQ50S series.

The limit of 65535 seconds is 18 hours 12 minutes 15 seconds. The MCU can hold a longer delay, for example one set with another tool. If a timer holds one, pcu-cli status and the app’s Home dashboard show an extra line named after the timer with On Unit added, such as Ignition Off Delay On Unit. It gives the real value and warns that saving that timer in pcu will shorten it.

Each write is followed by a save command, and the saved value survives DC power removal.

How long the MCU waits after the ignition switches on before the system starts.

The range stops at 300 seconds so that a mistyped value cannot keep the PC from starting for a long time after the ignition comes on.

  • Too low: the PC may try to start while the engine is still cranking, then lose power mid-startup.
  • Too high: the PC takes longer than necessary to start after the key is turned.

How long the MCU waits after the ignition switches off before the shutdown starts.

  • Too low: a brief stop or a restart of the engine shuts the PC down and makes it boot again.
  • Too high: the PC keeps running long after the vehicle is switched off, draining the battery.

How long the MCU waits after the shutdown starts before cutting power anyway. As on the CQ20 and the CQ40N, it counts from the start of the shutdown. This is a safety net for a shutdown that hangs. Under normal operation it should never trigger.

  • Too low: the OS may not have finished shutting down, risking data loss or file corruption.
  • Too high: if the OS is frozen, the PC sits draining the battery for too long.

How long the system keeps running on the UPS battery after the main supply is lost, before the shutdown starts. This only has an effect when the optional UPS battery is fitted.

  • Too low: a brief supply interruption shuts the machine down when it did not need to.
  • Too high: the UPS battery is drained further before the machine starts shutting down.

You can change timers from the GUI or the CLI. Either way, the values you type are in the connected platform’s own unit, and pcu reads the value back after writing to confirm it took. On a CQ20, the write includes a store: pcu tells the MCU to store the value and waits for the MCU to confirm, which takes about a second, before it reads the value back. Each store saves all the MCU settings as they stand at that moment.

In the GUI, use the Ignition page. Each timer has a description, its default and range, quick-select presets, and a custom value box. Saving asks you to confirm and then reads the value back to check the write took.

From the CLI, pcu-cli ign shows the current values. On a CQ20:

Terminal window
$ pcu-cli ign
pcu v1.2.1 - In-CarPC CQ20 Ignition
----------------------------------------
MCU Firmware : 12
Ignition Mode : On
Anti-Crank Delay : 6s IGN on to DC power
Boot Delay : 3s DC on to power button
Shutdown Delay : 3s IGN off to ACPI shutdown
Force Off Timeout : 900s (15m) Hard power cut if OS hangs

On a CQ40 series machine the same command lists the five timers and adds a Delay Unit line showing whether they are being counted in minutes or seconds. The values shown are whatever is set at the moment, not defaults:

Terminal window
$ pcu-cli ign
pcu v1.2.1 - In-CarPC CQ40 series Ignition
----------------------------------------
MCU Firmware : CQ40P06
Delay Unit : minutes
Ignition On Delay : 0s Wait after the ignition switches on before the system powers up
Ignition Off Delay : 0m Wait after the ignition switches off before the shutdown starts
Force Off Timeout : 15m Wait after the shutdown starts before power is cut anyway
UPS Off Delay : 0m Run time on the UPS battery after the supply is lost (needs the UPS battery fitted)
UPS Force Off Timeout: 2m Wait after a shutdown on UPS battery starts before power is cut anyway

A CQ40N lists the same five timers. On a CQ50S it lists its four timers, all in seconds:

Terminal window
$ pcu-cli ign
pcu v1.2.1 - In-CarPC CQ50S series Ignition
----------------------------------------
MCU Firmware : V0.5.0-0.4
Ignition On Delay : 3s Wait after the ignition switches on before the system starts
Ignition Off Delay : 3s Wait after the ignition switches off before the shutdown starts
Force Off Timeout : 900s (15m) Time after the shutdown starts before the MCU cuts power anyway
UPS Off Delay : 60s (1m) Time on the UPS battery after the supply is lost before the shutdown starts

Set a timer with pcu-cli ign set <timer> <value>. It asks you to confirm, writes the value and reads it back. On a CQ20 the write also stores the value in the MCU, before the readback; a CQ40N MCU saves by itself. Either way, a good result reads “verified and stored”:

Terminal window
$ pcu-cli ign set sw-on-delay 3
Write Boot Delay = 3s? [y/N] y
Boot Delay: 3s - verified and stored

On a CQ40N the result reads Ignition Off Delay: 2m - verified and stored, with the value in the unit the timers are currently counted in. If a CQ20 or CQ50S does not confirm the store, pcu warns and exits with code 1. The CQ20 warning says the MCU did not confirm the store within 5 seconds; the CQ50S warning says the MCU did not accept the save command. See A timer was set but not stored.

A value outside the timer’s range is rejected before anything is written, and the error shows the default:

Terminal window
$ pcu-cli ign set sw-on-delay 99
ERROR: Boot Delay must be 1-60s. Got: 99
Default: 3s

For the full command surface, exit codes, and scripting notes, see the Command Reference.

The ignition mode shows whether the MCU is in ignition mode, where it controls the PC’s power from the vehicle’s ignition signal, or PC mode, where the PC is turned on and off manually. It is a CQ20 feature. pcu shows it, but only for reading.

The CQ40, CQ40N and CQ50S series have no ignition mode setting at all, so nothing is shown for them there.