ContiMech
Robotics & Automation Engineering
← Back to the blog
Embedded Systems · CAN Bus · Hardware Diagnostics

Voltage-Drop-Based Physical Identification for CAN Devices

How supply-line voltage measurements can help automatically map identical CAN slave nodes to physical positions — without replacing UID-based identity.

2026-06-02 Kyiv Technical note 10 min read
Voltage-drop-based CAN device identification cover

Main idea: a CAN device UID tells who the device is. A measured supply-voltage profile can help estimate where the device is located in the harness. The method is useful for discovery and diagnostics, but it must remain auxiliary.

01 · The problem: identical devices on a shared bus

Distributed CAN systems often place multiple identical slave modules on the same bus segment: relay boards, sensor aggregators, valve controllers, or test-bench switching units. Each device may run the same firmware and use the same hardware revision, but the system still needs to know which module occupies which physical slot.

Traditional solutions use mechanical configurability: DIP switches, rotary encoders, address jumpers, or pre-flashed CAN IDs. These approaches work, but they introduce assembly errors, additional BOM items, service mistakes, and weak traceability when a module is replaced.

The engineering question is simple: can physical ordering be inferred automatically from information already available in the system?

02 · Core idea

Every conductor segment has resistance. When current flows through a cable harness, devices located farther from the power source may observe a slightly lower supply voltage.

ΔV ≈ I · R_line

Here R_line accumulates cable resistance, connector resistance, crimp joints, and intermediate contact elements.

Each slave measures its local supply voltage through an on-chip ADC during start-up. The master collects these measurements together with stable unique identifiers, such as MCU UID or serial number, and sorts the node list by the measured voltage profile. The sorted order approximates the physical chain.

Key principle
Device UID defines identity. Voltage drop provides a position hint. The CAN discovery procedure connects both into a usable system map.

03 · System architecture

The method is not a replacement for a CAN protocol. It is an additional layer in the discovery and diagnostics logic.

MCU UID / SerialStable factory-programmed identity. It is never derived from voltage.
ADC MeasurementEach slave reads local VCC or a dedicated sense-line voltage at power-up.
CAN DiscoveryThe master broadcasts a request; slaves respond with UID and measured voltage.
Mapping TableThe master sorts by voltage, assigns logical CAN IDs, and stores the position–UID–ID relation.

The mapping table persists for the session. On each power cycle, the master can re-run discovery and detect topology changes: missing nodes, swapped devices, or abnormal voltage deltas.

04 · Discovery sequence

  1. Master powers the CAN device chain.
  2. Each slave measures local voltage through ADC.
  3. Master sends a CAN broadcast discovery request.
  4. Each slave responds with UID and measured voltage.
  5. Master collects responses within a timeout window.
  6. Master validates UID integrity and voltage plausibility.
  7. Master sorts nodes by measured voltage.
  8. Master assigns logical CAN Node IDs.
  9. Master stores the mapping table and runs diagnostics.
  10. System enters normal operation.
{
  "uid":                "A1B2C3D4",
  "measured_voltage_v":  23.87,
  "hardware_revision":  "RevA",
  "firmware_version":   "1.0.3",
  "temperature_c":       36.5,
  "diagnostic_flags":   []
}

05 · Example mapping table

PositionUIDMeasured VCAN IDStatus
1A1B2C3D423.94 V0x01OK
2B7E912AA23.88 V0x02OK
3C42F90DA23.81 V0x03OK
4D901A7BC23.74 V0x04High contact resistance

Node 4 is flagged because its voltage drop relative to Node 3 exceeds the expected delta. This may indicate a marginal crimp, oxidized contact, or undersized harness segment.

06 · Why not use CAN_H / CAN_L?

Hard constraint
CAN_H and CAN_L must remain dedicated to CAN communication. They should not be reused for analog identification.

Analog measurement on the differential pair can affect signal integrity, bus termination behaviour, dominant/recessive voltage margins, EMC behaviour, and compliance with the CAN physical layer. Even a passive measurement load may become problematic under worst-case combinations of node count, cable length, and baud rate.

Preferred measurement paths are: local VCC measurement via ADC, a dedicated sense line, a controlled weak-current measurement path, or a special low-current identification mode on the supply rail.

07 · Limitations

Voltage drop is not a stable deterministic identity source. It depends on production, environment, topology, and operating conditions.

Load current variation
Cable length tolerance
Wire cross-section
Connector resistance
Crimp quality
Contact aging
Ambient temperature
Simultaneous node activity
Harness branching

Therefore, voltage drop must never be used as the sole source of device identity. The MCU UID or serial number remains the ground truth.

08 · Diagnostic value

Beyond initial mapping, the voltage profile accumulated across multiple power cycles can become a harness health indicator. Deviations from the baseline profile can surface bad contacts, oxidized connectors, damaged wires, missing nodes, wrong device order, or overload conditions.

// Example diagnostic output
Expected Node 4 is missing.
Voltage profile indicates a possible cable or connector issue
between Node 3 and Node 5.
Measured delta Node3→Node5: 24 mV
Expected delta: ≤10 mV per node.

09 · System requirements

  • VD-CAN-001The system shall support voltage-drop-based physical position estimation for CAN-connected slave devices.
  • VD-CAN-002Each slave shall measure local supply voltage or dedicated sense-line voltage during discovery.
  • VD-CAN-003Each slave shall report its unique hardware identifier and measured voltage to the master controller.
  • VD-CAN-004The master shall use received voltage measurements to estimate relative physical order.
  • VD-CAN-005The master shall assign logical CAN Node IDs using UID, discovered node list, and estimated physical order.
  • VD-CAN-006The voltage-drop method shall not be used as the sole source of device identity.
  • VD-CAN-007The system shall preserve CAN_H and CAN_L exclusively for CAN communication.

10 · Algorithm sketch

function discover_can_nodes():
    send_broadcast_discovery_request()
    responses = collect_slave_responses(timeout)

    for each response in responses:
        validate_uid(response.uid)
        validate_voltage_range(response.measured_voltage)

    sorted_nodes = sort_by_measured_voltage_descending(responses)

    for index, node in enumerate(sorted_nodes):
        node.physical_position = index + 1
        node.logical_can_id = assign_can_id(index + 1)

    mapping_table = create_mapping_table(sorted_nodes)
    run_voltage_profile_diagnostics(mapping_table)
    store_mapping_table(mapping_table)

    return mapping_table

The sort direction depends on whether higher or lower measured supply voltage corresponds to physical proximity to the source in the specific harness topology. The convention must be consistent and documented.

Voltage drop can serve as an auxiliary physical position signature for CAN devices. UID is the passport. Voltage is the map.

CAN Bus Embedded Systems Auto-Discovery Hardware Diagnostics Harness Validation Node Mapping ISO 11898