Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

  1. ModalAI Support Forum
  2. Ask your questions right here!
  3. VOXL2 + VOXL ESC FPV 4-in-1, voxl-suite 1.6.3 — battery_status never published

VOXL2 + VOXL ESC FPV 4-in-1, voxl-suite 1.6.3 — battery_status never published

Scheduled Pinned Locked Moved Ask your questions right here!
5 Posts 2 Posters 36 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • nickanickN Offline
    nickanickN Offline
    nickanick
    Contributor
    wrote last edited by
    #1

    esc_status is healthy: 4 ESCs online, esc_voltage 24.055 (6S pack). BAT1_SOURCE = ESCs, VOXL_ESC_PUB_BST enabled, POWER_MANAGER=none in /etc/modalai/voxl-px4.conf per its own comment ("use none for modalai mini-esc since the esc driver handles PM"). px4-listener battery_status 5 reports "never published" after a voxl-px4 restart and a full reboot. No esc_battery module in this build. QGC shows no battery, and the preflight reports -100%.

    What publishes battery_status from ESC telemetry on 1.6.3? Is the ESC path supported on the FPV 4-in-1 (M0138), or only the mini ESC?

    1 Reply Last reply
    0
    • Alex KushleyevA Offline
      Alex KushleyevA Offline
      Alex Kushleyev
      ModalAI Team
      wrote last edited by Alex Kushleyev
      #2

      @nickanick ,

      Here is some background..

      The Mini ESC (M0129) and the FPV ESC (M0138) do not have individual channel current sensing (unlike M0134 ESC), so the individual ESC channel current is reported as 0, while each ESC channel still reports the measured voltage in the standard telemetry packet sent to the FC. For these two ESCs (M0129 and M0138), one of the ESC channels measures the total board current that flows through the ESC and sends out a second telemetry message with just voltage and total current. For M0129, the ESC channel 3 does this, and for M0138, channel 2 (0-indexed).

      The telemetry messages are sent from the ESC to the FC (VOXL2) via UART and is parsed in the PX4 in voxl-esc driver. In the voxl-esc driver, if the battery status telemetry message is received from the ESC and VOXL_ESC_PUB_BST is enabled, then the driver will publish the battery_status topic with the battery voltage and current from the ESC telemetry message.

      In order to do a quick test to make sure the ESC is sending out the battery status, you can do the following:

      • stop px4 : systemctl stop voxl-px4
      • test the ESC using voxl-esc tools (note that these tools are not part of px4):
      cd /usr/share/modalai/voxl-esc-tools
      ./voxl-esc-spin.py --id 255 --power 0
      

      Note that you will be running a spin test command (take off props for safety!), but the command is 0, so the motors will not spin, but you will see the telemetry from the ESC being printed in the terminal on voxl2. You will seeBOARD_VOLTAGE and BOARD_CURRENT being reported and that is coming from the extra telemetry message from the ESC. If you see this current printed, then the ESC is sending the correct information.

      The argument --id 255 will tell the test script to communicate with all 4 ESC channels and the commands will be sent and telemetry requested from all 4 ESC channels (including the channel that sends back the battery status telemetry message).

      Can you please check this?

      voxl2:/usr/share/modalai/voxl-esc-tools$ ./voxl-esc-spin.py --id 255 --power 0
      Detected Python version : 3.6.9 (default, Mar 10 2023, 16:46:00) 
      [GCC 8.4.0]
      Found voxl-esc tools bin version: 1.9
      VOXL Platform: M0054
      Detected RB5 Flight, VOXL2 M0054 or M0104!
      INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000
      Sending library name request: libslpi_qrb5165_io.so
      Sending initialization request
      INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 2000000
      	ID         : 0
      	Board      : version 40: ModalAi 4-in-1 ESC (M0129-3)
      	UID        : 0x2039333557555313000F0036
      	Firmware   : version   39, hash 9c6233d6
      	Bootloader : version  184, hash 10bf24c8
      
      	ID         : 1
      	Board      : version 40: ModalAi 4-in-1 ESC (M0129-3)
      	UID        : 0x2039333557555313000F0032
      	Firmware   : version   39, hash 9c6233d6
      	Bootloader : version  184, hash 10bf24c8
      
      	ID         : 2
      	Board      : version 40: ModalAi 4-in-1 ESC (M0129-3)
      	UID        : 0x2039333557555313000F0034
      	Firmware   : version   39, hash 9c6233d6
      	Bootloader : version  184, hash 10bf24c8
      
      	ID         : 3
      	Board      : version 40: ModalAi 4-in-1 ESC (M0129-3)
      	UID        : 0x2039333557555313000F0038
      	Firmware   : version   39, hash 9c6233d6
      	Bootloader : version  184, hash 10bf24c8
      
      ---------------------
      
      WARNING: 
      This test requires motors to spin at high speeds with
      propellers attached. Please ensure that appropriate
      protective equipment is being worn at all times and
      that the motor and propeller are adequately isolated
      from all persons.
      
      For best results, please perform this test at the
      nominal voltage for the battery used.
      
      Type "Yes" to continue: yes
      [0.015] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
      [0.015] (1) RPM: 0, PWR: 0, VOLTAGE: 16.049V, TEMPERATURE: 38.24C, CURRENT: 0.000A
      [0.015] (2) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
      [0.015] (3) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
      [0.036] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
      [0.036] (1) RPM: 0, PWR: 0, VOLTAGE: 16.049V, TEMPERATURE: 38.24C, CURRENT: 0.000A
      [0.036] (2) RPM: 0, PWR: 0, VOLTAGE: 16.059V, TEMPERATURE: 38.85C, CURRENT: 0.000A
      [0.036] (3) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
      [0.059] (0) RPM: 0, PWR: 0, VOLTAGE: 16.039V, TEMPERATURE: 38.22C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.047V, BOARD_CURRENT: 0.240A
      [0.059] (1) RPM: 0, PWR: 0, VOLTAGE: 16.049V, TEMPERATURE: 38.24C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.047V, BOARD_CURRENT: 0.240A
      [0.059] (2) RPM: 0, PWR: 0, VOLTAGE: 16.059V, TEMPERATURE: 38.85C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.047V, BOARD_CURRENT: 0.240A
      [0.059] (3) RPM: 0, PWR: 0, VOLTAGE: 16.047V, TEMPERATURE: 38.86C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.047V, BOARD_CURRENT: 0.240A
      [0.075] (0) RPM: 0, PWR: 0, VOLTAGE: 16.039V, TEMPERATURE: 38.22C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.047V, BOARD_CURRENT: 0.240A
      [0.075] (1) RPM: 0, PWR: 0, VOLTAGE: 16.049V, TEMPERATURE: 38.23C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.047V, BOARD_CURRENT: 0.240A
      [0.075] (2) RPM: 0, PWR: 0, VOLTAGE: 16.065V, TEMPERATURE: 38.89C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.047V, BOARD_CURRENT: 0.240A
      [0.075] (3) RPM: 0, PWR: 0, VOLTAGE: 16.047V, TEMPERATURE: 38.86C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.047V, BOARD_CURRENT: 0.240A
      [0.101] (0) RPM: 0, PWR: 0, VOLTAGE: 16.044V, TEMPERATURE: 38.19C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.041V, BOARD_CURRENT: 0.232A
      [0.101] (1) RPM: 0, PWR: 0, VOLTAGE: 16.049V, TEMPERATURE: 38.23C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.041V, BOARD_CURRENT: 0.232A
      [0.101] (2) RPM: 0, PWR: 0, VOLTAGE: 16.065V, TEMPERATURE: 38.89C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.041V, BOARD_CURRENT: 0.232A
      [0.101] (3) RPM: 0, PWR: 0, VOLTAGE: 16.041V, TEMPERATURE: 38.91C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.041V, BOARD_CURRENT: 0.232A
      [0.119] (0) RPM: 0, PWR: 0, VOLTAGE: 16.044V, TEMPERATURE: 38.19C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.041V, BOARD_CURRENT: 0.232A
      [0.119] (1) RPM: 0, PWR: 0, VOLTAGE: 16.054V, TEMPERATURE: 38.23C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.041V, BOARD_CURRENT: 0.232A
      [0.119] (2) RPM: 0, PWR: 0, VOLTAGE: 16.060V, TEMPERATURE: 38.88C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.041V, BOARD_CURRENT: 0.232A
      [0.119] (3) RPM: 0, PWR: 0, VOLTAGE: 16.041V, TEMPERATURE: 38.91C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.041V, BOARD_CURRENT: 0.232A
      [0.137] (0) RPM: 0, PWR: 0, VOLTAGE: 16.044V, TEMPERATURE: 38.25C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.043V, BOARD_CURRENT: 0.248A
      [0.137] (1) RPM: 0, PWR: 0, VOLTAGE: 16.049V, TEMPERATURE: 38.22C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.043V, BOARD_CURRENT: 0.248A
      [0.137] (2) RPM: 0, PWR: 0, VOLTAGE: 16.060V, TEMPERATURE: 38.88C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.043V, BOARD_CURRENT: 0.248A
      [0.137] (3) RPM: 0, PWR: 0, VOLTAGE: 16.043V, TEMPERATURE: 38.90C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.043V, BOARD_CURRENT: 0.248A
      [0.156] (0) RPM: 0, PWR: 0, VOLTAGE: 16.044V, TEMPERATURE: 38.25C, CURRENT: 0.000A, BOARD_VOLTAGE: 16.043V, BOARD_CURRENT: 0.248A
      
      1 Reply Last reply
      0
      • nickanickN Offline
        nickanickN Offline
        nickanick
        Contributor
        wrote last edited by nickanick
        #3

        Attached is the output for './voxl-esc-spin.py --id 255 --power 0'
        Screenshot 2026-07-28 113131.png

        1 Reply Last reply
        0
        • nickanickN Offline
          nickanickN Offline
          nickanick
          Contributor
          wrote last edited by
          #4

          voxl2-test-fixture (TF-M0054):/usr/share/modalai/voxl-esc-tools$ ./voxl-esc-spin.py --id 2 --power 0
          Detected Python version : 3.6.9 (default, May 22 2025, 20:54:22)
          [GCC 8.4.0]
          Found voxl-esc tools bin version: 1.9
          VOXL Platform: M0054
          Detected RB5 Flight, VOXL2 M0054 or M0104!
          INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000
          Sending library name request: libslpi_qrb5165_io.so
          Sending initialization request
          INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 2000000
          ID : 0
          Board : version 42: ModalAi 4-in-1 ESC (M0138-1)
          UID : 0x203837304848570400480052
          Firmware : version 39, hash a58f5f6f
          Bootloader : version 187, hash aad89d63

          ID         : 1
          Board      : version 42: ModalAi 4-in-1 ESC (M0138-1)
          UID        : 0x203837304848570400490045
          Firmware   : version   39, hash a58f5f6f
          Bootloader : version  187, hash aad89d63
          
          ID         : 2
          Board      : version 42: ModalAi 4-in-1 ESC (M0138-1)
          UID        : 0x20383730484857040029004D
          Firmware   : version   39, hash a58f5f6f
          Bootloader : version  187, hash aad89d63
          
          ID         : 3
          Board      : version 42: ModalAi 4-in-1 ESC (M0138-1)
          UID        : 0x20383730484857040029004E
          Firmware   : version   39, hash a58f5f6f
          Bootloader : version  187, hash aad89d63
          

          WARNING:
          This test requires motors to spin at high speeds with
          propellers attached. Please ensure that appropriate
          protective equipment is being worn at all times and
          that the motor and propeller are adequately isolated
          from all persons.

          For best results, please perform this test at the
          nominal voltage for the battery used.

          Type "Yes" to continue: yes
          [0.017] (2) RPM: 0, PWR: 0, VOLTAGE: 23.842V, TEMPERATURE: 37.47C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.842V, BOARD_CURRENT: -0.096A
          [0.035] (2) RPM: 0, PWR: 0, VOLTAGE: 23.839V, TEMPERATURE: 37.47C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.839V, BOARD_CURRENT: -0.072A
          [0.054] (2) RPM: 0, PWR: 0, VOLTAGE: 23.843V, TEMPERATURE: 37.48C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.843V, BOARD_CURRENT: -0.080A
          [0.076] (2) RPM: 0, PWR: 0, VOLTAGE: 23.839V, TEMPERATURE: 37.49C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.839V, BOARD_CURRENT: -0.040A
          [0.092] (2) RPM: 0, PWR: 0, VOLTAGE: 23.844V, TEMPERATURE: 37.47C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.844V, BOARD_CURRENT: -0.096A
          [0.121] (2) RPM: 0, PWR: 0, VOLTAGE: 23.843V, TEMPERATURE: 37.46C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.843V, BOARD_CURRENT: -0.064A
          [0.133] (2) RPM: 0, PWR: 0, VOLTAGE: 23.843V, TEMPERATURE: 37.44C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.843V, BOARD_CURRENT: -0.008A
          [0.153] (2) RPM: 0, PWR: 0, VOLTAGE: 23.840V, TEMPERATURE: 37.46C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.840V, BOARD_CURRENT: -0.048A
          [0.178] (2) RPM: 0, PWR: 0, VOLTAGE: 23.841V, TEMPERATURE: 37.45C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.841V, BOARD_CURRENT: -0.064A

          1 Reply Last reply
          0
          • nickanickN Offline
            nickanickN Offline
            nickanick
            Contributor
            wrote last edited by nickanick
            #5

            @alex-kushleyev

            Result: --id 255 isn't supported by my voxl-esc-tools (bin version 1.9) — it scans, finds IDs 0–3, then exits with ERROR: Specified ESC ID not found. Running ./voxl-esc-spin.py --id 2 --power 0 works and I do see BOARD_VOLTAGE and BOARD_CURRENT printed. So the ESC is emitting the battery telemetry message correctly.

            But PX4 still never publishes battery_status:

            VOXL2 M0054, voxl-suite 1.6.3, 4× M0138-1 ESCs on firmware 39, tools 1.9
            BAT1_SOURCE = ESCs, VOXL_ESC_PUB_BST enabled in QGC
            POWER_MANAGER=none in /etc/modalai/voxl-px4.conf (was voxlpm; changed per the comment "use none for modalai mini-esc since the esc driver handles PM" — I have no voxlpm module, the ESC is my only sensing)
            px4-listener battery_status 5 → "never published", after systemctl restart voxl-px4 and a full reboot
            esc_status is healthy: 4 ESCs online, esc_voltage 24.055 (6S)

            Questions:

            • How do I verify VOXL_ESC_PUB_BST on the flight side? px4-qshell param show VOXL_ESC_PUB_BST doesn't return anything readable in my terminal, so I can't confirm the QGC write reached the DSP.

            • Does the voxl-esc driver poll ESC channel 2 for telemetry in my configuration? If its telemetry rotation depends on the motor mapping, could it be missing the one channel that sends the battery message?

            • Is POWER_MANAGER=none correct for the FPV 4-in-1 (M0138), or is that comment specific to the mini ESC (M0129)?

            1 Reply Last reply
            0

            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

            With your input, this post could be even better 💗

            Register Login
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            ModalAI
            Categories Recent Tags ModalAI.com Docs
            © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups