I have intention to design my own Radio Controller system. I was thinking to use WIFI connection from Raspberry Pi Pico. The system should look like this:
(Flight controller) <–serial port–> (Pi Pico W) <----WIFI----> (Pi Pico W) <—> analog sticks and buttons
I am happy with the range of WIFI from my Pico.
could someone guide me from where shall I start to adapt the Ardupilot for my needs?
Note: I know how to work with my Pi Pico and manage the WIFI connection.
MAVLink can certainly be used on a serial link.
But “Radio Control” is not the same thing.
Here’s a wiki page on mavlink: MAVLink Basics — Dev documentation
I haven’t tried it, but I believe it is possible to configure a vehicle to operate with just a GCS and no RC system.
If you’re writing a MavLink controller, you may as well just use Mission Planner to control your craft. Mark is right - you can use GCS only control (though usually not recommended, especially if you are tuning a new vehicle).
Why are you set on this Pi Pico architecture? It seems like a fair amount of work that needs not to be done. $300 gets you an out of the box solution with graphical telemetry that will outperform (by orders of magnitude) anything you can do with a Pi and game controller or similar.
The answers you’re seeking are available via Google search. From my perspective, and I don’t mean to be too harsh, this type of project really doesn’t move ArduPilot forward in any meaningful way. Perhaps you’d be better served asking for support from a Pi or Arduino forum.
Multiple libraries are available for microcontrollers and RC/telemetry protocols. MavLink is almost certainly not the answer. CRSF or ELRS might be. None of that is ArduPilot specific. Good luck. I’m out.
A radio control link typically provides commands at a rate of 50Hz or better, from a dedicated transmitter and using a highly reliable RF link. I don’t know whether mavlink functionality is capable of duplicating that, or whether it was ever intended to do so.