Fill out above information andin all cases attach yourklippy.logfile (use zip to compress it, if too big). Pasting yourprinter.cfgis not needed Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there
Describe your issue:
Unable to build klipper.bin for Duet3 mini 5+. I wonder if menuconfig does not cover this case. I’d be interested in suggestions for manual edits t0 .config. I’m using:
Is cortex-m4 correct? is
Clock Reference (25Mhz crystal) —>
Processor speed (120 MHz (standard)) —>
Communication interface (USB) —>
I get a small, 37K klipper.bin that I can’t seem to communicate with. My arm-none-eabi-gcc uses -mcpu=cortex-m4 -Ilib/same54/include, are these the correct libraries : -lc_nano -T out/src/generic/armcm_link.ld
Sorry for the long post. Any suggestions are much appreciated. I have a BTT SKR Mini E3 V2.0 in the mail. I can try this if the Duet3mini is too bleeding edge. If I find a solution, I’ll try to help get it merged in.
Please include your klippy.log as requested by Discourse at the top of your post. I suspect that your issue is unrelated to the firmware image, but without the log it’s impossible to tell. You are way too deep “into the weeds” looking at manual editing of the generated config files and inspecting compiler flags.
I am one of the first people who have been using Duet3 Mini 5+ since before it was implemented into mainline Klipper. It is a great MCU board and despite a few configuration quirks stemming from its architecture it far surpasses most other MCU boards in terms of hardware quality. I have two printers using these that have been rock solid, one using a vanilla Mini and the second one, a Voron 2.4, that uses a fully loaded Mini with 7 stepper drivers and RTD daughter card. Kevin did a superb job maintaining the implementation over the years. Even the USB to CAN bridge mode works if you are interested in using it.
Firmware configuration is very straight forward and exactly as described in the sample config file. You appear to have your options set correctly, although your pasted text seems to intersperse several sources. This is what your menuconfig should look like:
Note that there is no need to enable the extra low configuration option unless you need something specific, like changing the default clock speed, etc. Leave it unselected.
Have you manually edited the .config file at all or is it untouched? It is hard to ascertain since you inserted it into your message text without a block code, but some parts of it seem suspicious.
The final klipper.bin firmware image compiled on Trixie is 37848 bytes in size. I am attaching it here if you wanted to try it for troubleshooting. It’s exactly what’s running on the Mini in my Voron.
I didn’t think I could run klippy yet, since I do not yet have an MCU board.
I got a little 37K klipper.bin. Does that sound about correct?
I am developing a Delta variant, and have never used klipper. It seemed like the best choice to develop new kinematics and new auto-calibration procedures.
I tried the help of AI, but it is halucinating a lot.
I re-built with your menu settings, and got a klipper.bin exactly the same size as yours. It does differ, but the same size.
I guess my next step is to flash kipper.bin. How do I do this? I held down the button next to the USB-C port, plugged in, waited. I don’t see anything on lsusb. I hate to bother with these generalities, so, is there a place you recomment to find basic Duet3 documents, like, how to flash the board? I can’t seem to find it in the sources perplexity notes. Something about a double press before/after unplugging (no power). I have yet to see an LED on this board. Perplexity claims a yellow one should flash when in mount as storage mode.
Try to avoid potentially suspect sources of information. At least you are here at the right place to ask the questions, which is a big bonus. Information for Duet hardware is extensive, but it mostly revolves around RRF.
When you flash the Mini with Klipper for the first time, you need to put the board into bootloader mode by double-tapping the reset button. I do not recall exactly what the on-board LEDs will do in bootloader mode, but one of them will start slow flashing in red. BTW - there are multiple LEDs and you should see them illuminate when the board is powered-up. I would also recommend that you power it up with “proper” external power and not just via USB, even though for flashing the firmware the USB should be sufficient.
So, in sequence:
On the host system (RPI), compile the firmware with make menuconfig followed by make
Make sure that the host (RPI) is connected to the Duet with USB
On the Duet double press the reset button, confirm one of the LEDs starts slow flashing red
On the host system (RPI), initiate the flash command with make flash FLASH_DEVICE=/dev/ttyACM0
If you have not done this before, the make will build the flasher tools and then execute the flash, ultimately resulting is output similar to this:
Write 37848 bytes to flash (74 pages)
[==============================] 100% (74/74 pages)
Done in 0.524 seconds
Verify 37848 bytes of flash
[==============================] 100% (74/74 pages)
Verify successful
Done in 0.398 seconds
Set boot flash true
Once Klipper is on the Duet, it will have the ability to put the board into bootloader mode automatically for flashing without the need to double-press the reset button.
I am assuming you already studied the official installation and commissioning instructions, but if not then I urge you to read them here: Klipper Installation
No LEDs on my Duet3. Two cables tried on two computers, and some chargers. I have current monitors on the chargers, and they both read 0A. One of them goes blank when not in use, and it went blank when the Duet3 was plugged in. It is a FYSTEK clone. Any other recommended tests before I declare it dead? Can I write something to an SD card which should get it to do something?
To the best of my knowledge the Fysetc clone would still have the LEDs, just like the v0.5 revision of the original. This is a photo of the Fysetc clone:
It may have been that the Duet3 mini needed the external stepper/heater power. It couldn’t communicate from power over the USB cable alone? Unfortunately, I gave up and started working on a SKR mini E3 v2.0 board.