Future ODrive Electronics Discussion

I was doing some research, and apparently this was announced back in mid-May: the PIC32MK family of microcontrollers. They come in two variants, General Purpose (GP) and the more interesting Motor Control (MC).

As 32-bit chip that runs at a up to 120 MHz and contain up to 1 MB of flash, it should have a bit of power, but is slower then the Cortex-M4 on paper (198 vs 210 DMIPS). Full specs can be found here,



  • Up to 4 CAN 2.0
  • Up to 2 Full Speed USB (supporting Type-C for some reason)
  • Up to 6 UART Modules
  • Up to 6 SPI Ports

And for motor control:

  • 7 12-Bit 3.75-MSPS Each ADC Cores
  • 3 12-Bit DAC
  • 4 OpAmps
  • 5 Analog Comparators
  • 12 16-Bit PWM Timers
  • 6 Quadrature Encoder Interfaces (A welcome feature!)

WARNING, LARGE FILE: Full documentation

1 Like

The Texas Instruments C2000 class (c28xx) of MCU’s are also well suited for motor control. The launchpad dev boards are also pretty cheap as well as motion control libraries (some of them have these libraries in ROM). They do have their quickstep tho…

@madcowswe TI has newer 3-phase pre-drivers to replace the DRV8301, the cheaper DRV8323. They might reduce cost a bit. I didn’t realize how expensive these parts were when buying in low quantities. :exploding_head:

Block Diagrams



1 Like

Thanks for the heads up @Eric. I had a look at the chip recently and it looks good!
In fact, I had some questions for TI about the datasheet, if anyone here can shine some light, that would be useful: http://e2e.ti.com/support/applications/motor_drivers/f/38/p/619062/2281068#2281068

I don’t know if being 50 cents cheaper will make a big difference, but it has a nicer package and some improved features, which is nice.

I’m also looking at drv8323 due to possibility to measure 3 phases and configurable gate current.

Going to try building PoC with

So my suspicion that TI has made a fuckup on their pin labels is gathering evidence:

Along with the question I linked in the other post, it really looks like they are calling analog ground DGND, and that they call digital ground AGND.

They even say things like: “oh yeah, the SPI pins have pulldowns to AGND”. Like wtf.

I really want this to be the case, that it’s just a name swap mistake (and they roll with it because it’s burnt into so many people’s designs by now), and not some really crappy internal cross coupling of analog and digital signals in their chip…