This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRV8311: Arduino (or similar) code example to control BLDC motors with tSPI

Part Number: DRV8311

Tool/software:

Hi Ti Team,

We're testing use of the DRV8311 for open loop control of small BLDC motors (like a 1503, 1104, both 2750kV small hobby motors, very low phase-to-phase resistance, order of 1 ohm, running at 3.7V).

We'd like to use tSPI to control motor speed, similar to your example video here: How to spin 4 motors using DRV8311 with just 5 wires

Our MCU is an ESP32-C3, we use a standard SPI arduino library that works fine for 'normal' SPI.  We're only talking to the one DRV8311, can presumably get it to talk tSPI.

We've seen Yara's example  code doing tspi_read_block and  tspi_write_block in terms of how to do the  base read/write functions to SPI.


Can you provide a code example of actually using these to say start a motor, set its speed, change its speed, etc ?
Like the sort of code we'd need to implement something like you're doing in the video (how to spin 4 motors...) ?


We assume that when we're using the driver in this fashion, with tSPI, the DRV8311 is not able to do back-EMF or any sort of sensorless control, it's running just 'open loop' yes?  

Thanks, JoshS