I originally thought the advantage of PIC32 was the ability to handle more sophisticated RTOS, like ones that are linux based. Unfortunately it lacks a Memory Management Unit (MMU) and enough ram.

So now I'm trying to understand when would you pick a PIC32 over a dsPIC33?, aside from when you need a 32-bit processor

dsPIC seems more promising. It has a DSP engine, and the ability to have more than twice the amount PWM as pic32 (up to 14), and can come with a Quadrature Encoder.

Both architectures can come with a DMA, DAC, Digital communications (I2C, SPI, UART) and a Real-Time Clock and Calendar enter image description here

enter image description here


1 Answer 1


dspPIC33 is intended for Digital Signal Processing applications - FIR/IIR filters, Fast Fourier Transform, Audio Effects Algorithms, ... PIC32 is intended for more "general" use - it can do everything that dspPIC can, but much slower because of the lack of MAC (Multiply-Accumulate Unit or in Micropchip jargon - HW Mutiply/Divide) and MMU can be always added to PCB. Microchip has some support for porting FreeRTOS to PIC32, but I haven't tried to yet.

  • \$\begingroup\$ Both come with a HW Multiply/Divide, just look closer at the architecture images I posted. I've integrated FreeRTOS on my dsPIC33, it's compatiable with PIC24 dsPIC30/33 as well. Don't know what you mean by general, doesn't really answer. Not sure if I agree about PIC32 "can do everything that dspPIC can". It doesn't have a Quadrature Encoder Interface, so in motor application with closed loop I'd recommend dsPIC33 over that. \$\endgroup\$
    – Iancovici
    Aug 8, 2013 at 18:36
  • \$\begingroup\$ HW Multiply/Divide are different in dsPIC33 and PIC32, in the first one it is optimized for DSP. PIC32 also has for example CAN bus and QEI can be solved with software, just like in my case. \$\endgroup\$ Aug 8, 2013 at 18:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.