Using the ArduPilot onboard OSD is possible on board types that have an external SPI port accessible, including Pixhawk. All it requires is a MAX7456 type OSD SPI breakout board like this: http://www.hobbytronics.co.uk/max7456-osd-breakout
and a few lines added in the respective board’s hwdef.
All OSD code processing is done onboard your flightcontroller. There’s no firmware processing for the OSD board required as it only carries the video chip circuitry. OSD settings handling is done via parameters just like with onboard OSD type hardware.
I have added OSD hardware to a revomini board using the SPI pins accessible on OPLink port:
setting the OSD active and making the build system add the required font binaries:
see onboard OSD type flight controllers’ hwdefs for reference.
there might be other solutions coming up to support external backends to ArduPilot OSD on hardware without video overlay chipsets. this one imho is fairly easy to do on current code base and adds a noticeable amount of convenience and functionality compared to using 328p type standalone OSD hardware.
Basti I think you just saved a uart for a lot of people!
I didn’t know those breakouts existed! @tridge this might be a reasonable default for external spi buses (or a good enough excuse to parametise spi)…
all those minimOSD boards catching dust didn’t let me rest, so i tried to modify an airbot microOSD and access the videochip’s SPI. i actually found that the airbot microOSD (the one i prefereably used as a standalone for the AB7456’s stability and low power consumption) does have SCK, MISO and MOSI exposed as solder-pads:
I am new here, and i am new in ardupilot. I have a pixhawk 1 with six blheli_32 esc’s. The telemetry works great, but i want to see the esc’s current on osd. I ordered a MAX7456 breakout board, and connected it to SPI port. But how will it work? I dont’t know what is hwdef, or how can i modify it. Please can somebody write a step by step guide for me?
@kalalaa as for now adding an external SPI OSD backend to pixhawk type hardware requires individual changes to the respective board’s hardware definition file (hwdef) and compiling a customized firmware.
this http://ardupilot.org/dev/index.html is the best place to start for setting up a build environment.