At the end of last year, I was asked to show video from four cameras on the same display, to make complete situational awareness for a pilot. (Project was a BLOS power cable pull). Plus add some extra sensor information to the OSD display.
I was aware that there are solutions for this problem, but all of them were closed systems and modifying their OSD was out of the question. (PiP is a hard part here)
The result of the project is the OSDeluxe. A fully open source (HW and SW) Color, PIP capable OSD. Tailored for use with ArduPilot.
A hearth of the OSD is a Video processor ASIC, originally designed for security applications. Fortunately, it includes all necessary functions to make an excellent OSD. To drive it, I choose the Tennsy 3.2, it has more than enough resources for the task, and easily can be programmed in the Arduino environment, so adding functions to the OSD will be straightforward.
The OSD consists two stacked boards, so additional functions or inputs/outputs can be added to the top board without modifying the Video processor part.
In the video you can see one of the first test flight with the OSD.
Capabilities of the current version:
- 4 independent CVBS video input
- 3 analog output (3 CVBS or 1 CVBS and 1 S-VIDEO)
- 2 digital video (ITU-R BT.656) output and 1 digital video input (ITU-R BT.656, up to Full PAL, 120FPS)
- Video Scaler and PIP engine, any video input can be any size and location on the output.
- Two independent video processing pipelines, outputs can be assigned to any pipeline.
- 720x576 pixel 256color OSD, multiple pages.
- Mavlink (and MAVlink only) communication.
- Setup via MavLink PARAMS.
- 96Mhz ARM-Cortex M4 processor, with 256K flash and 64K RAM (Teensy 3.2)
- Arduino compatible development environment, GPL code. No RTOS, simple code loop.
- All teensy 3.2 inputs and outputs are available except one serial and one i2c port. 50% of flash and 70% of RAM available for additional functions.
Feel free to ask or recommend anything about this system. For common questions see the Q&A below
Q: Why do we need another OSD?
A: Because there is no affordable, color, PIP capable OSD with open source software and hardware available.
Q: When it will be available?
A: First prototypes are used in test flights, and software is approximately 80% ready. Code needs cleanup and more documentation. I expect that HW description and software will be available on Github at the middle of this May. (The only reason for not publishing it now, is my own perfectionism, I would like to publish code that is up to my standards.)
Q: Why not HD?
A: Processing HD signals are difficult, chips that are able to do it usually comes in BGA packaging, requires FPGA programming and to access certain chips and/or codes you have to be a member of the HDMI organization… These factors are all inhibiting the make of an accessible opensource OSD hardware and software.
Q: Why the Teensy?
A: Teensy is a very powerful platform with the user friendliness of Arduino environment. ESP32 was also considered, but the quality of modules and the Core code is not consistent compared to the Teensy.
Q: Can I buy it when it is ready?
A: A small quantity production run will be made in May.
Q: I want to preorder!
A: Thank you for your trust, at this moment it is adequate if you send an email to firstname.lastname@example.org about your intent to preorder.
Q: Nice, but I have some ideas to make it better.
A: Welcome! Use the discussion attached to this blog post to share your ideas, I’ll try to accommodate them if feasible.