Integrating FLIR BOSON as USB-connected camera on VOXL
We have a FLIR BOSON 320 IR camera (resolution = 320x256). We connected this camera to a Windows laptop via USB. We downloaded and ran the Manufacturer's FLIR Boson GUI. With the GUI open, and the FLIR camera connected, we can see video streaming to their GUI. This leads us to believe that the camera is functioning properly and can stream video via a USB connection.
On the FLIR Boson GUI, we found that to change settings on the camera, we needed to select the COM port in the bottom-right of the GUI. With that selected, we confirmed the USB Video mode was set to "UVC" (instead of "IR16").
We connected the IR camera to the USB port on the VOXL. We found it was sending data on /dev/video2. We updated voxl-streamer.conf to use dev/video2 for the device. We ran 'voxl-streamer -c uvc-video'. On QGC, the video stream would come through, but it would produce a green screen (with occasional blips where strips of the screen would have black and white noise).
We tried opening up the rtsp stream using VLC to see if QGC was the problem. VLC threw an error and would not display anything. We reverted to using QGC with the green screen.
We experimented with the resolution in voxl-streamer.conf (including 320x256 and 640x360 and 640x480) and the frame rate (15, 30 and 60), but this did not make it work.
Since there are two USB connectors on the IR camera, we tried each one. That didn't work.
We read in a forum post that a green screen from a camera means that the camera is underpowered. We built a cable that would allow us to supply power to the camera from another source that we knew could supply sufficient power. This did not work. We ditched the custom cable and connected it via USB again.
Do you have any documentation or instructions on setting up a FLIR boson camera with VOXL?
Hi @jaredjohansen ,
I'm not 100% sure this is exactly the issue, but we've tried something similar.
If using one of the USB ports out of an add-on board, you'll have that current limit, so a custom cable indeed is needed to get enough power to the unit. It's also possible out of the side ADB port, using a custom USB3 cable, but it's a pretty bulky cable...)
The other trick appears to be in power management:
- power off boson DC supply
echo -1 > /sys/module/usbcore/parameters/autosuspend
- power on boson DC supply
A few assumptions were made so I could be way off, but perhaps this is of help.
Daniel Ryu last edited by
@modaltb Unfortunately our current setup with the DC power being separate from the signal wires is still traveling via Fedex from a trip, so instead I ran your instructions on another voxl drone that had power and signal together, so the steps with disconnecting power I did by disconnecting the whole cable (I wasn't sure if this invalidates the whole solution). Another thing I would like to observe is that I ran the same start-uvc-stream.sh script on an m500 that still has the old gimbal that used to come with it, and I am also unable to stream from that despite being able to do so earlier about a month ago. Could it be an issue with some update to the system software or voxl-streamer? Unfortunately I don't have anymore devices I can use to test this issue.
@Daniel-Ryu We do not officially support Boson cameras at the moment but we have played with them a bit in the past. The one we used needed to be plugged in to the adb USB port with a standard USB 2.0 cable since that port supplies more power. If we plugged it into one of the USB ports on the add on board we needed external power and the little power management trick Travis mentioned above. Also, we needed some custom UVC driver code that is not currently publicly available. And... voxl-streamer was developed against QGC v3.5.6. It does not work reliably on newer versions. We plan to add Boson support and support for new versions of QGC in the future but have no firm date yet.
Daniel Ryu last edited by
@Eric-Katzfey Voxl-streamer has been working fine so far with our current software, and I can test against QGC 3.5.6, so the main issue to worry about is the power issue you described. Could the custom UVC driver code be made available? The Boson IR camera is currently a critical component of our project
@Eric-Katzfey we are trying to do something similar and have been able to connect a Boson through the USB3/adb port. If we still also need to be able to use adb to connect to a computer, can this be done through the USB port on the debug expansion board?
check out the latest voxl-flir-server for software integration
The Flir Boson requires more power than USB 2 can support, but otherwise works. So, if you splice in external 5V power it works through the expansion USB on the debug/microhard/LTE boards.