Quadcopter Microcontroller Slection

The controller for the quadcopter is the brains of the operation. The first part of the design is to choose a microcontroller. Since I am most familiar with the Microchip IDE and I already own the microchip Tools.

I chose two candidates from Microchip:

Device Flash Memory RAM Timers Output Compare ADC UART I2C
dsPIC33FJ256GP710A 256KB 30KB 9 8 12 bit 2 2
PIC32MX795F512L 512KB Program + 12KB Bootloader 128KB 5 5 10 bit 6 4

Comparing the two:

  • Flash Memory: The PIC32 wins here 512KB vs 256KB, I may or maynot need the extra memory but since I am more of a hardware guy than a software guy it wont hurt to have extra memory.
  • RAM: The PIC32 here wins again 128KB vs 30KB, this could be important because I could use the RAM to log data on the PIC32 on the DsPIC I would probably have to use external serial memory such as FRAM which is expensive and the transfer rate would be much slower than the on-board RAM.
  • Timers: This is bascally a tie although the DsPIC has more Timers I probably only need 2: 1 for the PID loop and 1 for the PWM.
  • Output Compare: This is bascally a tie although the DsPIC has more Output Compare Channels, I only need 4: 1 for each motor.
  • ADC: The DsPIC wins here hands down a 12bit ADC gives you 4 times the resolution
  • UART: This is bascally a tie although the PIC32 has more UART Channels, I only need 1
  • I2C: This is bascally a tie although the PIC32 has more I2C Channels, I only need 1 or 2

Continued on next post.

Andrew