Knowledgebase Contact Us
How Can We Help?
< Knowledgebase

Driving the DNO by Raspberry Pi

Our DNO range is ideally suited for use as an interface between a Raspberry Pi, Arduino  etc, and a motor. The Pi can provide a PWM output via its GPIO pins and this can be fed directly into the input of the DNO.

A configuration that we have used successfully with the Pi is as follows;

  1. Connect the ground of the Pi [pin 6] to pin F [green] on the DNO 6 way connector.
  2. Connect GPIO8 [pin24] of the Pi to to pin E [blue] on the DNO 6 way connector.
  3. Connect a 10k ohm resistor between pins D and F on the DNO 6 way connector to bypass the pot fault detection circuit.
  4. Pins A and B on the DNO 6 way connector need to be connected together to activate the ignition circuit.
  5. Adjust the gain pot on the DNO to maximum to allow full speed to be achieved with the 3.3V output from the Pi.
  6. The reverse signal on pin C needs to be B+ [or at least 12V], this can be achieved with a level shift mosfet.

raspberry pi

We have tested the DNO satisfactorily between 10Hz and 10kHz.

There are a number of programs / scripts available that give control of the frequency and duty cycle of the PWM output from the Pi. We have written a sample control program in Python which you can download.

Note; you may need to pay attention to ground loops through the PSU for the Pi. For the circuit above we used an isolated PSU plugged in to the mains. If you wish to run the Pi with a non-isolated PSU from the same battery that drives the DNO / motor, then, if the ground of the PSU is connected directly to B- there is the possibility of creating a ground loop, which will compromise the reverse polarity protection of the DNO. The ground of the PSU can be fed into pin F of the 6 way connector but depending on the current this PSU / Pi draws, there is the possibility of blowing the fuse track F2 [~2A]. If this is likely then pin F can be linked to the unprotected side of F2.