FLIR LEPTON 3.5 Thermal camera with VOXL 2
-
@Jetson-Nano , I just tested this and it's working. You may have an issue with pinout, please check https://docs.modalai.com/M0173/#j6---sm08b-srss-tb
voxl-lepton-server ================================================================= spi_bus: 0 spi_speed: 16000000 en_i2c: 1 i2c_bus: 4 shutter_mode: auto flow_shutter_s: 20 closePeriodInFramesInAir: 1 openPeriodInFramesInAir: 0 desiredFfcPeriodMsInAir: 360000 desiredFfcTempDeltaCentiDegInAir: 600 assign_cpu_num: 7 en_timing_msg: 0 en_rotate: 0 ================================================================= thread is now locked to the following cores: 7 attempting to init the io expander Attempting intitialization for M0188 (TCA9543A) ERROR: in voxl_i2c_read_bytes, failed to write to bus io_expander_init, failed to read TCA9543APWR control register If you are not using an M0188 lepton board then this is expected Attempting intitialization for M0187 (PI4IO) ERROR: in voxl_i2c_read_bytes, failed to write to bus io_expander_init, failed to read from io expander If you are not using an M0187 lepton board then this is expected attempting to open I2C CCI trying address 0x2a successfully opened I2C port Successfully connected to I2C CCI waiting for first frame from lepton to create MPA pipes id number out of range, cnt: 156, 100 segment number OOB: 12 id number out of range, cnt: 98, 200 WARNING Expected segment 0, received segment 4 id number out of range, cnt: 136, 300 id number out of range, cnt: 177, 400 id number out of range, cnt: 92, 500 bad id limit reached so syncing lepton, sync_count: 2 creating MPA server pipes enabling MPA control interface ... (success)
-
@Alex-Kushleyev Thank you for reverting back.
I am using custom Board for the Lepton, with MCBL-00105-02 cable for the connection. I will verify the pinouts.
I checked the camera with different board and it is working now. -
This post is deleted! -
Hi @Alex-Kushleyev @modaltb @Eric-Katzfey
I still have the same error when i use my custom board. Could you verify my board pinouts. -
@Alex-Kushleyev hey , I just had query , when i am using the groupgets thermal breakout board , the video is delay in the video feed. it is not ideal. it is a parameter error or the thermal board issue. is there any thermal camera board which will give me good and clear video stream
-
@Alex-Kushleyev @Eric-Katzfey @modaltb
guys any help with solving this issue.
this the video feed I am getting.
voxl2:~$ voxl-lepton-server ================================================================= spi_bus: 0 spi_speed: 16000000 en_i2c: 1 i2c_bus: 4 shutter_mode: manual flow_shutter_s: 20 closePeriodInFramesInAir: 0 openPeriodInFramesInAir: 1 desiredFfcPeriodMsInAir: 360000 desiredFfcTempDeltaCentiDegInAir: 600 assign_cpu_num: 7 en_timing_msg: 0 en_rotate: 1 ================================================================= existing instance of voxl-lepton-server found, attempting to stop it thread is now locked to the following cores: 7 attempting to init the io expander Attempting intitialization for M0188 (TCA9543A) ERROR: in voxl_i2c_read_bytes, failed to write to bus io_expander_init, failed to read TCA9543APWR control register If you are not using an M0188 lepton board then this is expected Attempting intitialization for M0187 (PI4IO) ERROR: in voxl_i2c_read_bytes, failed to write to bus io_expander_init, failed to read from io expander If you are not using an M0187 lepton board then this is expected attempting to open I2C CCI trying address 0x2a successfully opened I2C port Successfully connected to I2C CCI waiting for first frame from lepton to create MPA pipes creating MPA server pipes enabling MPA control interface client "voxl-portal78592109" connected to channel 0 with client id 0 client "voxl-portal64940239" connected to channel 1 with client id 0
-
@Jetson-Nano , this looks like a sensor issue. VOXL2 does not do any configuration of the sensor's parameters, other than it can change the calibration interval based on config file, I believe.
What you are seeing appears to be artifacts in the sensor itself, maybe due to noise on power rail(s). This is not an expected behavior, but it should not be caused by a SW configuration from the VOXL2 side.
Alex
-
@Alex-Kushleyev @Vinny @Eric-Katzfey @modaltb
I am currently in the process of designing a custom thermal breakout board intended for integration with the M0173 Coax Board.
As part of this configuration, I have already had the board manufactured. However, during testing, I observed that the VOXL2 Board is not recognizing the camera, and it throws the error message pinned at the top of this thread.
To ensure the design is moving in the right direction, I would like to request your feedback on the following:
-Whether the overall design approach is technically sound and compatible with the M0173 and VOXL2 systems.
-If there are any missing components or critical connections that may be causing communication or recognition issues.I would greatly appreciate your time and expertise in reviewing the attached schematic of my breakout board.
Thanks.
-
Hi @Jetson-Nano
I do not see anything obviously wrong with your design, so we may be dealing with nuances that even we had to update our design for.- FLIR suggest to connect MOSI (pin 11) to GND, per page 45 of their spec
2a) There is a chance you have too much capacitance on the 2.8V rail. Our PMICs have limitations on the inrush specs and a 4.7uF I think puts that limit over the suggested amount by Qualcomm. I suggest lowering that to 2.2uF (what we use on our LDO) or even better 1uF. The 1.2V rail per specs (that I have which are a few years old) suggest the 1.2V rail only needs ~110mA
2b) We use a small LDO, not a DC/DC. Not sure if the Lepton is happy with the noise of a DC/DC compared to an LDO and having issues or not. For reference we use a 500mA LDO from TI (TPS7A11xx family)
2c) in relation to 2a above, what are the values of C3 and C2? If they are large (>=4.7uF) I suggest try lowering them to 2.2uF or 1uF's.- For reset, this is where we found the biggest issue with the Leptons. We actually have a I2C GPIO expander on our design to issue SW controlled resets of the Lepton. It is not the most stable sensor and frequent resets are required for good operation. Here is our circuit if you want to try it yourself:
For debugging your exact setup, one thing we do is validate if we hear the shutter click (or see the micro actuator move) on power up. Does your HW give that noticeable clicking when you try to power on? If not, you have a more serious issue such as a wrong PCB symbol or incorrect assembly.
Hope that helped.Last resort, just use our M0187 design that we have for this. I'm not seeing it online for sale, but I can inquire with the team if we plan to make that available for individual use (it is embedded in Starling 2's now).
-
I also double checked the schematic and did not notice anything wrong. Please follow Vinny’s suggestions
and definitely check if the Lepton is making the clicking sound, which would mean it is powered on, it should be clicking periodically in default mode after power on.
-
@Vinny @Alex-Kushleyev
Thank you for your invaluable feedback on the previous design. I have thoroughly reviewed your input and subsequently updated the schematic to incorporate the suggestions, specifically regarding the integration of an I2C GPIO expander. The updated schematic is attached for your review.During recent debugging, I observed a critical issue: the Lepton module is not powering up, and no shutter sound is audible. This suggests a fundamental problem with power delivery or clocking to the module, which is currently preventing any functionality.
Concurrent to addressing this critical power-up issue, I would appreciate your expert insights on a few points concerning the updated design of the I2C GPIO expander and Lepton module interfacing:
-
I2C Bus Configuration: Regarding the I2C bus, should the I2C lines be connected in parallel to both the Lepton Module and the I2C GPIO expander?
-
Lepton Reset/Power Down Pins: Concerning the Lepton Module's RESET_N and POWER_DOWN_N pins, should the existing resistor-capacitor (RC) network connected to the RESET_N pin be retained, or can it be omitted?
-
I2C GPIO Expander INT Pin: For the I2C GPIO expander, is it permissible to leave the INT (Interrupt) pin unconnected, or does it require termination?
-
I2C GPIO Expander Software Configuration: From a software perspective, is the I2C GPIO expander a plug-and-play component, or does it require specific configuration?
Your guidance on both the immediate power-up challenge and the schematic queries would be greatly appreciated.
Thanks.
-
-
Hi @Jetson-Nano
Happy to continue helping.
Regarding your updated design first:
"I2C Bus Configuration: Regarding the I2C bus, should the I2C lines be connected in parallel to both the Lepton Module and the I2C GPIO expander?"
-- Yes.
"Lepton Reset/Power Down Pins: Concerning the Lepton Module's RESET_N and POWER_DOWN_N pins, should the existing resistor-capacitor (RC) network connected to the RESET_N pin be retained, or can it be omitted?"
-- We do not have any RC delay on the reset line since it is all GPIO controlled.
"I2C GPIO Expander INT Pin: For the I2C GPIO expander, is it permissible to leave the INT (Interrupt) pin unconnected, or does it require termination?"
-- It is an output and we do not use it, so N.C. is fine
I2C GPIO Expander Software Configuration: From a software perspective, is the I2C GPIO expander a plug-and-play component, or does it require specific configuration?
-- It is supported at that HW address by default with voxl-lepton-server (I think that it what is called, Alex can correct me if I'm mistaken)
However, your updated SCH has a couple errors:
-
Your LDO input and output caps are not correctly done. They are in series, not shunts to GND as required:
-
The Pull-down R on the GPIO expander is not correct. The ADDR pin will always be HIGH due to the direct connection to 2.8V, but our default is LOW (see the snippet from above):
-
Also, the GPIO expander is meant to drive the RESET input of the Lepton, not the PWR_DWN input:
Now, as to your existing board not powering on, I have a clue for you...
Our very first lepton board we failed to notice the pin 1 hole in the Molex socket, and that is important since it sets a keying for the Lepton module. If the module is inserted incorrectly (90 or 180 off) it will clearly not power up. Pay close attention to the hole in the socket for pin 1 and two vs one slots in the socket which set the orientation.
Keep us posted and hope this helped.
-
-
Thank you for your valuable feedback on the previous version of the schematic. Based on your recommendations, I have revised the design accordingly.
Please find the updated schematic attached below for your review
In addition to the design changes, I have also revisited the hardware setup to verify the power delivery, the Lepton module is still not powering up—there is no shutter sound or I²C response. At this point, I have exhausted the immediate troubleshooting steps and would greatly appreciate your guidance on further debugging strategies.
Could you please review the updated schematic and suggest any additional tests or possible points of failure that may have been overlooked?
Thank you again for your support and expertise.
-
Hi @Jetson-Nano
Sch updates look correct. I'd still add a pull-up on the Lepton Reset to help control it during initial power-ON before the IO expander is configured.To help further debug your existing setup, I'd need more tangible info such as pictures with all your cables, etc. Do you have a DMM handy showing the voltages of 1.2V and 2.8V, and an O-scope for the 25MHz?
Can you also post a pic of your board without components installed (so I can review the layout as best as possible)?
It's hard to give much further guidance without actual hardware in my hands.
Thanks!