New duet 3 setup with raspberry pi 2?

  • Hi duet community,
    I just received a duet 3 board for my birthday today and am excited to upgrade my cnc machine.
    I have been using the duet 2 wifi with external drivers and everything has been perfect so far.
    However, I have a raspberry pi 2 and was wondering if I could uses it with the duet 3. I also have a usb wifi dongle since the pi 2 does not have built in wifi.

    I have seen mixed data about whether the pi 2 is compatible with duet3 and am hoping that it is since I purchased it for this reason.

    I am struggling with the setup as I do not have any hdmi display options.

    Can anyone help me with a headless setup of this system? I have tried many online tutorials but nothing seems to work. I do have the option to connect the pi via ethernet.

    I am wishing to set up the pi as an access point similar to the way my duet 2 works.

    This is my wifi dongle:


  • it'll be pin compatible - not sure about the performance or software support.

    I guess try it? should help with the headless setup

    edit: if you use the duet3d pi image you can skip the ssh file and you'll have to connect to to duet3.local instead of raspberrypi.local (if it doesn't work try dropping the .local part)

  • Suddenly got a sneaky suspicion that the binaries would not be compatible, so you'd probably have to build your own (i think the issue is armv6l vs armv7 architecture) and still concerned about the overall performance. See for which binaries they provide (and how to roll your own).

    On a 1st gen Pi it doesn't work with the official binaries.

    pi@rpix:~ $ wget -qO - | sudo apt-key add -
    pi@rpix:~ $ echo "deb stable armv7" | sudo tee /etc/apt/                                                                                                     sources.list.d/duet3d.list
    deb stable armv7
    pi@rpix:~ $ sudo apt update
    Get:1 buster InRelease [15.0 kB]
    Get:2 buster InRelease [25.1 kB]
    Get:3 stable InRelease [2,563 B]
    Get:4 buster/main armhf Packages [13.0                                                                                                      MB]
    Get:5 stable/armv7 armhf Packages [9,426 B]
    Get:6 buster/main armhf Packages [326 kB]
    Fetched 13.4 MB in 1min 7s (200 kB/s)
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    1 package can be upgraded. Run 'apt list --upgradable' to see it.
    pi@rpix:~ $ sudo apt install duetsoftwareframework
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following additional packages will be installed:
      duetcontrolserver duetruntime duetsd duettools duetwebcontrol duetwebserver
      gettext libcroco3 libunwind8 reprapfirmware
    Suggested packages:
      gettext-doc autopoint libasprintf-dev libgettextpo-dev
    The following NEW packages will be installed:
      duetcontrolserver duetruntime duetsd duetsoftwareframework duettools
      duetwebcontrol duetwebserver gettext libcroco3 libunwind8 reprapfirmware
    0 upgraded, 11 newly installed, 0 to remove and 1 not upgraded.
    Need to get 33.8 MB of archives.
    After this operation, 6,853 kB of additional disk space will be used.
    Do you want to continue? [Y/n] y
    Get:3 stable/armv7 armhf duetruntime armhf [28.7                                                                                                      MB]
    Get:1 buster/main armhf libun                                                                                                     wind8 armhf 1.2.1-9 [48.3 kB]
    Get:2 buster/main armhf libcr                                                                                                     oco3 armhf 0.6.12-3 [132 kB]
    Get:4 buster/main armhf gette                                                                                                     xt armhf [1,219 kB]
    Get:5 stable/armv7 armhf duetcontrolserver armhf [177 kB]
    Get:6 stable/armv7 armhf duetsd all 1.0.5 [1,998 B]
    Get:7 stable/armv7 armhf duettools armhf [49.9 kB]
    Get:8 stable/armv7 armhf duetwebserver armhf [70.7 kB]
    Get:9 stable/armv7 armhf duetwebcontrol all 2.0.7-1 [2,916 kB]
    Get:10 stable/armv7 armhf reprapfirmware all [494 kB]
    Get:11 stable/armv7 armhf duetsoftwareframework armhf [1,710 B]
    Fetched 33.8 MB in 1min 14s (456 kB/s)
    Selecting previously unselected package libunwind8:armhf.
    (Reading database ... 41404 files and directories currently installed.)
    Preparing to unpack .../00-libunwind8_1.2.1-9_armhf.deb ...
    Unpacking libunwind8:armhf (1.2.1-9) ...
    Selecting previously unselected package libcroco3:armhf.
    Preparing to unpack .../01-libcroco3_0.6.12-3_armhf.deb ...
    Unpacking libcroco3:armhf (0.6.12-3) ...
    Selecting previously unselected package gettext.
    Preparing to unpack .../02-gettext_0.19.8.1-9_armhf.deb ...
    Unpacking gettext ( ...
    Selecting previously unselected package duetruntime.
    Preparing to unpack .../03-duetruntime_1.2.4.0_armhf.deb ...
    Unpacking duetruntime ( ...
    Selecting previously unselected package duetcontrolserver.
    Preparing to unpack .../04-duetcontrolserver_1.2.4.0_armhf.deb ...
    Unpacking duetcontrolserver ( ...
    Selecting previously unselected package duetsd.
    Preparing to unpack .../05-duetsd_1.0.5_all.deb ...
    Unpacking duetsd (1.0.5) ...
    Selecting previously unselected package duettools.
    Preparing to unpack .../06-duettools_1.2.4.0_armhf.deb ...
    Unpacking duettools ( ...
    Selecting previously unselected package duetwebserver.
    Preparing to unpack .../07-duetwebserver_1.2.3.1_armhf.deb ...
    Unpacking duetwebserver ( ...
    Selecting previously unselected package duetwebcontrol.
    Preparing to unpack .../08-duetwebcontrol_2.0.7-1_all.deb ...
    Unpacking duetwebcontrol (2.0.7-1) ...
    Selecting previously unselected package reprapfirmware.
    Preparing to unpack .../09-reprapfirmware_1.2.4.0-1_all.deb ...
    Unpacking reprapfirmware ( ...
    Selecting previously unselected package duetsoftwareframework.
    Preparing to unpack .../10-duetsoftwareframework_1.2.4.0_armhf.deb ...
    Unpacking duetsoftwareframework ( ...
    Setting up libunwind8:armhf (1.2.1-9) ...
    Setting up libcroco3:armhf (0.6.12-3) ...
    Setting up duetwebcontrol (2.0.7-1) ...
    Setting up gettext ( ...
    Setting up duetruntime ( ...
    Setting up duetcontrolserver ( ...
    Setting up duettools ( ...
    Setting up duetwebserver ( ...
    Setting up duetsd (1.0.5) ...
    Setting up reprapfirmware ( ...
    Segmentation fault
    Setting up duetsoftwareframework ( ...
    Processing triggers for libc-bin (2.28-10+rpi1) ...
    Processing triggers for man-db (2.8.5-2) ...
    Processing triggers for install-info (6.5.0.dfsg.1-4+b1) ...
    pi@rpix:~ $ /opt/dsf/bin/DuetControlServer
    Segmentation fault
    pi@rpix:~ $ uname -a
    Linux rpix 4.19.97+ #1294 Thu Jan 30 13:10:54 GMT 2020 armv6l GNU/Linux

  • If the Pi 2 is a V1.2, it uses the same CPU, Cortex-A53, as a 3B+, just at a lower clock speed. Should work fine.

    If the Pi 2 is a V1.1, I am not sure either way. It uses a Cortex-A7, and I'm not clear on binary compatibility A7 to A53.

  • Moderator

    Whether or not it will work, I would strongly suggest just getting a new pi4 and HDMI touch screen for the best experience.

  • administrators

    The most important part is that your board has an ARMv7 processor because .NET Core uses ARMv7 instructions. To check, you can run sudo cat /proc/cpuinfo | grep model. If it shows ARMv7 processor(s), you could use DuetPi, too.

    PS: It might be possible to compile DSF with Mono and to use it on ARMv6 or other platforms, but I haven't looked into that yet.

  • Interesting, this has some notes for mono and armv6 likely outdated but leaving a link for refrence as I might come back to it one day.

    The test could be shortned to grep model /proc/cpuinfo or grep ARMv[78] /proc/cpuinfo the latter will give a usefull exit code. By all accounts OP should be able to use the rPi 2 (BCM2709 and BCM2837). It's just 1. gen and Zero that are incompatible, and the reccomendation is still 3B+ or better. Will try a BalenaFin w/Compute Module 3+ in the near future, nice slightly rugged alternative.

  • Update:
    Thanks everyone for the replies.
    The pi is working great without any modification, must be one of the models mentioned above.
    The only issue is that the wifi access point drops connection every once in a while.
    I think I will buy a pi4 soon but this seems to be ok for now.

  • Good to hear! Feel free to comment on the DuetWebControl performance when running a print etc, would be interesting.

    @tristanryerparke said in New duet 3 setup with raspberry pi 2?:

    The only issue is that the wifi access point drops connection every once in a while.

    the Pi2 doesn't have wifi and a lot of USB wifi sticks have dodgy drivers, with various workarounds.

    if you look up the model and driver to do a little google foo you might find some tips. rt81-something-something is notorious f.ex.

    lsusb, lsmod (and dmesg if needed) should give you plenty of stuff to identify the wifi and driver.

Log in to reply