vs.
- Three Serial Ports (2 com + USB) (full duplex telemetry plus GPS) vs. 1 com/USB on Atmel.
- 12 bit ADC vs Atmel's 10 bit. (4 times better resolution).
- Included USB (faster everything, more reliable, and save $ on FTDI)
- Matrix divider (Both have fast multiply, but Freescale includes Fast divider as well)
- Freescale runs at 48Mhz vs 20 Mhz
- Both have 6 PWM
- USB bootloaders vs. Serial Botloader
So the bigger question is really to the heart of Open Hardware and Arduino - is it worth paying 5 times the price for weak hardware, and a weak IDE just because some components of the tool chain are more open than Freescale's free IDE (which is arguably less "light" than then infinitely light Arduino IDE). Is the Atmel's proprietary chip really "Open Source" if one tool chain component is "open Source" - and is the premium worth it. I have lots of Arduino's and I like them, but I can't help feeling they are a closeted serial device in a USB world, and overpriced (a Freescale Arduino-Clone would probably cost $6 vs. Arduino's $32 because the USB is built-in.)
Just Saying...
Comments
OpenServo project - convert standard servos to I2C operation. Available from SparkFun for $14.95/each.
You raise the point that integration of all functions into a single mcu leads to the most optimal solution.
The alternative is that small mcu's focused on particular problems leads to the most optimal solution.
I think the answer lies in the real-time continuum; The more real-time the problem, the more a discrete mpu is indicated. Because flight is a full time problem, each of the tasks can be optimized by having the processor shrunk down to the problem size. (common functions like communication, telemetry, power, and data-logging should be bussed.)
For example, the GPS is a dedicated processor - highly specialized I might add, the ESC's are each processors, and the radio likely has a processor - each of their functionality could be integrated into a single hi-performance processor - but to what advantage? Maintaining the code is more exponentially difficult, costs are not improved, and wiring harnesses can be heavier and more complicated as all wires have to terminate in the same place.
With a properly bussed system, a few wires form a backbone, and modules are connected close to where they are mounted.
I think what you want is a good bus.
Oh... look at that... the example I chose has both USB/UART communications. Looks like it could be integrated if you really wanted to make it happen.
1 - you can have more than one, so big planes with gear, gear doors, flaps etc can have 2 or 3 servo boards
2 - you can share the cost of your servo board with everyone else who uses servos (robot arms, spider robots etc...)
3 - you can leave them installed in your various planes, and move the more expensive radio mcu gps telemetry stuff around.
4 - it's Plain Jane Arduino (100K units experience)
5 - finally - you've exposed an I2C bus standard, which very quickly becomes the standard port for all other modules, so you don't have to worry about pin patterns lining up from version to version, or having your Ardupilot pressure module not fit onto your ArduPilot MEGA board. 4 wire I2c has sufficient bandwidth and distance for all control aspects of a uav.
Clearly, the code has now been segregated, splitting the boards is trivial. I would do it when the USB Arduino platform is released. Native USB Arduino Servo boards will rock the house.