Open PaulSolodovnikov opened 1 year ago
Yes, bad decision and bad HW combination. :-( The pinout image defines different pins for a different driver than the V1.0 version. But the user manual says to use the same driver:
BTT is quite chaotic when it comes to documentation and manuals...
Use the advice from the post https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/issues/650 Use the same pins in the connector. Orient yourself by pin GND and 5V It might work...
Thaks for your reply!
Display started. Radek, Thanks!!! Now I know my display works )
The purchase decision was made based on the assumption that the products of one manufacturer will be not just compatible, but will have the best compatiblity. As far as I can see, I'm not the only one who stepped on this BTT rake (
Used wiring from this post https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/issues/650
configuration.h - change neopixel type or Marlin will not compile
configuration_adv.h - adds item to control color from menu manually
Useless, setting are not stored in EEPROM. But makes possible to define the color to start with
#define LED_USER_PRESET_GREEN 128 // User defined GREEN value
#define LED_USER_PRESET_BLUE 0 // User defined BLUE value
#define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity
#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup
From time to time on POWER ON starts with LEDs on and black screen. M500, M502 does not help. Encoder click or turn changes nothing.
Only reset or power off/on.
Found what changes the situation. It's about reset connection. If reset from the board connected only on EXP1 - reset does not work but display starts 99%, if only on EXP2 - black screen always, if both EXP1 and EXP2 reset works but display on POWER ON may start or not, seems randomly, 50/50...
I give up with this variant, found another solution.
In short I've configured Marlin and made the connections as if I had V3 Mini Screen adapter for Voron https://github.com/VoronDesign/Voron-Hardware/tree/master/SKR-Mini_Screen_Adaptor
Marlin 2.1.2, Sample config files for Creality Ender 3 as BTT SKR mini E3 V3 is designed for it.
configuration.h //#define CR10_STOCKDISPLAY //comment this
Hardware connections made according to Marlin/src/pins/stm32g0/pins_BTT_SKR_MINI_E3_V3_0.h SKR_MINI_SCREEN_ADAPTER section and checked with adapter layout https://github.com/VoronDesign/Voron-Hardware/blob/master/SKR-Mini_Screen_Adaptor/SRK%20Mini%20E3%20V3.0/Images/PCB_Layout.png
Connections made as in SKR_MINI_SCREEN_ADAPTER: BOARD ----- SCREEN EXP1 GND ----- EXP1 GND EXP1 5V ----- EXP1 5V PB5 ---- PB5 PA9 ---- PA9 PA10 ---- PA10 PB9 ---- PB9 PB8 ---- PB8 PD6 ----- PD6 SCK ----- SCK MOSI ---- MOSI MISO ----- MISO PA15 ----- PA15
Add EXP1 pin4 RESET ----- EXP2 pin8 -- // it is reset
Change PA9 ---- PA9 PA10 ---- PA10 to PA10 ---- PA9 PA9 ---- PA10 to get correct encoder direction, otherwise you'll have to uncomment this in configuration.h //#define REVERSE_ENCODER_DIRECTION
Looks like it works, at least it starts every time) As expected no beeper or display SD-card.
(Found some info on attempts to make screen SD-card slot work under Klipper, but it seems to be rather complicated (setting card priority, sort order, some sync speeds and all the same remains too buggy - causes freezes or other unexpected behavior.)
Need some time to test...
@PaulSolodovnikov , will be trying your solution, even though Im using it for a CR-10 Pro V1 (SKR Mini E3 v3.0). I tried the solution for the BTT Mini12864 v1 but I just get a blank screen on startup. I used info around here and the 3Dsmith website but I think its specific to the mini12864 v1. The *.bin file is getting changed with the logo on the SDCard, but no joy. I like your rake analogy but it's definitely not an enjoyable process.
Gentlemen, your nanology on the rake is out of place. If I buy a small city car and then buy SUV wheels from the same manufacturer. Also, will you be angry at the car manufacturer for making incompatible wheels with your car? BTT, MKS and others make different components for different printers and it's up to you which components you buy. We have a saying: Measure twice, but cut once. :-)
In short I've configured Marlin and made the connections as if I had V3 Mini Screen adapter for Voron https://github.com/VoronDesign/Voron-Hardware/tree/master/SKR-Mini_Screen_Adaptor
Marlin 2.1.2, Sample config files for Creality Ender 3 as BTT SKR mini E3 V3 is designed for it.
configuration.h //#define CR10_STOCKDISPLAY //comment this
define FYSETC_MINI_12864_2_1 // Type A/B. NeoPixel RGB Backlight //uncomment this
define MOTHERBOARD BOARD_BTT_SKR_MINI_E3_V3_0 #define SKR_MINI_SCREEN_ADAPTER //add this line right after the previous
define NEOPIXEL_TYPE NEO_RGB //change value to NEO_RGB
Hardware connections made according to Marlin/src/pins/stm32g0/pins_BTT_SKR_MINI_E3_V3_0.h SKR_MINI_SCREEN_ADAPTER section and checked with adapter layout https://github.com/VoronDesign/Voron-Hardware/blob/master/SKR-Mini_Screen_Adaptor/SRK%20Mini%20E3%20V3.0/Images/PCB_Layout.png
Connections made as in SKR_MINI_SCREEN_ADAPTER: BOARD ----- SCREEN EXP1 GND ----- EXP1 GND EXP1 5V ----- EXP1 5V PB5 ---- PB5 PA9 ---- PA9 PA10 ---- PA10 PB9 ---- PB9 PB8 ---- PB8 PD6 ----- PD6 SCK ----- SCK MOSI ---- MOSI MISO ----- MISO PA15 ----- PA15
Add EXP1 pin4 RESET ----- EXP2 pin8 -- // it is reset
Change PA9 ---- PA9 PA10 ---- PA10 to PA10 ---- PA9 PA9 ---- PA10 to get correct encoder direction, otherwise you'll have to uncomment this in configuration.h //#define REVERSE_ENCODER_DIRECTION
Looks like it works, at least it starts every time) As expected no beeper or display SD-card.
(Found some info on attempts to make screen SD-card slot work under Klipper, but it seems to be rather complicated (setting card priority, sort order, some sync speeds and all the same remains too buggy - causes freezes or other unexpected behavior.)
Need some time to test...
Might I add some information for total noobs such as myself? Look for the Ender 3 Profile under Configurations-release-2.1.2 > config > example Make the changes to this Configuration.h file and save it.
Now open Marlin-2.1.2 as a folder. Delete the Configuration.h and Configuration_adv.h
Drag the modified Configuration.h tab and drop it into the "Marlin" folder on the tree. Open the Configuration_adv.h file from Configurations-release-2.1.2 for Ender 3, drag and drop it to "Marlin" From that same folder also do the same for Bootscreen and Statusscreen (also to "Marlin")
Go to platformio.ini and change: default_envs = STM32G0B1RE_btt
Build.
So Screen will be stuck on on the firmware version on first bootup. Turn off, remove SD card, turn on and it should function normally and display Ender 3, build version, then status screen.
Thank you so much for this information. I will now try to make it work with a CR10S Pro V1. Would it be ok if I contacted you for help from time to time?
Thanks again!
This post helped to adopt screen to board quickly and painless, huge thanks!
I was a bit confused by pins naming, so decided to post pins mappings as they called in official diagrams of boards (and not adapter diagram).
Pins mapping:
SKR Mini E3 v3 pin (PORT: pin) | Mini 12864 pin (PORT: pin) |
---|---|
EX1: PB5 | EXP1: BTN |
EX1: TX1 | EXP2: ENCB |
EX1: RX1 | EXP2: ENCA |
EX1: PB8 | EXP1: LCD-EN |
EX1: GND | EXP1: GND |
EX1: PA15 | EXP1: D5 |
EX1: RST | EXP2: RST |
EX1: PD6 | EXP1: LCD-CS |
EX1: 5v | EXP1: 5v |
SPI1: MOSI | EXP2: SD-MOSI |
SPI1: CLK | EXP2: SD-SCK |
SPI1: MISO | EXP2: SD-MISO |
My printer based on Ender 3v2 with Klipper software so I didn't need to do pin swap, I did it but then default config from Voron made my wheel direction opposite, so I had to adjust config, instead just do not swap PA9 and PA10 for Klipper setup:
Change PA9 ---- PA9 PA10 ---- PA10 to PA10 ---- PA9 PA9 ---- PA10 to get correct encoder direction, otherwise you'll have to uncomment this in configuration.h //#define REVERSE_ENCODER_DIRECTION
In case you did swap PA9 and PA10, change order of those pins:
[display]
encoder_pins: ^PA10, ^PA9
Klipper config was taken as is from adapter page: SKR-Mini_Screen_Adaptor/SRK Mini E3 V3.0/ScreenBreakout.cfg
[display]
# MKS Mini 12864 V3.0 Your display might have to haver connectors flipped. If the neopixels doesnt light up and you are 100% sure you have EXP1 connected to EXP1, try flipping the connector.
lcd_type: uc1701
cs_pin: PB8
a0_pin: PD6
rst_pin: PB9
encoder_pins: ^PA9,^PA10
click_pin: ^!PB5
contrast: 63
spi_software_sclk_pin: PA5
spi_software_mosi_pin: PA7
spi_software_miso_pin: PA6
[neopixel SKR_screen]
pin: PA15
chain_count: 3
initial_RED: 0.4
initial_GREEN: 0.05
initial_BLUE: 0.0
color_order: RGB
[delayed_gcode welcome]
initial_duration: .1
gcode:
SET_LED LED=SKR_screen RED=0.5 GREEN=0.0 BLUE=0.0 TRANSMIT=0
SET_LED LED=SKR_screen RED=0.0 GREEN=0.0 BLUE=0.5 INDEX=1 TRANSMIT=1
Good luck people!
I'm starting to have trouble with my Mini 12864 display on my BTT SKR Mini E3 V2 board using an adapter for it. Is there a good Marlin configuration for that?
Just got mine working. Everything is good except for the SD card slot. I don't really care much about that since I have this on OctoPrint. Soon to move over to Klipper
I already got a touch screen display for mine so I don't need to go through any trouble anymore. Thanks.
i have anet et4 pro i install btt skr mini e3 v3.0.1 with btt mini display12864 v2 please be aware for the pin of the version, the skr v.3.0 is diffrent with v3.0.1 also btt mini display
i use klipper , i get klipper.bin from the github (go to folder v.3.0.1, NOT folder v3.0) for more wiring discussion, you can go the facebook anet et4
video : https://www.youtube.com/shorts/BrisqOmM5BY
skr mini e3 v3.0.1 pinout :
for mini 12864 v2.0 pinout,you can go to the github with v2.0 version,
the printer.cfg is [include mainsail.cfg]
[stepper_x] step_pin: !PC11 dir_pin: PC12 enable_pin: !PC10 microsteps: 16 rotation_distance: 40 endstop_pin: ^!PB5
homing_retract_dist: 0 position_min: -20 position_endstop: 0 position_max: 220 homing_speed: 20
[tmc2209 stepper_x] uart_pin: PC7 tx_pin: PC6 uart_address: 0 run_current: 0.580 stealthchop_threshold: 999999
[stepper_y] step_pin: !PB12 dir_pin: !PB10 enable_pin: !PB13 microsteps: 16 rotation_distance: 40 endstop_pin: ^!PB6
homing_retract_dist: 0 position_min: -20 position_endstop: 0 position_max: 220 homing_speed: 20
[tmc2209 stepper_y] uart_pin: PC7 tx_pin: PC6 uart_address: 2 run_current: 0.580 stealthchop_threshold: 999999
[stepper_z] step_pin: PB1 dir_pin: !PB0 enable_pin: !PB2 microsteps: 16 rotation_distance: 8 endstop_pin: ^!PB7 homing_retract_dist: 0 position_endstop: 0.0 position_max: 250
[tmc2209 stepper_z] uart_pin: PC7 tx_pin: PC6 uart_address: 1 run_current: 0.580 stealthchop_threshold: 999999
[extruder] step_pin: PC2 dir_pin: !PC1 enable_pin: !PC3 microsteps: 16 rotation_distance: 33.500 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: PA15 sensor_type: EPCOS 100K B57560G104F sensor_pin: PC5 control: pid pid_Kp: 20.375 pid_Ki: 0.844 pid_Kd: 123.016 min_temp: 0 max_temp: 250
[tmc2209 extruder] uart_pin: PC7 tx_pin: PC6 uart_address: 3 run_current: 0.650 stealthchop_threshold: 999999
[heater_bed] heater_pin: PB3 sensor_type: ATC Semitec 104GT-2 sensor_pin: PC4 control: pid pid_Kp: 70.721 pid_Ki: 1.981 pid_Kd: 631.118 min_temp: 0 max_temp: 125 max_temp: 130
[heater_fan heatbreak_cooling_fan] pin: PC8
[heater_fan controller_fan] pin: PA8
[fan] pin: PC9
[mcu] serial: /dev/serial/by-id/usb-Klipper_stm32f401xc_h723-if00
[printer] kinematics: cartesian max_velocity: 500 max_accel: 3000 max_z_velocity: 12 max_z_accel: 50
[display] lcd_type: uc1701 cs_pin: PD2 a0_pin: PC0 #a0 is LCD_A0 rst_pin: PB4 encoder_pins: ^PA10,^PA9 click_pin: ^!EXP1_1 contrast: 63 spi_software_sclk_pin: PA5 spi_software_mosi_pin: PA7 spi_software_miso_pin: PA6
[neopixel btt_mini12864] pin: PB14 chain_count: 3 color_order: RGB initial_RED: 0.4 initial_GREEN: 0.05 initial_BLUE: 0.0
[board_pins] aliases:
EXP1_1=PB15, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PD2, EXP1_9=
[gcode_macro START_PRINT] gcode: {% set BED_TEMP = params.BED_TEMP|default(60)|float %} {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(210)|float %}
M140 S{BED_TEMP}
# Use absolute coordinates
G90
# Reset the G-Code Z offset (adjust Z offset if needed)
SET_GCODE_OFFSET Z=0.0
# Home the printer
G28
# Move the nozzle near the bed
G1 Z5 F3000
# Move the nozzle very close to the bed
G1 Z0.15 F300
# Wait for bed to reach temperature
M190 S{BED_TEMP}
# Set and wait for nozzle to reach temperature
M109 S{EXTRUDER_TEMP}
[gcode_macro END_PRINT] gcode:
M140 S0
M104 S0
M106 S0
# Move nozzle away from print while retracting
G91
G1 X-2 Y-2 E-3 F300
# Raise nozzle by 10mm
G1 Z10 F3000
G90
# Disable steppers
M84
Greetings! I also turned out to be inattentive. I have BTT SKR MINI E3 V1.2 and BTT MINI 12864 V2.0. I just can't connect them. I tried different pinouts and firmware options. Or cyclic clicks and a blank screen without backlight, or only a working encoder and backlight. I would be grateful for any help!
BTT SKR MINI E3 V1.2 PIN MINI12864 V2.0-Pin Marlin-2.1.2.2 recommended:
Recently i bought the BTT SKR E3 mini V3 and a BTT mini 12864 V2.0 display [https://github.com/bigtreetech/MINI-12864/tree/master/mini12864_v2.0](BTT mini 12864 V2.0). Not the best decision, but done.
Found similar issue https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/issues/650 of BTT SKR E3 mini V3 and a BTT 12864 V1 display.
But pinout on BTT 12864 V1 and V2 are different.
Can anyone help me to make it work? )