Hiprecy just has released their procedures to update the Hiprecy LEO printer with the new S6 V2.0 controller. I had not tested my S6 V1.2 yet with the code I adapted a while ago so it was time to do this. I compared the changes Hiprecy/Fysetc made and they were the same except a speed adjustment for SPI/SDCARD and a Fix for the FAN2 PWM controller. I configured the board for using TMC2209 (I had Fysetc TMC2209 V3.0 drivers already lying here) and I replaced the 8bit F6 V1.4 with the 32bit S6 V1.2. I replaced one wire in the EXP1 connector and off I went....
My experiences....
Everything was working fine. All the X,Y, E and Z motors were working correctly. The sensorless homing/crash detection was working correctly also. I am using 2 TMC2209 drivers in E1 and E2 sockets to control the 2 Z motors and that was working fine also. The screen was working ok, I was able to perform PID and Z calibrations, I could also execute the first layer calibration in the menu with no problems. I enabled the external EEPROM which is installed on my S6 V1.2 controller and it is keeping the new settings without problems. The inductive bed level sensor was working fine also but mine is set to work at 24V and I made a small circuitboard to interface it safely with 3.3V/5V logic. The bedlevel sensor is rated to use between 10-36V, I don't want to run it on 3.3V only; way below its specification.
Only thing which is not working is reading from the SDCARD. Hiprecy issued a new SDCARD reader to connect wth the display; I guess the old one is incompatible. I tried the original SPI speed settings but that didn't help. I ordered the new version of the SD card reader already, waiting for that now. I am a bit confused about this because at the desk, powered by USB, I was able to read from SDCARDS. Only change I did this with code configured for TMC2130's. But so far so good. I will wait for the new SDCARD reader and post my results later.
A few questions:
- Hiprecy states using a S6 V2.0 board to avoid issues with SPI driven TMC2130's. Is the S6 V1.2 board not compatible with TMC 2130 drivers?
- Which Fysetc TMC2209 drivers are preferred to use with S6 V1.2 and V2.0 boards? V3.0 or V3.1?
- By default, the external EEPROM is not enabled in pins_fysetc_S6.h From what I understood this is done because not all the S6 V1.2 boards are having an external EEPROM installed. Mine does have a tiny SOT23-5 chip on the circuitboard, a 24LC16 accoring to the schematics, which is a 2kbyte / 16kbit (0-0x7ff). I enabled it by this in pins_fysetc_S6 and disabled the FLASH_EEPROM emulation in this way:
//
// EEPROM Emulation
//
//#define FLASH_EEPROM_EMULATION
#if ENABLED(FLASH_EEPROM_EMULATION)
#define FLASH_EEPROM_LEVELING
#endif
//#define SRAM_EEPROM_EMULATION
#define I2C_EEPROM
#ifdef I2C_EEPROM
#undef E2END // Defined in Arduino Core STM32 to be used with EEPROM emulation. This board uses a real EEPROM.
#define E2END 0x7FF // 2KB
#endif
Is this done correctly? Hiprecy is running V2.0.5.1 in Hiprecy LEO, in later versions the handling of the EEPROM already changed.
I hope Hiprecy will put some efforts to release Marlin V2.0.6.1 or later for this printer. It is really worth it. At the moment, the additional feature files and customized DGUS code is not compatible anymore with later Marlin versions....