Skip to content

ESCs, Sensors and Accessories

413 Topics 2.4k Posts

ESCs, image sensors, ToF and tracking cameras, Microhard and cellular modems, power modules, GPS and other add-on boards.

  • cam does not seem to be alive issue

    Unsolved image-sensor
    26
    2
    0 Votes
    26 Posts
    7k Views
    G
    @Alex-Kushleyev sorry for the delay, this sounds about right. I'm not sure about the 15 fps but we do use raw preview only for our application and no other stream this is my camera conf file: cat /etc/modalai/voxl-camera-server.conf /** * voxl-camera-server Configuration File * * Each camera has configurations for up to 4 HAL3 streams: * - `preview` stream for raw unprocessed images from CV cameras * - `small_video` 720p (ish) h264/h265 compressed for fpv video streaming * - `large_video` 4k (ish) h264/h265 for onboard video recording to disk * - `snapshot` ISP-processed JPG snapshots that get saved to disk * * on QRB5165 platforms (VOXL2 and VOXL2 mini) you can only have 3 of the 4 enabled * * This file is generated from default values by voxl-configure-cameras. * Do not expect arbitrary resolutions to work, the ISP and video compression * pipelines only support very specific resolutions. * * The default video compression mode is cqp or Constant Quantization Parameter * * * */ { "version": 0.1, "cameras": [{ "type": "ov7251", "name": "stereo", "enabled": true, "camera_id": 0, "camera_id_second": 1, "independent_exposure": false, "fps": 30, "en_rotate": false, "en_rotate_second": false, "en_preview": true, "preview_width": 640, "preview_height": 480, "en_raw_preview": true, "ae_mode": "lme_msv", "ae_desired_msv": 60, "exposure_min_us": 20, "exposure_max_us": 33000, "gain_min": 54, "gain_max": 8000, "exposure_soft_min_us": 5000, "ae_filter_alpha": 0.600000023841858, "ae_ignore_fraction": 0.20000000298023224, "ae_slope": 0.05000000074505806, "ae_exposure_period": 1, "ae_gain_period": 1 }, { "type": "imx412", "name": "hires2", "enabled": true, "camera_id": 2, "fps": 3, "en_rotate": true, "en_preview": true, "preview_width": 4056, "preview_height": 3040, "en_raw_preview": false, "en_small_video": false, "small_video_width": 1024, "small_video_height": 768, "small_venc_mode": "h265", "small_venc_br_ctrl": "cqp", "small_venc_Qfixed": 30, "small_venc_Qmin": 15, "small_venc_Qmax": 40, "small_venc_nPframes": 9, "small_venc_mbps": 2, "en_large_video": false, "large_video_width": 2048, "large_video_height": 1536, "large_venc_mode": "h265", "large_venc_br_ctrl": "cqp", "large_venc_Qfixed": 38, "large_venc_Qmin": 15, "large_venc_Qmax": 50, "large_venc_nPframes": 29, "large_venc_mbps": 30, "en_snapshot": false, "en_snapshot_width": 4056, "en_snapshot_height": 3040, "ae_mode": "lme_msv", "ae_desired_msv": 65, "exposure_min_us": 20, "exposure_max_us": 33000, "gain_min": 20, "gain_max": 250, "exposure_soft_min_us": 3000, "ae_filter_alpha": 0.700000023841858, "ae_ignore_fraction": 0.20000000298023224, "ae_slope": 0.05000000074505806, "ae_exposure_period": 1, "ae_gain_period": 0.5 }, { "type": "imx412", "name": "hires", "enabled": true, "camera_id": 3, "fps": 3, "en_preview": true, "preview_width": 4056, "preview_height": 3040, "en_raw_preview": false, "en_small_video": false, "small_video_width": 1024, "small_video_height": 768, "small_venc_mode": "h265", "small_venc_br_ctrl": "cqp", "small_venc_Qfixed": 30, "small_venc_Qmin": 15, "small_venc_Qmax": 40, "small_venc_nPframes": 9, "small_venc_mbps": 2, "en_large_video": false, "large_video_width": 4056, "large_video_height": 3040, "large_venc_mode": "h265", "large_venc_br_ctrl": "cqp", "large_venc_Qfixed": 38, "large_venc_Qmin": 15, "large_venc_Qmax": 50, "large_venc_nPframes": 29, "large_venc_mbps": 30, "en_snapshot": false, "en_snapshot_width": 4056, "en_snapshot_height": 3040, "ae_mode": "lme_msv", "ae_desired_msv": 65, "exposure_min_us": 20, "exposure_max_us": 33000, "gain_min": 20, "gain_max": 250, "exposure_soft_min_us": 3000, "ae_filter_alpha": 0.700000023841858, "ae_ignore_fraction": 0.20000000298023224, "ae_slope": 0.05000000074505806, "ae_exposure_period": 1, "ae_gain_period": 0.5 }, { "type": "ov7251", "name": "tracking", "enabled": true, "camera_id": 4, "fps": 30, "en_rotate": false, "en_preview": true, "preview_width": 640, "preview_height": 480, "en_raw_preview": true, "ae_mode": "lme_msv", "ae_desired_msv": 60, "exposure_min_us": 20, "exposure_max_us": 33000, "gain_min": 54, "gain_max": 8000, "exposure_soft_min_us": 5000, "ae_filter_alpha": 0.600000023841858, "ae_ignore_fraction": 0.20000000298023224, "ae_slope": 0.05000000074505806, "ae_exposure_period": 1, "ae_gain_period": 1 }] } hope this helps
  • ESC Boot mode?

    Unsolved esc
    3
    0 Votes
    3 Posts
    952 Views
    Stefan AmundarainS
    @Alex-Kushleyev this issue was due to poor amperage out of the shore power module. swapped for a different power source and issue was resolved.
  • voxl2 mini, ov9782 + hires on J6

    Unsolved image-sensor
    7
    0 Votes
    7 Posts
    2k Views
    modaltbM
    Hi @Trinadh Can you confirm (using voxl-version) what version you have? e.g. should paste this info: -------------------------------------------------------------------------------- system-image: kernel: -------------------------------------------------------------------------------- hw platform: mach.var: -------------------------------------------------------------------------------- voxl-suite: -------------------------------------------------------------------------------- To confirm, you are using: VOXL2 Mini -> J6 -> M0135 --> JL for ov9282, and JU for IMX214? We don't have a binary setup for IMX214 or ov9782 on J6 upper, which is "ID 1". ls /usr/share/modalai/chi-cdk/ov9782 com.qti.sensormodule.ov9782_0.bin com.qti.sensormodule.ov9782_2.bin com.qti.sensormodule.ov9782_3.bin com.qti.sensormodule.ov9782_4.bin voxl2:/usr/lib/camera$ ls /usr/share/modalai/chi-cdk/imx214 com.qti.sensormodule.imx214_0.bin com.qti.sensormodule.imx214_2.bin com.qti.sensormodule.imx214_3.bin com.qti.sensormodule.imx214_4.bin So it seems like you would need a binary built for imx214 on "slot1", correct?
  • MO173 Vision Sensor specs

    Unsolved voxl2 sensors image-sensor
    2
    0 Votes
    2 Posts
    1k Views
    ModeratorM
    @Jetson-Nano The M0173 kits include the IR filter on all sensors.
  • Switching between cameras in QGC

    Unsolved image-sensor
    3
    0 Votes
    3 Posts
    664 Views
    Eric KatzfeyE
    @LR If you just want to change the camera that is streaming then modify /etc/modalai/voxl-streamer.conf to specify the desired camera. If you want to stream two or more cameras then you need to start a voxl-streamer instance for each one and specify a different port for each one. Then use voxl-mavcam-manager to inform QGC of the availability of the multiple streams. See https://docs.modalai.com/voxl-mavcam-manager/
  • Next Gen Camera Connectors

    Unsolved image-sensor
    7
    0 Votes
    7 Posts
    1k Views
    Alex KushleyevA
    @Jetson-Nano , just to add to what Vinny said and answer your specific question about vibration affecting the micro coax connectors. The difficulty associated with removal is separate from the connector’s robustness under vibration. Once the connectors are inserted (mated), they are difficult to disconnect without applying significant force that might actually break the connector (that is why a tool is required, which correctly separates the connector). This type of stress is very unlikely in typical applications, unless the drone crashes and camera or board is somehow ejected from the vehicle.
  • Connecting the Image Sensor Micro-coax Adapter to a Walksnail Camera

    Unsolved image-sensor
    3
    2
    0 Votes
    3 Posts
    885 Views
    VinnyV
    Hi @TomP Absolutely No. Do Not use our Micro Coax cables or adapter boards with ANY sensor other than provided by ModalAI. We spent months designing this new ecosystem of connectors, pinouts, and adapter boards with a ton of thought and care. Part of that is complete incompatibility with other vendors' products. https://docs.modalai.com/micro-coax-user-guide/ Thanks!
  • IMX 327

    Unsolved image-sensor
    2
    0 Votes
    2 Posts
    497 Views
    Alex KushleyevA
    @wilkinsaf , IMX327 no, but IMX664 maybe I think IMX664 is close to or better than IMX327 for low light, what do you think? Alex
  • Camera advice

    Unsolved image-sensor
    2
    0 Votes
    2 Posts
    503 Views
    Alex KushleyevA
    @Magnus-Eide-Fredriksen Please take a look at the following spectral sensitivity plots for the cameras we support: IMX412: https://www.framos.com/wp-content/uploads/FSM-IMX412_V1B_Datasheet_v1.1c_Brief.pdf IMX678: https://www.framos.com/wp-content/uploads/FSM-IMX678_V1A_Datasheet_v1.0d_Brief.pdf It seems IMX678 is more sensitive at the 940nm (relative sensitivity at 940nm to normal color range). Also, IMX678 by itself has higher sensitivity / lower noise compared to IMX412. We currently sell the following camera, which integrates the Framos module. It is not recommended for new designs, as quantities may be limited. https://www.modalai.com/collections/image-sensors/products/mdk-m0061-2 We are also working on a new version of IMX678 , similar to this IMX412 module : https://www.modalai.com/collections/image-sensors/products/msu-m0161 , but i don't have the ETA. If you wanted to try something that we have now, the best option may be M0061 camera module, but please review the information I linked above. Additionally, you can review the following page for comparison ; https://www.sony-semicon.com/en/products/is/security/security.html -- check the SNR1s (lx) *2 column for the two cameras, which is the "index used to quantitatively evaluate picture quality at low illumination" - basically the lower the number, the less pixel noise in low light conditions and IMX678 has about 4x lower quanity (which may or may not translate to 4x less noise, but something along those lines). Please note the IMX678 has less pixels than IMX412 (8.3 vs 12.3 Mpix) and aspect ratios are different (16:9 vs 4:3). Both IMX412 and IMX678 are supported by our SDK and we can help with testing if needed. Alex
  • ELRS receiver keeps getting unbinded after a reboot

    Unsolved
    5
    0 Votes
    5 Posts
    3k Views
    Jetson NanoJ
    @Zachary-Lowell-0 Below is the output of what I get from executing cat /etc/modalai/voxl-px4.confg voxl2:/etc/modalai$ cat voxl-px4.conf #!/bin/bash # # voxl-px4 Configuration File # # GPS: # Tell PX4 which GPS to use. If there is no GPS unit use NONE. Otherwise # choose AUTODETECT and the startup script will attempt to automatically # configure the GPS, magnetometer, and status LED # Options include: [NONE, AUTODETECT] # # RC: # Tell PX4 which RC transmitter to use. # Use EXTERNAL when getting RC control from external Mavlink messages (e.g Via QGC) # Options include: [SPEKTRUM, CRSF_MAV, CRSF_RAW, M0065_SBUS, EXTERNAL, FAKE_RC_INPUT] # # ESC: # Tell PX4 which type of ESC to use. # Options include: [VOXL_ESC, VOXL2_IO_PWM_ESC] # # POWER_MANAGER: # Tell PX4 which power manager to use. # Use NONE for ModalAI Mini-ESC since the ESC driver handles PM. # Use EXTERNAL when not using the ModalAI APM power manager to power the board # This also just disables the voxlpm driver, same as the NONE option # Options include: [VOXLPM, EXTERNAL, NONE] # # DISTANCE_SENSOR: # Tell PX4 which distance sensor peripheral to use. # Note: The sensor will be started on the RC port so it is only # really possible to use it when using external RC. # Options include: [NONE, LIGHTWARE_SF000] # # OSD: # Tell PX4 whether to enable OSD (on-screen display). # Options include: [ENABLE, DISABLE] # # DAEMON_MODE: # Tell PX4 whether to enable daemon mode. # Options include: [ENABLE, DISABLE] # # SENSOR_CAL: # Tell PX4 where to source sensor calibration information. # Options include: [ACTUAL, FAKE] # # EXTRA_STEPS: # Optional field that allows a user to define custom commands to be run by PX4 on boot. # Must be a valid bash array as seen below # Example: EXTRA_STEPS=( "qshell gps start" "qshell commander mode manual" ) # # GPS=AUTODETECT RC=CRSF_RAW ESC=VOXL_ESC POWER_MANAGER=VOXLPM DISTANCE_SENSOR=NONE OSD=DISABLE DAEMON_MODE=ENABLE SENSOR_CAL=ACTUAL EXTRA_STEPS=() Thanks for the follow-up. Here’s more information based on your questions: Initial Binding: Initially, I ran voxl-elrs --bind, and it connected successfully to the transmitter without any issues. It would automatically reconnect after each power cycle as expected. However, after a period of use, this new behavior started happening where it no longer connects automatically after rebooting. Controller Reboot: Rebooting the controller has not resolved the issue. When the drone is powered on, the receiver’s LED stays solid rather than blinking slowly as it should when searching for the transmitter, and rebooting the controller doesn’t seem to initiate the connection. Intermittent Connection: Interestingly, there are times when, if I power on the drone before powering on the controller, the connection will establish without needing to reboot the receiver. However, this is inconsistent, and I still often have to physically unplug and replug the receiver to get it to connect. Possible Driver Issue: As you suggested, it does seem like the driver might be getting stuck in the search process at times. Here’s the output you requested from cat /etc/modalai/voxl-px4.config Hopefully, this helps to pinpoint what might be causing the issue. Thanks again for your assistance!
  • M0173 VOXL 2 Front End - Pinouts for STM VL53L1CX Rangefinder

    Unsolved
    1
    2
    0 Votes
    1 Posts
    415 Views
    No one has replied
  • 4-in-1 mini ESC max ratings

    Unsolved esc
    3
    0 Votes
    3 Posts
    753 Views
    Morten NissovM
    @Alex-Kushleyev Sorry for the delay, didn't notice the alert. But great, thanks!
  • VOXL2 - Legacy TOF MSU-M0040-1-01

    Unsolved image-sensor
    1
    1
    0 Votes
    1 Posts
    322 Views
    No one has replied
  • Monitor Sierra Wireless 5G signal?

    Unsolved cellular
    11
    1 Votes
    11 Posts
    4k Views
    P
    @Thomas-Eiszler That's the plan we're working towards also, I did make some tries with AT commands also, but had to put the work aside for other commitments in the past few weeks. The information from yourself and @groupo above helps a lot. It shouldn't be too hard to make a service out of a python script for this. I'd been pursuing getting the data direct from the Qualcomm chipset, but AT commands and gpsd queries seen to be the way to go.
  • White Balance

    Unsolved image-sensor
    3
    0 Votes
    3 Posts
    545 Views
    G
    @Alex-Kushleyev Thanks for getting back to me. For what I am working on setting a fixed whitebalance seems like it would work, but I would at least find it useful if the white balance were tune-able. For my application I'm using the Modal drone for supervising Gaussian Splat training with an image stream, and color consistency across frames is important for good reconstruction otherwise I'll have to do color correction in the map which is a pain. Not sure if a lot of other people are using the HiRes for scene reconstructions so maybe its not universally useful though!
  • Not able to connect IMX678 with VOXL2 M0154

    Unsolved image-sensor
    1
    4
    0 Votes
    1 Posts
    370 Views
    No one has replied
  • GCS setup with Doodle Labs

    Unsolved
    1
    0 Votes
    1 Posts
    498 Views
    No one has replied
  • Quectel 5G-Modem doesn't work at all

    Unsolved cellular
    25
    0 Votes
    25 Posts
    8k Views
    Jerry LinJ
    OK, cool thanks Will try.
  • Add-on boards with support for Doodle Labs

    2
    0 Votes
    2 Posts
    784 Views
    ModeratorM
    We have updated our docs here: https://docs.modalai.com/doodle-labs-user-guide/#voxl-2-10-pin-usb-add-on-boards
  • Compatibility and Usage of 5G Modem with Starling 2 Drone

    Unsolved cellular
    1
    0 Votes
    1 Posts
    593 Views
    No one has replied