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

ModalAI Forum

  1. ModalAI Support Forum
  2. Software Development
  3. Video and Image Sensors
  4. M0173 with 4 AR0144 Tracking cameras

M0173 with 4 AR0144 Tracking cameras

Scheduled Pinned Locked Moved Video and Image Sensors
20 Posts 3 Posters 5.8k Views 2 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.
  • Alex KushleyevA Alex Kushleyev

    @cbay , M0188 does NOT support a Boson sensor, which has different power requirements (compared to tracking, hires cameras) and uses different pinout of the same micro coax port type.

    M0195 supports 4 cameras + Boson https://docs.modalai.com/M0195/ , but the Boson takes ID2 (CCI2), meaning you would have to put AR0144 cameras on IDs 0,1,3,6 and IDs 1 and 6 would still have a CCI conflict (CCI1). So you would still need the alt slave address for one AR0144.

    Boson can only be connected to J2 of M0195, as documented.

    Let me check about the dual lepton. It is documented, but i just want to confirm that it works.

    Alex

    C Offline
    C Offline
    cbay
    Contributor
    wrote on last edited by
    #11

    @Alex-Kushleyev Got the three Ar0144s working, though only 2 are giving me Misp norm streams.

    Thanks again for your help

    Alex KushleyevA 1 Reply Last reply
    0
    • C cbay

      @Alex-Kushleyev Got the three Ar0144s working, though only 2 are giving me Misp norm streams.

      Thanks again for your help

      Alex KushleyevA Offline
      Alex KushleyevA Offline
      Alex Kushleyev
      ModalAI Team
      wrote on last edited by
      #12

      @cbay , what happens with the third misp norm stream? Is it not available? Maybe you did not enable misp for that camera in voxl-camera-server.conf?

      C 1 Reply Last reply
      0
      • Alex KushleyevA Alex Kushleyev

        @cbay , what happens with the third misp norm stream? Is it not available? Maybe you did not enable misp for that camera in voxl-camera-server.conf?

        C Offline
        C Offline
        cbay
        Contributor
        wrote on last edited by
        #13

        @Alex-Kushleyev said in M0173 with 4 AR0144 Tracking cameras:

        @cbay , what happens with the third misp norm stream? Is it not available? Maybe you did not enable misp for that camera in voxl-camera-server.conf?

        Before it was the exact same setup in voxl-camera-server, rebooted and it just works now so not sure what was happening

        1 Reply Last reply
        0
        • Alex KushleyevA Alex Kushleyev

          @cbay , M0188 does NOT support a Boson sensor, which has different power requirements (compared to tracking, hires cameras) and uses different pinout of the same micro coax port type.

          M0195 supports 4 cameras + Boson https://docs.modalai.com/M0195/ , but the Boson takes ID2 (CCI2), meaning you would have to put AR0144 cameras on IDs 0,1,3,6 and IDs 1 and 6 would still have a CCI conflict (CCI1). So you would still need the alt slave address for one AR0144.

          Boson can only be connected to J2 of M0195, as documented.

          Let me check about the dual lepton. It is documented, but i just want to confirm that it works.

          Alex

          C Offline
          C Offline
          cbay
          Contributor
          wrote on last edited by
          #14

          @Alex-Kushleyev said in M0173 with 4 AR0144 Tracking cameras:

          one

          Any info about the dual lepton, it does seem to be documented that it works, please let me know if it doesnt.

          Alex KushleyevA 1 Reply Last reply
          0
          • C cbay

            @Alex-Kushleyev said in M0173 with 4 AR0144 Tracking cameras:

            one

            Any info about the dual lepton, it does seem to be documented that it works, please let me know if it doesnt.

            Alex KushleyevA Offline
            Alex KushleyevA Offline
            Alex Kushleyev
            ModalAI Team
            wrote on last edited by
            #15

            Hi @cbay ,

            I checked with the team - we have not tested using the second lepton plugged into either M0188 or M0195.

            The voxl-lepton-server is not set up to handle two sensors. It would have to be the same process managing both sensors because the i2c communication to both would happen over the same i2c bus and the i2c switcher would need to control which sensor is actually being communicated with via i2c.

            We have checked that we can control the i2c switcher, but that's about it. We have not needed to use the second lepton (yet).

            If you wanted to try it, that would be a risk, but here are the steps:

            • plug in and test lepton in primary port
            • unplug the primary lepton and plug it into secondary port
            • update the voxl-lepton-server to control the i2c switcher to switch the i2c path to second port
            • test the lepton plugged into second port
            • *** main task *** update the voxl-lepton-server to manage two lepton sensors, switching the i2c communication path, when it is appropriate
              • please note that during normal operation, the i2c communication with lepton is not needed, i believe we only use it if we need to reset the sensor

            Alex

            C 1 Reply Last reply
            0
            • Alex KushleyevA Alex Kushleyev

              Hi @cbay ,

              I checked with the team - we have not tested using the second lepton plugged into either M0188 or M0195.

              The voxl-lepton-server is not set up to handle two sensors. It would have to be the same process managing both sensors because the i2c communication to both would happen over the same i2c bus and the i2c switcher would need to control which sensor is actually being communicated with via i2c.

              We have checked that we can control the i2c switcher, but that's about it. We have not needed to use the second lepton (yet).

              If you wanted to try it, that would be a risk, but here are the steps:

              • plug in and test lepton in primary port
              • unplug the primary lepton and plug it into secondary port
              • update the voxl-lepton-server to control the i2c switcher to switch the i2c path to second port
              • test the lepton plugged into second port
              • *** main task *** update the voxl-lepton-server to manage two lepton sensors, switching the i2c communication path, when it is appropriate
                • please note that during normal operation, the i2c communication with lepton is not needed, i believe we only use it if we need to reset the sensor

              Alex

              C Offline
              C Offline
              cbay
              Contributor
              wrote on last edited by
              #16

              @Alex-Kushleyev Thanks so much for the information. I will be receiving the boards shortly and will run through those tests.

              How much work do you think it would take to update voxl-lepton-server

              Alex KushleyevA 1 Reply Last reply
              0
              • C cbay

                @Alex-Kushleyev Thanks so much for the information. I will be receiving the boards shortly and will run through those tests.

                How much work do you think it would take to update voxl-lepton-server

                Alex KushleyevA Offline
                Alex KushleyevA Offline
                Alex Kushleyev
                ModalAI Team
                wrote on last edited by
                #17

                @cbay , you could actually test two leptons by disabling i2c port for one (or both) of them. Lepton starts up streaming data by default via SPI, so you can get frames from it without any communication.

                In order to do that, you would need to run two instances of voxl-lepton-server and the second instance would have to be modified to read from a different config file and to not kill the existing voxl-lepton-server process (and probably name itself differently, so that the first server does not kill the second during start-up).

                If this all works, then in order to actually test two leptons with i2c communication (which we use the set the FFC mode depending on the flight mode and also reset the sensor if it gets into a weird state while streaming), the lepton server functionality would probably need to be added to a C++ class so that multiple instances could be run from the same process. The reason is that there needs to be a single point where the i2c switcher is set to one or the other lepton, right before communicating to one of the leptons (without the other server / thread creating a race condition and trying to do communicate right at the same time)..

                I'd have to think about the fastest way of doing this, but at least you should be able to test two leptons with second not using i2c with very minimal changes.

                Here is the source code for the voxl-lepton-server in case you did not already find it: https://gitlab.com/voxl-public/voxl-sdk/services/voxl-lepton-server/-/blob/master/src/

                Alex

                H 1 Reply Last reply
                1
                • Alex KushleyevA Alex Kushleyev

                  @cbay , you could actually test two leptons by disabling i2c port for one (or both) of them. Lepton starts up streaming data by default via SPI, so you can get frames from it without any communication.

                  In order to do that, you would need to run two instances of voxl-lepton-server and the second instance would have to be modified to read from a different config file and to not kill the existing voxl-lepton-server process (and probably name itself differently, so that the first server does not kill the second during start-up).

                  If this all works, then in order to actually test two leptons with i2c communication (which we use the set the FFC mode depending on the flight mode and also reset the sensor if it gets into a weird state while streaming), the lepton server functionality would probably need to be added to a C++ class so that multiple instances could be run from the same process. The reason is that there needs to be a single point where the i2c switcher is set to one or the other lepton, right before communicating to one of the leptons (without the other server / thread creating a race condition and trying to do communicate right at the same time)..

                  I'd have to think about the fastest way of doing this, but at least you should be able to test two leptons with second not using i2c with very minimal changes.

                  Here is the source code for the voxl-lepton-server in case you did not already find it: https://gitlab.com/voxl-public/voxl-sdk/services/voxl-lepton-server/-/blob/master/src/

                  Alex

                  H Offline
                  H Offline
                  Haxerus
                  wrote on last edited by
                  #18

                  @Alex-Kushleyev Hi, I'm working with @cbay on this project and I just wanted to report that I was able to modify voxl-lepton-server with your suggestions and achieved dual lepton camera streaming into voxl-portal.

                  75f7968e-6970-4064-b93b-5d890747da2c-image.png

                  Alex KushleyevA 1 Reply Last reply
                  0
                  • H Haxerus

                    @Alex-Kushleyev Hi, I'm working with @cbay on this project and I just wanted to report that I was able to modify voxl-lepton-server with your suggestions and achieved dual lepton camera streaming into voxl-portal.

                    75f7968e-6970-4064-b93b-5d890747da2c-image.png

                    Alex KushleyevA Offline
                    Alex KushleyevA Offline
                    Alex Kushleyev
                    ModalAI Team
                    wrote on last edited by
                    #19

                    @Haxerus , that's great to hear! Can you clarify what you did? I am guessing the following:

                    • modify voxl-lepton-server to run multiple instances
                    • disable i2c interface for the second lepton

                    Also, the image on the left seems noisy (horizontal lines)? I am not sure what it is, something to check.. (is it always present, what about when only single lepton is running).

                    Do you need anything else for any next steps?

                    Alex

                    H 1 Reply Last reply
                    0
                    • Alex KushleyevA Alex Kushleyev

                      @Haxerus , that's great to hear! Can you clarify what you did? I am guessing the following:

                      • modify voxl-lepton-server to run multiple instances
                      • disable i2c interface for the second lepton

                      Also, the image on the left seems noisy (horizontal lines)? I am not sure what it is, something to check.. (is it always present, what about when only single lepton is running).

                      Do you need anything else for any next steps?

                      Alex

                      H Offline
                      H Offline
                      Haxerus
                      wrote on last edited by
                      #20

                      @Alex-Kushleyev sure thing. As per your suggestion, I modified voxl-lepton-server by moving all the Lepton camera-specific logic into a C++ class and added locks to any I2C operations to prevent race conditions. I then just created 2 instances of the LeptonCamera class I made which parse and publish the camera feeds to their own pipes which I can view in voxl-portal.

                      I didn't need to disable any I2C interface for the second Lepton. I'm not too sure what you were referring to by that.

                      In regards to the horizontal line artifacts, those don't seems to consistently appear and I don't know what causes it. I'll investigate it further.

                      My next steps are to get the Leptons working with voxl-open-vins-server. One question I had was that our VOXL 2 Mini appears to be running a service called voxl-lepton-tracker however I cannot find the source code for this anywhere on the voxl public GitLab. Was it removed or hidden?

                      1 Reply Last reply
                      0
                      • Alex KushleyevA Alex Kushleyev referenced this topic on

                      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

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