can a duet wifi withe a duex5 do all the stuff i need it to?
I was directed here form the 3Dprinter discord and told to ask for dc42 by some people after asking for a control board suggestion(they suggested a duet) but couldn't answer if it could do some of the very specific things I need it to do. the software is not a real issue, I'm more interested in if the gen 2 board with a duex5 can do it hardware-wise.
I'd like to run 2 camera's, 9 independent steppers with 2 of them in an h-bot style coreXY, interface with the YOLO API, send serial commands to 5 other MCU's(most likely Arduino nano's), run like 15-ish relays off of it(so I need an SPI/i2c bus for a multiplexer; I don't actually expect 20 io pins).
also, is the firmware well documented and easily modifiable? I have some dev's on-hand, but that's no good with obfuscated code. I would need some custom g-codes and adaptive movement. like G163 should move the head to the nearest pre-defined position on the bed. if you know any of this, or have further questions/suggestions, I would appreciate a reply.
thanks in advance, a potential customer.
Thank you for your enquiry. A Duet WiFi or Duet Ethernet plus a DueX5 board gives you:
- 10 independent stepper motor drivers, each rated at 2.4A peak
- One USB device port
- One serial port
- One SPI port, which could be programmed as serial instead
- Micro SD card socket
- WiFi or Ethernet interface
- I2C bus, used for communication between the Duet and the DueX5, and optionally to communicate with a third-party SX1509B-based I/O board as well
- 8 high current mosfet outputs (1 rated at 18A, the rest good for at least 5A) with variable-frequency PWM
- 9 low current mosfet outputs (good for about 1.5A), 3 with variable frequency PWM and 6 with fixed frequency PWM
- 5 endstop inputs with LEDs
- 5 endstop input that could be reprogrammed as outputs
- About 5 addition input/outputs
- If you add the third-party SX1509B-based I2C expander, another 16 ports, normally used as outputs but could be reprogrammed to be inputs
There is no support for directly-connected cameras. I am not familiar with the YOLO API.
You can find the firmware source code at https://github.com/dc42/RepRapFirmware.
@dc42 yolo api is a computer vision cloud service. Basicly i need to send http request and send an image a couple times a second. Would the ethernet board be capable of this, or would the conection be too slow/ too much computational overhead? Would it be feasable to use a usb hub with the usb port, and plug in 2 webcams to that? As a last question, how many adresses does the i2c bus support? Again, thanks for your quick reply!
The USB interface is device-only (not host), so it would not be able to communicate with cameras. To handle the cameras, you would be better using a RPi or similar, perhaps using the Duet + DueX5 as a slave to handle the stepper motors and I/O ports.
The I2C interface on the Duets supports both 7- and 10-bit addressing, but the SX1509B used on the DueX5 only supports 7-bit addressing. So a maximum of 128 I2C devices in theory, however the i2C bus will stop working long before that due to bus loading.
@dc42 i’m sorry, but in that case the duet is not a good option for my printer. I can achieve more functionallity with an rpi 3 and 2 cheap dumb boards with klipper, which will be cheaper too. I can add hundreds of seperate mcu’s in that case, so that’s what i’m going for. you make a really great board, but i’m afraid it’s not suited for my project.