First klipper config... board not listed

Board : Flashforge CoreBoard (all Rev.)
MCU : STM32F407xxxx (4 lasts letters and numbers, are just Package, Ram and Flash Size)
Printers using all same board: Dreamer, Dreamer NX, Inventor, Dremel 3D20…
Bootloader 64k @ 0x08000000
Firmware @ 0x08010000

I got all the working settings we have done in marlin… So all pinout, all timers/clock , all I2C and SPI devices address and etc… the boards uses Thermocouple K-type read using a differential 16 bits ADC converter ASD1118 on SPI…

I have already modified the Klipper Firmware Confguration that comes up when we type make menuconfig in the file Kconfig to add the proper offset for the bootloader (64k) that was not available for STM32F407, (with all the values related to it like STM32_FLASH_START_10000… etc with the external HSE 8Mhz crystal and verified that the clock config is done properly…

I will get crazy !!! because I do not know klipper, and don`t know where to look for everything…

But I got all the working MCU config, all pins, all from my Marlin and Druid firmware config…

Someone help me… I am running in circle…

Thanks in advance… Daniel

the zip files contains
all pinout
system clock config
spi/i2c/usb
ADS1118 converter .h and .cpp

STM32F407ZG 168Mhz 192KB ram / 1MB flash
Bootloader at 0x08000000
Firmware at 0x08010000

all needed info.zip (5.4 KB)

and most important part of the schematic diagram:

Support for the ads1118 is in my repo for the Makerbot Replicator2(x). I don’t see any reason you can’t grab two files and use it as is for that board: src/ads1118.c klippy/extras/spi_ads1118.c.

I worked on this a lot last night and you might want to grab from branch ads1118_support.

Does this printer have two hotends or just one?

Please let me know if you use it and if you run into any issues or problems.

Thanks for your fast response… to answer your question about hotend… some have 1 hotend, and some have 2… (just a stepper driver and a mosfet missing) but pinout is always the same… So I’m doing it for the community, there is a lot of 3d printers powered by this board: Flashforge coreboard… (and after looking at your work on the mightyboard… ) if you looked at the partial schematic diagram I have sent you, you will find similarities between the 2 boards, simple because Flashforge have designed their board from the mightyboard.

Just to let you know:
​​​​but to upload the firmware using the Flashforge bootloader, the final firmware “.bin” must be encrypted with a private key, encryption, that will be decrypted while the bootloader flashed the new firmware to MCU, so better to bypass the Flashforge bootloader, using DFU on usb or ST_link V2 debugger connected to SWDIO (JTAG).

The main problem is easy, I never configured any controller board with Klipper. At least if I had a positive experience with an already known board, it would be easier to try to adapt klipper to this board.

Also the stepper driver are the old pololu a4988, except that the potentiometer has been replaced by a I2C digipot to control stepper max current… (exactly like mightyboard)

I’m not a newbie in the field… look at https://reprap.org/wiki/List_of_Firmware#Druid_Firmware
I have written my own firmware since almost 2 years… (so I have all the code to make all hardware works, and you have the experience with Klipper)
Maybe we can make a giant leap working together on both projects… (mightyboard and FF coreboard+driverboard)

First … is there an integrated development environment (IDE) (like VS code) I can use to edit Klipper,
and Linux is not an area I have a lot of experience…
just need someone to direct me in the right direction, then I will be on my way to the moon on a rocket !!!

Sorry my english sometimes is a bit strange, I am French crazy monkey from Montreal !

let me know if we can do something to help each other…

Daniel Massicotte

You might want to check run-time-stepper-motor-current-configuration

The respective code is in https://github.com/Klipper3d/klipper/tree/master/klippy/extras → mcp4xxx

Not really an issue. If you know the pin numbers and their function then just follow one of the examples here: https://github.com/Klipper3d/klipper/tree/master/config

Generally a good starting point is the developer-documentation
Otherwise it probably makes sense to ask very specific questions if you expect a developer to answer

If you are able to flash it I suggest using my repo as it supports all of the hardware you will need. Take the sample makerbot printer.cfg file and change the pin mappings to your board, build the firmware and flash the mcu.

If you are able to get this working I can add your printer.cfg and flashing instructions to my fork.

1 Like

Yes you are a source of very good information and solutions… The STM32F407 board was just a test to see what can be done and in how long, So we have moved to the real part of our project… that you can read a bit about right there…

@CrazyMonkey

Hi,
I also have an flashforge dreamer with an rev h board and I am trying to install klipper but I couldn’t create a working bin.
Can you please help?

Over the last few years have been using klipper on an old printer with an mks robin and don’t want to get back to marlin, but I am not going anywere with this flashforge…

Thanks in advance

Hi,

Dreamer finally was solved ? Ihave a dreamer (dual extruder) also and want to go with klipper…

@CrazyMonkey mentioned the firmware is encrypted, so if I erase the MCU on the board no any chance to go back to the original firmware ?

Thanks,

Sorry to answer so late… but I was away and very busy… And yes if you erase all the sectors of the flash Memory (1-11) you will delete, at the same time, 2 things, that will render your printer un usable, with the original bootloader…

Displaying MCU memory content, from 0x0800C000 to 0x0800C01F
0x0800C000 66 6C 61 73 68 66 6F 72 67 65 31 32 80 55 09 8D flashforge12.U…
0x0800C010 0A 06 38 35 92 CE C9 CC 37 97 03 D0 00 FF 00 FF …85…7…

the first one is the Plain TEXT verification flashforge12, this one is easy to replace…
the other one: The 16 bytes (or if you prefer 96 bits) following the flashforge12… are an encrypted hash, generated using your PUID, (Unique Identification number) different in every cortex M4… So when the bootloader starts, it display some image son the screen, and then, verify for the presence of the ‘flashforge12’, and then verify that the nest 96 bits are the ones generated by the PUID, from it’s permanent memory, using encryption algorithm and then it also verify the last 4 bytes of the listed memory I have included, 00 FF 00FF, to know if he is supposed to start the actual firmware, or update the current one, by erasing sector (4 to 11) and using a specific file on the internal SD CARD into the dir SYS named either dremel.bin or dreamer.bin depending on the model… it also decrypt on the fly between each block he reads from sd card, and then write it in the flash memory… You have probably already understand, that providing a “un encrypted” bin file to this bootloader, will result on a flash memory full of random codes, since he will decrypt something non encrypted… and way before you can do something stupid like that, all the security features describe before have many chances to have failed the verification, and the bootloader jump in an infinite loop… (it blocks, any other code execution)… I provide all the information in details, and soon it will be on the website, but if you didn’t commit one of the errors above, contact me on my facebook, or my email, or my prone or…

facebook: daniel massicotte (crazy monkey)
facebook Group: Druid Firmware
email daniel.massicotte@yandex.com
email druidfirmware@gmail.com
Phone (514) 451 1886 (SMS and phone)

You can also find a lot of info on reprap.org, under Druid Firmware
And soon on the website www.druid3d.com

You can take a peek at the website on another domain (but do not try to download or buy from the store) because it is still under construction…
( test domain is www.druidfirmware.com )

Thanks. I’m not sure what part of the initial setup you are failing at. Typically, when first bringing up a board, you want to make sure you get the “make menuconfig” settings correct and are able to correctly flash the board. Once you have that correct, one goes on to setup all the pins and their configuration.

Have you successfully been able to confirm that the board is running Klipper and is communicating back to the host computer? If not, what settings did you use in “make menuconfig”? Does it show up as a usb device in linux (lsusb)?

Once the board is successfully running Klipper, then one goes on to configure all the pins. If there are issues at this point, we need to see the “klippy.log” file - as that has pertinent information needed to troubleshoot.

-Kevin