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. Potentially incomplete Dshot implementation?

Potentially incomplete Dshot implementation?

Scheduled Pinned Locked Moved Ask your questions right here!
8 Posts 4 Posters 1.6k Views 4 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.
  • G Offline
    G Offline
    gus
    wrote on last edited by
    #1

    Hello,

    I am trying to implement Dshot on our hexacopter, but I'm noticing 2 issues.

    First, it looks like the signal has some inconsistency, as you can see in this video. This causes my Dshot ESC's signal integrity verification to fail, and as such it doesn't seem like I will be able to use Dshot with this flight controller at all as is.

    Second, Dshot only appears to even attempt to run on the first 4 outputs - I'm just seeing a high signal on all other outputs.

    Are there potential solutions to these issues, or are there hardware conflicts preventing Dshot from being usable for a hexacopter with this FC? We purchased this flight controller in part hoping that it would allow us to run Dshot on our hexacopter, so this issue is quite important to us.

    Thank you,
    Gus

    1 Reply Last reply
    0
    • modaltbM Offline
      modaltbM Offline
      modaltb
      ModalAI Team
      wrote on last edited by
      #2

      Hi @gus ,

      For item 1, thanks for the video. Are you using the FW that shipped on the flight controller or have you updated anything? Can you share your PX4 configuration?

      For item 2, we've only tested DShot on a quad, let me get someone looking at the the upper actuator outputs (5-8).

      In the PX4 docs on DShot, it's claiming only the first four channels can be used on the standard hardware (https://docs.px4.io/v1.10/en/peripherals/dshot.html). But I'm not positive about our hardware so let us check that out.

      Thanks!
      Travis

      1 Reply Last reply
      0
      • G Offline
        G Offline
        gus
        wrote on last edited by
        #3

        Hey Travis, thanks for the reply.

        After further investigation I believe those bits that look inconsistent may actually be correct. It only looks like that when I enable Dshot telemetry, and of course bit 12 is the telemetry request bit. I'm not sure exactly how dshot works but I guess it makes sense that this bit isn't high on every message, since the telemetry maybe sort of 'cycles' through each output.

        I am in fact able to get my dshot ESC to recognize the signal if I set the outputs to pwm, reboot, select dshot, and reboot again. I actually experienced the same thing when I was trying dshot on the Cube, so I think this aspect is fine on your end.

        As far as outputs 5-8, it looks like they are on a different timer than outputs 1-4 (see boards\modalai\src\timer_config.cpp). The first 4 outputs run on Timer1 and the next 4 on Timer4, and they are initialized differently. Could your team investigate whether Timer4 is capable of Dshot? I get a little fuzzy on programming this low-level.

        Cheers,
        Gus

        G 1 Reply Last reply
        0
        • G gus

          Hey Travis, thanks for the reply.

          After further investigation I believe those bits that look inconsistent may actually be correct. It only looks like that when I enable Dshot telemetry, and of course bit 12 is the telemetry request bit. I'm not sure exactly how dshot works but I guess it makes sense that this bit isn't high on every message, since the telemetry maybe sort of 'cycles' through each output.

          I am in fact able to get my dshot ESC to recognize the signal if I set the outputs to pwm, reboot, select dshot, and reboot again. I actually experienced the same thing when I was trying dshot on the Cube, so I think this aspect is fine on your end.

          As far as outputs 5-8, it looks like they are on a different timer than outputs 1-4 (see boards\modalai\src\timer_config.cpp). The first 4 outputs run on Timer1 and the next 4 on Timer4, and they are initialized differently. Could your team investigate whether Timer4 is capable of Dshot? I get a little fuzzy on programming this low-level.

          Cheers,
          Gus

          G Offline
          G Offline
          gus
          wrote on last edited by
          #4

          Alright I couldn't help myself - so it does look like Timer4 can in fact handle DShot. I replaced the second timer initialization with

          initIOTimer(Timer::Timer4, DMA{DMA::Index1, DMA::Stream6, DMA::Channel2})
          

          following the Timer4 structure listed in nuttx/src/px4/stm/stm32f7/include/px4_arch/hw_description.h

          Doing that produced some interesting results. I can get DShot but it's mapped strangely, what I put on output 5 instead maps to output 7, and output 6 maps to output 5. Not sure exactly why that is, but despite that the Dshot message is certainly correct. I tested this using a test mixer where I directly mapped the throttle to a given output, and everything seemed right. Haven't tested whether telemetry works with this output mapping yet though.

          Let me know if you guys investigate further.

          Thanks

          1 Reply Last reply
          0
          • modaltbM Offline
            modaltbM Offline
            modaltb
            ModalAI Team
            wrote on last edited by
            #5

            Hi @gus ,

            Sounds like promising news, what FW are you using? The 1.10 release?

            The timer init changed a bit with 1.11, and an early release of 1.10 had some issues with actuator output mapping (not what we are shipping), so I'm trying to get a hold on what release you are targeting.

            Thanks!
            Travis

            G 1 Reply Last reply
            0
            • modaltbM modaltb

              Hi @gus ,

              Sounds like promising news, what FW are you using? The 1.10 release?

              The timer init changed a bit with 1.11, and an early release of 1.10 had some issues with actuator output mapping (not what we are shipping), so I'm trying to get a hold on what release you are targeting.

              Thanks!
              Travis

              G Offline
              G Offline
              gus
              wrote on last edited by
              #6

              @modaltb This is on release 1.11.1.

              1 Reply Last reply
              0
              • Sem AndewegS Offline
                Sem AndewegS Offline
                Sem Andeweg
                Contributor
                wrote on last edited by
                #7

                Link Preview Image
                boards: modalai_fc-v1 enable dshot on all outputs by dagar · Pull Request #19618 · PX4/PX4-Autopilot

                PX4 Autopilot Software. Contribute to PX4/PX4-Autopilot development by creating an account on GitHub.

                favicon

                GitHub (github.com)

                1 Reply Last reply
                1
                • Chad SweetC Offline
                  Chad SweetC Offline
                  Chad Sweet
                  ModalAI Team
                  wrote on last edited by
                  #8

                  Thanks for the heads up!

                  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