Best way to communicate Duet 2 with Arduino UNO

  • Hi all,

    I have an arduino UNO at the moment that I use to take a conductivity measurement and rotate a servo according to the measurement I get.

    I am expanding the setup I have to 3 conductivity probes (using EZO circuits and tentacle shield) and x4 stepper motors. Could I take measurements from my arduino and send a command depending on the measurement to the Duet to control each motor? What would be the best way to do this?


  • Yes, the port intended for a PanelDue is a 3.3V serial TTL port. You can send commands to it.

    The panel uses checksums; you can turn this off in the config on the duet to make the Arduino code simpler.

  • This is probably possible as @danal said. Get a duet, connect the 4 steppers, set config files in the SD rom such that you can control each stepper independently (more knowledgeable people here can probably help you with the config files). Then control it from the serial connection, emulating what a PanelDue display would do.

    Another option is just using 4X the stepper controllers you care currently using or getting some smart stepper controllers such as the Pololu TIC 500 or others , e.g. with serial or I2C protocol (Arduino supports both).

  • Yah, it sounds like your 4 channels are relatively independent of each other. The "secret sauce" of the Duet and other controllers like it is "Coordinated linear motion". That is, making axis (steppers) that travel very different paths arrive at the same point at the same time.

    If you don't need CLM style motion control, better to use an Arduino, or an ESP32, or similar. Probably with Pololu style TMC3120 motor drivers. Those were the tip-over point between config with jumpers and config with SPI. They work great with jumpers, and the default config with no jumpers attached is really good for almost all applications.

    I've been building a stepper motor driven mechanism that pokes the hands around a clock dial (just for novelty), using an ESP8266 (close cousin of the 32) and those drivers. Great development platform. ESP32 has more oomph and better clocks. I'd go that way for your application.

    I believe it has enough pins to do four motor drivers, and still do I2C to your sensor board.


  • Hi everyone, I've decided to try using separate motor drivers rather than the Duet as it is probably more appropriate for my application.

    Thanks for the help!

Log in to reply