What runs where on a Duet WiFi?

  • A Duet WiFi contains two processors of roughly comparable computing power: the SAM4E8E ("CPU") and the ESP8266 ("ESP"). What parts of the Duet run on which one?

    • Clearly the G-code interpreter, motion control, and heater monitoring and control run on the CPU.
    • The WiFi encryption/decryption and session management clearly run on the ESP.
    • Where does the web server run?

    Am I right in understanding that the two processors communicate over SPI using some kind of serial protocol? Can the ESP access the SD card directly?

    I ask because although the code all seems to be available on dc42's github, I'm having trouble figuring out which parts are actually used on a Duet WiFi (there seem to be web server implementations for both the CPU and the ESP, for example). I'm interested in making small additions and/or fixes to the firmware, but it's not easy to get oriented. Even as a user with wishlist items, it's hard to judge how hard they'll be without a little more understanding of how the code fits together.


  • administrators

    It's as you say. The web server runs mostly on the ESP but web requests other than serving static files are sent over the SPI link so that the SAM can provide the response. The ESP cannot access the SD card directly.

  • Thanks!

    So the ESP8266 runs DuetWiFiServer (https://github.com/dc42/DuetWiFiServer) and CoreESP8266 (https://github.com/dc42/CoreESP8266) while the SAM runs RepRapFirmware (https://github.com/dc42/RepRapFirmware) and CoreNG (https://github.com/dc42/CoreNG)?

  • administrators

    Yes, that's right. CoreNG is also the hardware abstraction !ayer for iap4e.bin.

Log in to reply