Skip to content

Conversation

@RENOPS
Copy link

@RENOPS RENOPS commented Sep 22, 2025

Description

This adds a configuration file for the Creality CR-10 Smart with CR-FDM-v2.5.S1 -100 mainboard variant.

Why this configuration is needed

The existing CR-10 Smart examples in the config directory (printer-creality-cr10-smart-*.cfg) do not work with this specific CR-FDM-v2.5.S1 mainboard variant. This configuration is based on reverse-engineered pin analysis and confirmed working setup.

Hardware Details

  • Main board: STM32F103RET6 microcontroller
  • Secondary strain gauge board: STM32F030F4P6 + NX711 load cell ADC
  • Connections: 2x7 pin (14-pin) and 2x8 pin (16-pin) headers to main board
  • Configuration: Uses physical Z endstop instead of strain gauge probe for reliability

Pin Mappings Verified

  • Steppers: PA4/PA5 (X), PC6/PC7 (Y), PC0/PC1 (Z), PA1/PA0 (E)
  • Endstops: PC4 (X), PC5 (Y), PB2 (Z-physical)
  • Heaters: PB13 (Bed), PB14 (Hotend)
  • Thermistors: PB0 (Bed), PB1 (Hotend)
  • Fans/Outputs: PB15 (Part fan), PC13 (Lights), PA0 (Power)
  • Sensors: PA7 (Filament sensor)

Testing

This configuration has been tested and confirmed working with the CR-10 Smart CR-FDM v2.5.S1 hardware.

Matias Canosa added 7 commits September 21, 2025 18:29
Add example configuration for Creality CR-10 Smart printer with
CR-FDM-v2.5.S1 mainboard (STM32F103RET6).

This configuration supports:
- STM32F103RET6 with 64KiB bootloader
- USART1 PA9/PA10 communication
- Physical Z endstop on PB2
- Filament sensor on PA7
- Power control on PA0
- Case lighting on PC13
- Optional probe configuration (commented)

Signed-off-by: Matias Canosa <[email protected]>
Enhance documentation with details about the secondary strain gauge
board architecture:
- Secondary board has dedicated STM microcontroller for load cell
- Communicates with main board via I2C/UART
- Physical Z endstop configuration frees up communication pins

Signed-off-by: Matias Canosa <[email protected]>
Document reverse-engineered pinout for interface connectors:
- 2x8 connector: Hotend heater, thermistor, fans, LEDs
- 2x7 connector: X/Extruder motors, endstops, filament sensor
- Pin 1 identification: Square pad vs circular pads
- Includes motor phase assignments and signal routing

This technical documentation aids users wanting to understand
the secondary board interface or modify configurations.

Signed-off-by: Matias Canosa <[email protected]>
Add comprehensive technical documentation:
- Complete confirmed pin assignments list for all functions
- Detailed unidentified pins list for future development
- Honest experimental warnings for probe functionality
- Available pins for custom modifications
- Developer notes for future investigation

This provides complete hardware reference for CR-10 Smart CR-FDM v2.5.S1
enabling both reliable operation and future development work.

Signed-off-by: Matias Canosa <[email protected]>
Remove trailing spaces and add final newline to satisfy CI requirements.
- Renamed printer-creality-cr10-smart-cr-fdm-v2.5.s1-2022.cfg to printer-creality-cr10-smart-cr-fdm-v2.5.s1.cfg
- Added explanation that existing CR-10 Smart examples didn't work with this specific mainboard variant
- Configuration based on reverse-engineered pin analysis of CR-FDM-v2.5.S1 -100 mainboard
- Remove BOM (\\ufeff) character from file start
- Fix encoding to UTF-8 without BOM
- Remove extra newlines at end of file
- Ensure single trailing newline for CI compliance
@github-actions
Copy link

Thank you for your contribution to Klipper. Unfortunately, a reviewer has not assigned themselves to this GitHub Pull Request. All Pull Requests are reviewed before merging, and a reviewer will need to volunteer. Further information is available at: https://www.klipper3d.org/CONTRIBUTING.html

There are some steps that you can take now:

  1. Perform a self-review of your Pull Request by following the steps at: https://www.klipper3d.org/CONTRIBUTING.html#what-to-expect-in-a-review
    If you have completed a self-review, be sure to state the results of that self-review explicitly in the Pull Request comments. A reviewer is more likely to participate if the bulk of a review has already been completed.
  2. Consider opening a topic on the Klipper Discourse server to discuss this work. The Discourse server is a good place to discuss development ideas and to engage users interested in testing. Reviewers are more likely to prioritize Pull Requests with an active community of users.
  3. Consider helping out reviewers by reviewing other Klipper Pull Requests. Taking the time to perform a careful and detailed review of others work is appreciated. Regular contributors are more likely to prioritize the contributions of other regular contributors.

Unfortunately, if a reviewer does not assign themselves to this GitHub Pull Request then it will be automatically closed. If this happens, then it is a good idea to move further discussion to the Klipper Discourse server. Reviewers can reach out on that forum to let you know if they are interested and when they are available.

Best regards,
~ Your friendly GitIssueBot

PS: I'm just an automated script, not a human being.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant