I have an ESC that outputs data like battery voltage, amp draw, RPM, motor and ESC temperature etc as a hexadecimal string from a serial port. I was wondering it was possible to use a companion computer (Say a RPi?) to convert that telemetry stream into something that ardupilot can use and display on the OSD?
You can convert it to either DroneCAN, Mavlink or one-wire (FETtec) . All are serial protocols and it is easy to create a software to do serial-to-serial translation.
why don’t you plug it directly on ardupilot and use a LUA script to do the conversion ? That would be the simplest version.
And RPI will be really expensive for this. Using an ESP chip or arduino will be far enough. Take your esc protocol as input, output mavlink ESC_TELEM (don’t remember the real name) message.