My first steps into coding - How to upload?

Hi there,

I am using the Pixhawk controller on an RC car and have been successful at using mission planner to adjust variables, (RC3_Trim, etc) and create GPS waypoints and drive a route in auto mode. I have a switch on my RC controller set up to toggle between manual and auto modes. After several exciting runaway rover experiences, I finally have the throttle fail safe working, in case it goes out of radio range (See here: ).

I’m ready to take the next steps into (gasp!) manually changing the code. I want to start with a very small change then upload it to the rover. Is there a tutorial on how to do this? The tutorials have been great up to this point but I seem to have some major gaps in understanding what to do next.

I have opened the ardupilot code from GitHub in Make and I can compile it. Is this code considered the firmware? How do I get the compiled code loaded into the Pixhawk? Does the Mission planner software upload my new code if I go through the “Update Firmware” process? How does Mission planner know where I put my new compiled code?

If the Mission Planner doesn’t upload the code, is there a separate uploading tool? If I upload my code using a different program, will I still be able to use the Mission planner for creating routes and GPS waypoints and making minor change to the value of variables like RC3_trim?


You can use the Mission Planner to upload the your code to the Pixhawk.
Go to the Initial Setup screen and select Install Firmware.
In the last couple of lines of text on the screen there should be a “Install Custom Firmware” text.
If you click on the Install Custom Firmware text it will open a window to allow you to select your custom file and then upload it to the Pixhawk.
Note: You must have the Advanced View box checked in the Config/Tuning Planner screen to see the Install Custom Firmware text. Also, you cannot have a MavLink connection running during the upload, but you must have the Pixhawk Com port selected prior to trying to upload the code.