The very basics: the Arduinos (and other microprocessors) are nothing but small, cheap, miniature computers. They have a clock, memory and processor. Using code, they can repeatedly, endlessly and faultlessly, read inputs and effect outputs.
Inputs for us are going to be transmitter signals and any type of on-board sensor. Light? Ultrasonic? GPS? Gyro? It doesn't matter - all manner of sensors are available, and they are all remarkably cheap and available. Outputs will tend to be lights, audio and - most usefully - commands that can control servos and ESCs.
Code is not difficult: you can think of it as nothing more than instructions, like a recipe, a knitting pattern or a part of a Haynes Manual. 'Do this if that', 'If done, now do the other'. Programs written in code (typically written on a PC) can be downloaded to the Arduino, tested, stored and initiated when the Arduino is powered up. Code has to be written in a specific manner to be actioned properly in order to avoid misinterpretation. Follow the rules governing the syntax (a posh word for the components of the language of the code) and you won't go far wrong.
So how do you start?
The best approach is to simply sketch a plan for what you want to achieve.
I'll be kicking off a 'how to write a mixer' thread over the next couple of days. Plenty of diagrams and examples will follow.
Using microprocessors is not rocket science (and neither is, it has to be said, rocket science!) and we should be open to embracing the opportunities this new technology is opening for us.
Andy