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. Unstablr Baro in Voxl 2 mini

Unstablr Baro in Voxl 2 mini

Scheduled Pinned Locked Moved Ask your questions right here!
14 Posts 4 Posters 2.0k 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.
  • V Offline
    V Offline
    v_v_ramarao
    wrote on last edited by
    #1

    Our setup is:
    Voxl2 mini running PX4 on DSP
    ESC mini
    Hires IMX214
    Tracking OV7251

    The Problem:
    The drone moves up and down constantly in position mode.

    Bench Test:
    The on-board Baro readings, when observed in PX4-listener, continuously change (couple of meters over 10 seconds)... the baro-reported temperature gradually increases to 50 deg-c and accordingly the pressure readings decrease. The test is done indoors with Voxl2 mini board in open condition (without enclosure), no propellers.

    Request:
    We are obliged if you could share the setup info for adding an external baro (BMP280 or similar) with I2C interface.

    Eric KatzfeyE 1 Reply Last reply
    0
    • V v_v_ramarao

      Our setup is:
      Voxl2 mini running PX4 on DSP
      ESC mini
      Hires IMX214
      Tracking OV7251

      The Problem:
      The drone moves up and down constantly in position mode.

      Bench Test:
      The on-board Baro readings, when observed in PX4-listener, continuously change (couple of meters over 10 seconds)... the baro-reported temperature gradually increases to 50 deg-c and accordingly the pressure readings decrease. The test is done indoors with Voxl2 mini board in open condition (without enclosure), no propellers.

      Request:
      We are obliged if you could share the setup info for adding an external baro (BMP280 or similar) with I2C interface.

      Eric KatzfeyE Offline
      Eric KatzfeyE Offline
      Eric Katzfey
      ModalAI Team
      wrote on last edited by
      #2

      @v_v_ramarao We do not sell any external baro hardware so you would have to locate a suitable peripheral from a different source. Then you would have to connect it into VOXL 2 mini. There is no spare i2c port but you could share the magnetometer i2c port on J19 as long as the barometer has a different i2c address than the magnetometer. Then you would have to change your px4 startup script to not start the onboard barometer driver and instead start the external barometer driver.

      V 1 Reply Last reply
      0
      • Alex KushleyevA Alex Kushleyev referenced this topic on
      • Eric KatzfeyE Eric Katzfey

        @v_v_ramarao We do not sell any external baro hardware so you would have to locate a suitable peripheral from a different source. Then you would have to connect it into VOXL 2 mini. There is no spare i2c port but you could share the magnetometer i2c port on J19 as long as the barometer has a different i2c address than the magnetometer. Then you would have to change your px4 startup script to not start the onboard barometer driver and instead start the external barometer driver.

        V Offline
        V Offline
        v_v_ramarao
        wrote on last edited by
        #3

        @Eric-Katzfey We found that the Baro is erratic only when a camera (in this case IMX214) is connected to J7 using M0076 interpose.
        If we remove camera (or disable camera server) the problem disappears. You may note that the J7 connector is located in close vicinity of Baro chip.
        This behaviour is identical in all the three Voxl 2 mini boards that we have.
        This seems to be a h/w or board layout problem. We are obliged if you confirm.

        Alex KushleyevA 1 Reply Last reply
        0
        • V v_v_ramarao

          @Eric-Katzfey We found that the Baro is erratic only when a camera (in this case IMX214) is connected to J7 using M0076 interpose.
          If we remove camera (or disable camera server) the problem disappears. You may note that the J7 connector is located in close vicinity of Baro chip.
          This behaviour is identical in all the three Voxl 2 mini boards that we have.
          This seems to be a h/w or board layout problem. We are obliged if you confirm.

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

          @v_v_ramarao , thank you for the details. Let us test it and get back to you soon.

          Please note that when the camera is running, the cpu load will be higher and temperature of the board will change, so the issue could still be related to the temperature change.

          Alex

          V 1 Reply Last reply
          0
          • Alex KushleyevA Alex Kushleyev

            @v_v_ramarao , thank you for the details. Let us test it and get back to you soon.

            Please note that when the camera is running, the cpu load will be higher and temperature of the board will change, so the issue could still be related to the temperature change.

            Alex

            V Offline
            V Offline
            v_v_ramarao
            wrote on last edited by
            #5

            @Alex-Kushleyev thanks for the quick revert.
            The culprit looks like the proximity of baro chip to the power connector (and hence the power tracks beneath).
            While we wait for a solution from you for the on-board baro we request you to let us know the steps to add / integrate an external baro (BMP280) on one of the existing I2C ports of Voxl 2 mini board. (We already have a BMP280 based baro with I2C interface, that works on 3.3V / 5V.
            Thanks
            Rama Rao

            Alex KushleyevA 1 Reply Last reply
            0
            • V v_v_ramarao

              @Alex-Kushleyev thanks for the quick revert.
              The culprit looks like the proximity of baro chip to the power connector (and hence the power tracks beneath).
              While we wait for a solution from you for the on-board baro we request you to let us know the steps to add / integrate an external baro (BMP280) on one of the existing I2C ports of Voxl 2 mini board. (We already have a BMP280 based baro with I2C interface, that works on 3.3V / 5V.
              Thanks
              Rama Rao

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

              Hi @v_v_ramarao,

              I have updated the script that i made last week to log and plot barometer data and ran a test on voxl2 mini. I have 3 cameras hooked up:

              • J6 IMX214
              • J7 IMX412 and AR0144

              This is not exactly the same setup as you have (specifically, the IMX214 camera is in another slot), but we can compare the results.

              You can copy the script below to voxl2 mini from your PC:

              adb push plot_px4_baro.py /home/root/
              

              install plotly on voxl2 mini (internet connection required) using:

              pip3 install plotly --upgrade
              

              Then run the script to collect 1000 samples:

              cd /home/root/
              python3 plot_px4_baro.py -n 1000
              (1)[2288480501.0] P: 102151.375, T: 36.17676
              (2)[2288607104.0] P: 102150.70312, T: 36.17943
              (3)[2288733681.0] P: 102151.45312, T: 36.17409
              (4)[2288860227.0] P: 102151.75, T: 36.17409
              (5)[2288986782.0] P: 102149.32812, T: 36.17142
              ...
              

              The first number is sample count, then timestamp (microseconds), then pressure and temperature.

              After you start your script, wait for a few seconds and then start camera server and make sure that you are actually viewing the image from the camera (perhaps using voxl-portal or just inspecting using voxl-inspect-cam hires_color or something like that. If there are no clients for the camera, not much will be done in camera server, but you can try either way).

              When the sample count reaches around 800, you can stop the camera server to see the effect of removing the system load and turning off the cameras. When the script is finished, it will generate a file barometer_test_results.html which you need to copy back to your PC and open in browser :

              adb pull /home/root/barometer_test_results.html
              

              I just ran this test and here is the plot. It seems when temperature changed from 40C to 60C, the approximate height change was about 8 meters. This is quite substantial, but i did not see any unusual noise, which could be coming from power supply issues. No change in barometer noise when camera server was turned on and off.

              Please try to run the same test and post the resulting plot, if you don't mind. This will help with figuring out the issue. Meanwhile, I will double check if the barometer code in PX4 implements temperature compensation, since 8 meter drift seems too much.

              voxl2_mini_baro_temp_test_results1.png

              test script ( plot_px4_baro.py ) :

              import subprocess
              import time
              import numpy as np
              import argparse
              
              # install plotly using    pip3 install plotly --upgrade
              
              parser = argparse.ArgumentParser(description='Barometer Test Script')
              parser.add_argument('-n','--num-samples',   type=int, required=False, default=1000)
              args = parser.parse_args()
              
              max_sample_count = args.num_samples
              
              def get_px4_baro():
                  cmd = 'px4-listener sensor_baro'
              
                  p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
              
                  timestamp   = None
                  pressure    = None
                  temperature = None
              
                  for line in p.stdout.readlines():
                      l=str(line)
                      #print(l)
                      if 'timestamp' in l:
                          ll = l.split(':')[1].split()[0]
                          timestamp = float(ll)
                      if 'pressure' in l:
                          ll = l.split(':')[-1][:-3]
                          pressure = float(ll)
                      if 'temperature' in l:
                          ll = l.split(':')[-1][:-3]
                          temperature = float(ll)
              
                      retval = p.wait()
              
                  return (timestamp,pressure,temperature)
              
              
              tlast = 0
              ts = []
              ps = []
              temps = []
              
              sample_count = 0
              
              while (sample_count < max_sample_count):
                  (timestamp, pressure, temperature) = get_px4_baro()
              
                  #make sure we got new data
                  if timestamp != tlast:
                      sample_count += 1
                      ts.append(timestamp)
                      ps.append(pressure)
                      temps.append(temperature)
                      print(f'({sample_count})[{timestamp}] P: {pressure}, T: {temperature}')
              
                  tlast=timestamp
                  time.sleep(0.01)
              
              print('Finished collecting data')
              print('Generating plots..')
                  
              try:
                  import plotly.graph_objects as go
                  from plotly.subplots import make_subplots
              except:
                  print('WARNING: In order to plot the results, install the Python "plotly" module: pip3 install plotly --upgrade')
                  sys.exit(0)
              
              fig = make_subplots(rows=3, cols=1, start_cell="top-left")
              
              ts_plot  = np.array(ts)
              ts_plot -= ts_plot[0]
              ts_plot *= 0.000001 #convert from us to s
              
              # calculate approximate height from start
              dh       = np.array(ps)
              dh      -= dh[0] # subtract the first value
              dh      /= 12.0  # about 12 Pascals per meter at standard pressure and temperature
              
              fig.add_trace(go.Scatter(x=ts_plot, y=np.array(ps), name='Pressure (Pa)'), row=1, col=1)
              fig.add_trace(go.Scatter(x=ts_plot, y=np.array(temps), name='Temperature (deg C)'), row=2, col=1)
              fig.add_trace(go.Scatter(x=ts_plot, y=dh, name='Approx Height (m)'), row=3, col=1)
              
              fig.update_layout(title_text='Barometer Test Results')
              fig.update_xaxes(title_text='Time (s)',row=1, col=1)
              fig.update_yaxes(title_text='Pressure (Pa)',row=1, col=1)
              fig.update_xaxes(title_text='Time (s)',row=2, col=1)
              fig.update_yaxes(title_text='Temperature (deg C)',row=2, col=1)
              fig.update_xaxes(title_text='Time (s)',row=3, col=1)
              fig.update_yaxes(title_text='Approx Height (m)',row=3, col=1)
              
              fig.update_xaxes(matches='x')
              
              fig.write_html('barometer_test_results.html',include_plotlyjs='cdn')
              #fig.show()  #the figure will not show on VOXL because there is no display / browser
              
              print('done')
              
              
              
              V 1 Reply Last reply
              0
              • Alex KushleyevA Alex Kushleyev

                Hi @v_v_ramarao,

                I have updated the script that i made last week to log and plot barometer data and ran a test on voxl2 mini. I have 3 cameras hooked up:

                • J6 IMX214
                • J7 IMX412 and AR0144

                This is not exactly the same setup as you have (specifically, the IMX214 camera is in another slot), but we can compare the results.

                You can copy the script below to voxl2 mini from your PC:

                adb push plot_px4_baro.py /home/root/
                

                install plotly on voxl2 mini (internet connection required) using:

                pip3 install plotly --upgrade
                

                Then run the script to collect 1000 samples:

                cd /home/root/
                python3 plot_px4_baro.py -n 1000
                (1)[2288480501.0] P: 102151.375, T: 36.17676
                (2)[2288607104.0] P: 102150.70312, T: 36.17943
                (3)[2288733681.0] P: 102151.45312, T: 36.17409
                (4)[2288860227.0] P: 102151.75, T: 36.17409
                (5)[2288986782.0] P: 102149.32812, T: 36.17142
                ...
                

                The first number is sample count, then timestamp (microseconds), then pressure and temperature.

                After you start your script, wait for a few seconds and then start camera server and make sure that you are actually viewing the image from the camera (perhaps using voxl-portal or just inspecting using voxl-inspect-cam hires_color or something like that. If there are no clients for the camera, not much will be done in camera server, but you can try either way).

                When the sample count reaches around 800, you can stop the camera server to see the effect of removing the system load and turning off the cameras. When the script is finished, it will generate a file barometer_test_results.html which you need to copy back to your PC and open in browser :

                adb pull /home/root/barometer_test_results.html
                

                I just ran this test and here is the plot. It seems when temperature changed from 40C to 60C, the approximate height change was about 8 meters. This is quite substantial, but i did not see any unusual noise, which could be coming from power supply issues. No change in barometer noise when camera server was turned on and off.

                Please try to run the same test and post the resulting plot, if you don't mind. This will help with figuring out the issue. Meanwhile, I will double check if the barometer code in PX4 implements temperature compensation, since 8 meter drift seems too much.

                voxl2_mini_baro_temp_test_results1.png

                test script ( plot_px4_baro.py ) :

                import subprocess
                import time
                import numpy as np
                import argparse
                
                # install plotly using    pip3 install plotly --upgrade
                
                parser = argparse.ArgumentParser(description='Barometer Test Script')
                parser.add_argument('-n','--num-samples',   type=int, required=False, default=1000)
                args = parser.parse_args()
                
                max_sample_count = args.num_samples
                
                def get_px4_baro():
                    cmd = 'px4-listener sensor_baro'
                
                    p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
                
                    timestamp   = None
                    pressure    = None
                    temperature = None
                
                    for line in p.stdout.readlines():
                        l=str(line)
                        #print(l)
                        if 'timestamp' in l:
                            ll = l.split(':')[1].split()[0]
                            timestamp = float(ll)
                        if 'pressure' in l:
                            ll = l.split(':')[-1][:-3]
                            pressure = float(ll)
                        if 'temperature' in l:
                            ll = l.split(':')[-1][:-3]
                            temperature = float(ll)
                
                        retval = p.wait()
                
                    return (timestamp,pressure,temperature)
                
                
                tlast = 0
                ts = []
                ps = []
                temps = []
                
                sample_count = 0
                
                while (sample_count < max_sample_count):
                    (timestamp, pressure, temperature) = get_px4_baro()
                
                    #make sure we got new data
                    if timestamp != tlast:
                        sample_count += 1
                        ts.append(timestamp)
                        ps.append(pressure)
                        temps.append(temperature)
                        print(f'({sample_count})[{timestamp}] P: {pressure}, T: {temperature}')
                
                    tlast=timestamp
                    time.sleep(0.01)
                
                print('Finished collecting data')
                print('Generating plots..')
                    
                try:
                    import plotly.graph_objects as go
                    from plotly.subplots import make_subplots
                except:
                    print('WARNING: In order to plot the results, install the Python "plotly" module: pip3 install plotly --upgrade')
                    sys.exit(0)
                
                fig = make_subplots(rows=3, cols=1, start_cell="top-left")
                
                ts_plot  = np.array(ts)
                ts_plot -= ts_plot[0]
                ts_plot *= 0.000001 #convert from us to s
                
                # calculate approximate height from start
                dh       = np.array(ps)
                dh      -= dh[0] # subtract the first value
                dh      /= 12.0  # about 12 Pascals per meter at standard pressure and temperature
                
                fig.add_trace(go.Scatter(x=ts_plot, y=np.array(ps), name='Pressure (Pa)'), row=1, col=1)
                fig.add_trace(go.Scatter(x=ts_plot, y=np.array(temps), name='Temperature (deg C)'), row=2, col=1)
                fig.add_trace(go.Scatter(x=ts_plot, y=dh, name='Approx Height (m)'), row=3, col=1)
                
                fig.update_layout(title_text='Barometer Test Results')
                fig.update_xaxes(title_text='Time (s)',row=1, col=1)
                fig.update_yaxes(title_text='Pressure (Pa)',row=1, col=1)
                fig.update_xaxes(title_text='Time (s)',row=2, col=1)
                fig.update_yaxes(title_text='Temperature (deg C)',row=2, col=1)
                fig.update_xaxes(title_text='Time (s)',row=3, col=1)
                fig.update_yaxes(title_text='Approx Height (m)',row=3, col=1)
                
                fig.update_xaxes(matches='x')
                
                fig.write_html('barometer_test_results.html',include_plotlyjs='cdn')
                #fig.show()  #the figure will not show on VOXL because there is no display / browser
                
                print('done')
                
                
                
                V Offline
                V Offline
                v_v_ramarao
                wrote on last edited by
                #7

                @Alex-Kushleyev
                Dear Alex Khushlevyev
                Thanks for the detailed mail. We shall do the test as suggested by you. Yes, this is the kind of behavior that we too observed although we have not logged the data in a file for plotting.
                It is unlikely that in an open bench test the rising CPU temperature can transfer so quickly the heat energy to the baro chip through convection (air). It must be the power tracks beneath the baro chip helping to transfer that heat energy through conduction (copper+FR4). Anyway it is to your PCB design team to confirm this.

                The immediate solution, for the mini users, I think will be one of the following:
                A) implement temp compensation in the code.
                B) install an external baro with I2C interface.

                I once again request you to share the steps to install an external baro (BMP280).

                (Talking of PCB layout one more thing needs your immediate attention. On Voxl2 mini with J6 and J7 one has to use your interposer (splitter) board, in which case you can't use that respective main board-mounting hole... It fouls. This is the case with either of the interposer boards, single /dual.. It is road-block to use even a single camera with mini. It is very surprising that the spitter boards are not redesigned yet... A minuscule task to address such a glaring fault, is not undertaken yet)

                Thanks
                Rama Rao

                Alex KushleyevA VinnyV 2 Replies Last reply
                0
                • V v_v_ramarao

                  @Alex-Kushleyev
                  Dear Alex Khushlevyev
                  Thanks for the detailed mail. We shall do the test as suggested by you. Yes, this is the kind of behavior that we too observed although we have not logged the data in a file for plotting.
                  It is unlikely that in an open bench test the rising CPU temperature can transfer so quickly the heat energy to the baro chip through convection (air). It must be the power tracks beneath the baro chip helping to transfer that heat energy through conduction (copper+FR4). Anyway it is to your PCB design team to confirm this.

                  The immediate solution, for the mini users, I think will be one of the following:
                  A) implement temp compensation in the code.
                  B) install an external baro with I2C interface.

                  I once again request you to share the steps to install an external baro (BMP280).

                  (Talking of PCB layout one more thing needs your immediate attention. On Voxl2 mini with J6 and J7 one has to use your interposer (splitter) board, in which case you can't use that respective main board-mounting hole... It fouls. This is the case with either of the interposer boards, single /dual.. It is road-block to use even a single camera with mini. It is very surprising that the spitter boards are not redesigned yet... A minuscule task to address such a glaring fault, is not undertaken yet)

                  Thanks
                  Rama Rao

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

                  Hello @v_v_ramarao ,

                  We are looking into the temperature calibration of the on-board baro. PX4 has a calibration procedure for sensors, including barometer : https://docs.px4.io/main/en/advanced_config/sensor_thermal_calibration.html . You are welcome to try this on your own if you are able to.

                  Additionally, we will work on providing instructions for enabling external barometer. I see that you want to try BMP280, which is supported by PX4, so we will try it, as well as external ICP-101111, which is very similar to what is used on VOXL2 / mini right now.

                  Regarding the mechanical mounting concerns on J6, J7, I will pass your comments to our team.

                  Thanks for your patience, I will get back to you early next week.

                  Alex

                  1 Reply Last reply
                  0
                  • V v_v_ramarao

                    @Alex-Kushleyev
                    Dear Alex Khushlevyev
                    Thanks for the detailed mail. We shall do the test as suggested by you. Yes, this is the kind of behavior that we too observed although we have not logged the data in a file for plotting.
                    It is unlikely that in an open bench test the rising CPU temperature can transfer so quickly the heat energy to the baro chip through convection (air). It must be the power tracks beneath the baro chip helping to transfer that heat energy through conduction (copper+FR4). Anyway it is to your PCB design team to confirm this.

                    The immediate solution, for the mini users, I think will be one of the following:
                    A) implement temp compensation in the code.
                    B) install an external baro with I2C interface.

                    I once again request you to share the steps to install an external baro (BMP280).

                    (Talking of PCB layout one more thing needs your immediate attention. On Voxl2 mini with J6 and J7 one has to use your interposer (splitter) board, in which case you can't use that respective main board-mounting hole... It fouls. This is the case with either of the interposer boards, single /dual.. It is road-block to use even a single camera with mini. It is very surprising that the spitter boards are not redesigned yet... A minuscule task to address such a glaring fault, is not undertaken yet)

                    Thanks
                    Rama Rao

                    VinnyV Offline
                    VinnyV Offline
                    Vinny
                    ModalAI Team
                    wrote on last edited by
                    #9

                    Hi @v_v_ramarao

                    (Talking of PCB layout one more thing needs your immediate attention. On Voxl2 mini with J6 and J7 one has to use your interposer (splitter) board, in which case you can't use that respective main board-mounting hole... It fouls. This is the case with either of the interposer boards, single /dual.. It is road-block to use even a single camera with mini. It is very surprising that the spitter boards are not redesigned yet... A minuscule task to address such a glaring fault, is not undertaken yet)

                    Thanks
                    Rama Rao

                    We appreciate your comments.
                    Please understand a few things about our one of our primary business models and goals. We help accelerate customer's time to market with their products, for their use case, by offering hardware and software solutions that let them develop and solidify their architectural needs. Then, when they have what they need functioning, they transition that into their custom final and elegant Industrial Design that meets their product constraints. Most often, this does not include any of our adapters, flexes, or cables. We cannot meet most customer's final goals, so oftentimes we just use what already works to meet those development goals and help you along. This is akin to any EVK/DK you buy now for any MCU, sensor, or auxiliary component when doing proof-of-concept work. In this case, yes, we know the camera splitters and adapters are not ideal for V2 Mini. They were designed for VOXL 2 (full size), not the Mini, but they function and help customers accelerate their plans. This is not an oversight nor a fault.

                    All that being said, VOXL 2 Mini is getting a refresh:
                    e3e399b8-ac2f-401e-93c0-c7064c1dd02e-image.png
                    and we do expect volumes to pick up this next year, so we are making more adapters specifically for VOXL 2 Mini.
                    For example, we already have in our labs and functioning the equivalent to this coax breakout kit but for M0104/M0204: https://www.modalai.com/collections/image-sensors/products/m0173?variant=48528274391344
                    but we are just not ready to release it yet, even in Beta status.
                    We also have a single 40-pin + DF56 coax adapter (M0172) e810d210-86f8-47a7-a2f6-07e40df1c68c-image.png and ones for IR sensors on the horizon for VOXL 2 Mini. However, again, these are not just ready yet but expect to be live in the next couple of quarters.
                    These may be more suited to some customers applications since they better mate with V2 Mini and the mounting hole support.

                    We appreciate your feedback and let us know if there is anything we can do to help!
                    Thanks!

                    V 1 Reply Last reply
                    0
                    • VinnyV Vinny

                      Hi @v_v_ramarao

                      (Talking of PCB layout one more thing needs your immediate attention. On Voxl2 mini with J6 and J7 one has to use your interposer (splitter) board, in which case you can't use that respective main board-mounting hole... It fouls. This is the case with either of the interposer boards, single /dual.. It is road-block to use even a single camera with mini. It is very surprising that the spitter boards are not redesigned yet... A minuscule task to address such a glaring fault, is not undertaken yet)

                      Thanks
                      Rama Rao

                      We appreciate your comments.
                      Please understand a few things about our one of our primary business models and goals. We help accelerate customer's time to market with their products, for their use case, by offering hardware and software solutions that let them develop and solidify their architectural needs. Then, when they have what they need functioning, they transition that into their custom final and elegant Industrial Design that meets their product constraints. Most often, this does not include any of our adapters, flexes, or cables. We cannot meet most customer's final goals, so oftentimes we just use what already works to meet those development goals and help you along. This is akin to any EVK/DK you buy now for any MCU, sensor, or auxiliary component when doing proof-of-concept work. In this case, yes, we know the camera splitters and adapters are not ideal for V2 Mini. They were designed for VOXL 2 (full size), not the Mini, but they function and help customers accelerate their plans. This is not an oversight nor a fault.

                      All that being said, VOXL 2 Mini is getting a refresh:
                      e3e399b8-ac2f-401e-93c0-c7064c1dd02e-image.png
                      and we do expect volumes to pick up this next year, so we are making more adapters specifically for VOXL 2 Mini.
                      For example, we already have in our labs and functioning the equivalent to this coax breakout kit but for M0104/M0204: https://www.modalai.com/collections/image-sensors/products/m0173?variant=48528274391344
                      but we are just not ready to release it yet, even in Beta status.
                      We also have a single 40-pin + DF56 coax adapter (M0172) e810d210-86f8-47a7-a2f6-07e40df1c68c-image.png and ones for IR sensors on the horizon for VOXL 2 Mini. However, again, these are not just ready yet but expect to be live in the next couple of quarters.
                      These may be more suited to some customers applications since they better mate with V2 Mini and the mounting hole support.

                      We appreciate your feedback and let us know if there is anything we can do to help!
                      Thanks!

                      V Offline
                      V Offline
                      v_v_ramarao
                      wrote on last edited by
                      #10

                      @Vinny
                      Hi Vinny
                      Thank you for the detailed info and the company view point. I fully agree with you in so far as Microcontroller Evaluation kits are concerned. I opine that the Voxl2 Mini, with its dense layout and complexity (and also with 30.50 mm mounting-hole pitch, a practice on generic flight controllers) is expected to serve deep in to product development phases, at the least up to proof-of-concept stage (like your Starling / Sentinel). Presently, if one wants to use Voxl2 Mini with even one camera the board is un-mountable and is confined to bench testing... unless and until the user comes out with his/her own adaptor/splitter board.

                      My only submission here is that the state-of-the-art Voxl2 Mini board is qualified to be supplied with a usable camera adaptor / splitter by Modal AI who has gone overboard to supply a ESC-Mini to help speed up the product development. Anyway we are happy with Voxl2 eco system and we will gear up to design a suitable camera adaptor board for Voxl2 Mini.

                      I once again thank Modal AI team for the excellent support through this forum.

                      Regards
                      Rama Rao Valluri

                      VinnyV 1 Reply Last reply
                      0
                      • V v_v_ramarao

                        @Vinny
                        Hi Vinny
                        Thank you for the detailed info and the company view point. I fully agree with you in so far as Microcontroller Evaluation kits are concerned. I opine that the Voxl2 Mini, with its dense layout and complexity (and also with 30.50 mm mounting-hole pitch, a practice on generic flight controllers) is expected to serve deep in to product development phases, at the least up to proof-of-concept stage (like your Starling / Sentinel). Presently, if one wants to use Voxl2 Mini with even one camera the board is un-mountable and is confined to bench testing... unless and until the user comes out with his/her own adaptor/splitter board.

                        My only submission here is that the state-of-the-art Voxl2 Mini board is qualified to be supplied with a usable camera adaptor / splitter by Modal AI who has gone overboard to supply a ESC-Mini to help speed up the product development. Anyway we are happy with Voxl2 eco system and we will gear up to design a suitable camera adaptor board for Voxl2 Mini.

                        I once again thank Modal AI team for the excellent support through this forum.

                        Regards
                        Rama Rao Valluri

                        VinnyV Offline
                        VinnyV Offline
                        Vinny
                        ModalAI Team
                        wrote on last edited by
                        #11

                        HI @v_v_ramarao
                        Appreciate your feedback again. Should you wish to design any of your own adapters until ours are released, always reach out and we are happy to do any design reviews for you! It's a service I do as a thanks for your continued support.

                        V 1 Reply Last reply
                        0
                        • VinnyV Vinny

                          HI @v_v_ramarao
                          Appreciate your feedback again. Should you wish to design any of your own adapters until ours are released, always reach out and we are happy to do any design reviews for you! It's a service I do as a thanks for your continued support.

                          V Offline
                          V Offline
                          v_v_ramarao
                          wrote on last edited by
                          #12

                          @Vinny
                          Sure, we shall be in touch during this journey.

                          Alex KushleyevA 1 Reply Last reply
                          0
                          • V v_v_ramarao

                            @Vinny
                            Sure, we shall be in touch during this journey.

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

                            @v_v_ramarao ,

                            If you are able to build px4 for voxl yourself (instructions: https://gitlab.com/voxl-public/voxl-sdk/services/voxl-px4) , here is how to enable support for additional barometers. If you unable to build px4 yourself, i think we should be able to add support in modalai's px4 build officially, i will double check with the team

                            Step 1

                            Edit https://github.com/modalai/px4-firmware/blob/voxl-dev/boards/modalai/voxl2-slpi/default.px4board

                            to include:

                            CONFIG_DRIVERS_BAROMETER_MS5611=y
                            CONFIG_DRIVERS_BAROMETER_BMP280=y
                            

                            Please note that BMP388 driver does not build as is, needs a small fix (will fix soon).

                            Step 2

                            Edit https://github.com/modalai/px4-firmware/blob/voxl-dev/boards/modalai/voxl2/target/voxl-px4-start#L100 to comment out starting of onboard barometer

                            #qshell icp101xx start -I -b 5
                            

                            and add one of the following to start the external barometer (1 is the external i2c connector J19)

                            qshell bmp280 start -X -b 1
                            #or
                            qshell ms5611 start -X -b 1
                            

                            Step 3

                            build voxl-px4 package, push it to voxl2 / mini, restart px4 and look for px4 console messages during px4 startup to confirm that the external baro was detected:

                            INFO  [muorb] SLPI: qshell gotten: ms5611 start -X -b 1
                            INFO  [muorb] SLPI:   arg0 = 'ms5611'
                            INFO  [muorb] SLPI:   arg1 = 'start'
                            INFO  [muorb] SLPI:   arg2 = '-X'
                            INFO  [muorb] SLPI:   arg3 = '-b'
                            INFO  [muorb] SLPI:   arg4 = '1'
                            INFO  [muorb] SLPI: *** I2C Device ID 0x3d0009 3997705
                            INFO  [muorb] SLPI: Set i2c address 0x76, fd 1
                            INFO  [muorb] SLPI: Set i2c address 0x77, fd 1
                            INFO  [muorb] SLPI: ms5611 #0 on I2C bus 1
                            INFO  [muorb] SLPI:  (external)
                            INFO  [muorb] SLPI:  address 0x76
                            INFO  [muorb] SLPI: 
                            
                            INFO  [muorb] SLPI: Ok executing command: ms5611 start -X -b 1
                            

                            Please check the pinout of J19 on voxl2 mini : https://docs.modalai.com/voxl2-mini-connectors/#j19---external-sensors-2x-uart-2x-i2c

                            Sorry the instructions are a little brief (for now) but i just wanted to post this, as I was able to make the external barometer work.

                            Still looking into the barometer calibration.

                            Alex

                            Alex KushleyevA 1 Reply Last reply
                            0
                            • Alex KushleyevA Alex Kushleyev

                              @v_v_ramarao ,

                              If you are able to build px4 for voxl yourself (instructions: https://gitlab.com/voxl-public/voxl-sdk/services/voxl-px4) , here is how to enable support for additional barometers. If you unable to build px4 yourself, i think we should be able to add support in modalai's px4 build officially, i will double check with the team

                              Step 1

                              Edit https://github.com/modalai/px4-firmware/blob/voxl-dev/boards/modalai/voxl2-slpi/default.px4board

                              to include:

                              CONFIG_DRIVERS_BAROMETER_MS5611=y
                              CONFIG_DRIVERS_BAROMETER_BMP280=y
                              

                              Please note that BMP388 driver does not build as is, needs a small fix (will fix soon).

                              Step 2

                              Edit https://github.com/modalai/px4-firmware/blob/voxl-dev/boards/modalai/voxl2/target/voxl-px4-start#L100 to comment out starting of onboard barometer

                              #qshell icp101xx start -I -b 5
                              

                              and add one of the following to start the external barometer (1 is the external i2c connector J19)

                              qshell bmp280 start -X -b 1
                              #or
                              qshell ms5611 start -X -b 1
                              

                              Step 3

                              build voxl-px4 package, push it to voxl2 / mini, restart px4 and look for px4 console messages during px4 startup to confirm that the external baro was detected:

                              INFO  [muorb] SLPI: qshell gotten: ms5611 start -X -b 1
                              INFO  [muorb] SLPI:   arg0 = 'ms5611'
                              INFO  [muorb] SLPI:   arg1 = 'start'
                              INFO  [muorb] SLPI:   arg2 = '-X'
                              INFO  [muorb] SLPI:   arg3 = '-b'
                              INFO  [muorb] SLPI:   arg4 = '1'
                              INFO  [muorb] SLPI: *** I2C Device ID 0x3d0009 3997705
                              INFO  [muorb] SLPI: Set i2c address 0x76, fd 1
                              INFO  [muorb] SLPI: Set i2c address 0x77, fd 1
                              INFO  [muorb] SLPI: ms5611 #0 on I2C bus 1
                              INFO  [muorb] SLPI:  (external)
                              INFO  [muorb] SLPI:  address 0x76
                              INFO  [muorb] SLPI: 
                              
                              INFO  [muorb] SLPI: Ok executing command: ms5611 start -X -b 1
                              

                              Please check the pinout of J19 on voxl2 mini : https://docs.modalai.com/voxl2-mini-connectors/#j19---external-sensors-2x-uart-2x-i2c

                              Sorry the instructions are a little brief (for now) but i just wanted to post this, as I was able to make the external barometer work.

                              Still looking into the barometer calibration.

                              Alex

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

                              We have added support of the following barometers to voxl-dev branch of px4-firmware repo and you should be able to pick up the change tomorrow in the latest nightly build:

                              • bmp280
                              • bmp388
                              • ms5611

                              http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64/ (look for voxl-px4 and check build date).

                              the new barometers can be enabled connected to J19 (px4 i2c port 1, so -b 1) and modifying voxl-px4-start script:

                              qshell bmp280 start -X -b 1
                              qshell bmp388 start -X -b 1
                              qshell ms5611 start -X -b 1
                              

                              You should disable the onboard barometer icp101xx, otherwise there may be a conflict where two barometers are publishing under the same instance (at least when viewed with px4-listener). We will investigate this issue.

                              Alex

                              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