SKR Pro, TMC2209, TFT V3 E3 -help wanted-

I have the ESP-01S dongle working, but not plugged into it’s port on the SKR Pro, I have it plugged into the TFT in a daisy chain or piggyback type mode. It wouldn’t work in it it’s own little port on the SKR. It might with fiddling with the Marlin serial settings, but I fear it would disable one of the other ports as Jeffe mentioned.

I definitely remember seeing in one of the github issues/prs that you can set it to 6 and 1 for wifi and tft for the skr pro. We have it set to -1 and 1, so the USB and the tft work.

@Tuco, what does the wifi do? Does it serve a webpage? Or does it just allow software to connect remotely?

https://github.com/luc-github/ESP3D-WEBUI you can see some screenshots of what the webUI part can do there.

I’m sure your Pi image is much more capable, but for the couple of dollars it cost, it was too tempting not to grab one to play with.

Update: The actual firmware I used is here: https://github.com/bigtreetech/BIGTREETECH-SKR-PRO-V1.1/tree/master/firmware/esp-01s but it’s based on the above. I think that big tree unit only has 1MB of flash, but don’t hold me to that.

1 Like

Oh wow. I use that on my grbl_esp32 boards. I didn’t know it worked on the esp8266/01. I have a few of those (hopefully with enough flash). I will have to check that out. So many new doors are opening.

@Synthesis, IDK if you got what you were looking for. But I am trying to set up some LR dual endstop builds in the new MarlinBuilder system. I’m trying to do exactly what I think you’re doing (or maybe have just done).

  • Dual Y, Dual Z.
  • Z_HOME_DIR = +
  • Z Probe attached to Zmin
  • G38.2 enabled on Z for Z min.

I don’t have a setup for doing this myself right now. Can you take a look and let me know if this looks right, and if so, does it work?

The SkrPro_DualLR_2209-2.0.6 version.

https://github.com/V1EngineeringInc/MarlinBuilder/suites/996163307/artifacts/12849575

This is another artifact link, so you may have to log into github to try it.

IDK if you want to see the config file changes I’ve made, but they come from this file (for dual yz):

@tailslide, I know you have worked on this a bunch too. I wouldn’t mind your inspection.

1 Like

I will look closer at this in the morning, but yes, that is what I am hoping to do.

Additionally, you may want to look at some pin re-mapping based on what @ByronM did here for enabling M3/M5 spindle control. The SPINDLE_LASER_ENA_PIN function is missing in there, and needs to be explicitly called out.

I did so using Byron’s post as guidance and was able to turn Heater 0 pin PB1 into my Spindle on/off function. Combined with the Spindle button on the TFT35, I am now able to directly control a solid state relay for this. While this pin mapping may not be ideal for everyone, for pure on/off control of the spindle, it works well to avoid any potential overcurrent issues with the “coil” of a relay.

//

// M3/M4/M5 - Spindle/Laser Control

//

// use P1 connector for spindle pins

#define SPINDLE_LASER_PWM_PIN -1 // Hardware PWM

#define SPINDLE_LASER_ENA_PIN PB1 // Pullup!

#define SPINDLE_DIR_PIN -1
1 Like

@jeffeb3 I applied all of your settings to my existing firmware and did a line by line comparison. With the exception of the tweaks I mentioned above and a couple of other minor things I’ve done, they are identical. I get an error compiling. I understand what it says, but don’t understand how to fix it. Setting Z_MIN_PROBE_ENDSTOP_INVERTING to false would negate the whole Z-Probe, right? Or am I reversed in thinking that?

In file included from Marlin\src\HAL\STM32\../../inc/MarlinConfig.h:41,
             from Marlin\src\HAL\STM32\Sd2Card_sdio_stm32duino.cpp:23:
Marlin\src\HAL\STM32\../../inc/SanityCheck.h:1290:8: error: #error 
"Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN requires Z_MIN_ENDSTOP_INVERTING 
to match Z_MIN_PROBE_ENDSTOP_INVERTING."
 1290 |       #error "Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN requires 
Z_MIN_ENDSTOP_INVERTING to match Z_MIN_PROBE_ENDSTOP_INVERTING."
  |        ^~~~~

My config section.

#define X_MIN_ENDSTOP_INVERTING false

#define Y_MIN_ENDSTOP_INVERTING false

#define Z_MIN_ENDSTOP_INVERTING false

#define X_MAX_ENDSTOP_INVERTING false

#define Y_MAX_ENDSTOP_INVERTING false

#define Z_MAX_ENDSTOP_INVERTING false

#define Z_MIN_PROBE_ENDSTOP_INVERTING true

Needs to be the same as

If you are using a touch plate. Those should be true. If you are using a NC switch, those should be false.

1 Like

I don’t have end stops or physical axis blocks set up on my Lowrider2 yet, but I am running the settings you provided above with the Z home + setting. When I hit Z Home on the unit tonight after powering it on for the first time, it definitely lifted the Z axis up. I powered the system down before it could over extend the axis.

Looking at the TFT panel, I’m wondering if there is a way to add a Z probe button to the “Home” homing screen (not the Home “Home” screen, if that makes sense) that could run the G38.2

It definitely is possible. I will have to poke around with that. I need to hook some motors up to my skr board so I can play with homing and probing on my desk.

1 Like

I could just set up a couple of cameras out in the garage, along with a secure VPN connection for you to get in and control my unit for testing. :wink:

I saw a SDcard to USB adapter the other day that allows computer file storage on the “SD Card”, so firmware updates can be loaded via a computer “flash drive”. I need to find it again and order it, and then I can set up my other solid state relay as power control for the whole machine. Load updated firmware on “flash drive”, reset main power to CNC, it gets updated firmware.

1 Like

I have an idea of keeping the board, the screen, a PSU, and 5 motors with some 3D printed circles attached all mounted to my wall behind my desk. Probably also a pi. I could do a lot with a setup like that, but clearly not as good as an actual router. I do have a Low Rider, it is just out in my garage, which is hot or cold and dusty. :confused:

Actually… That’s not a bad idea. What we really need is a Marlin emulator… Something on PC that has a customizable gantry so you can load a BIN file and then press buttons and see how it behaves.

Has anyone got the USB drive port on the TFT to work in place of the standard SD card to read/print files from?

I’ve got the skr 1.3 running with the TFT 2 inch version that I’ve been running since March and have made quite a few modifications to Marlin 2.0 to get it up and going and running perfectly. I didn’t know you were looking for testers and help building for the pro or I would’ve jumped in sooner! I have SKR pro board laying around as well. Also have it set up for TTL/PWM laser if you want to include some default settings for that to switch out the pins as well as the tiny touch plate. Have also experimented with using Marlin’s auto bed leveling features along with the tiny touch plate to make a perfectly level spoil board relative to the gantry.

Anyway, probably going to work on upgrading to the new Primo build soon! Let me know if I can be of any assistance anywhere :smiley:

1 Like

I am pretty sure it is good to go already. What happens with yours, what file format is your USB in?

Yeah, Marlin is expecting VAX ISAM file formats. And EBCDIC encoding…

i will have to keep contact whit you because i am waiting for my kit including


and i ike to install the option laser on it !

i finally recived all my parts now time to configure the firmware

Hey all - figured I’d just keep this thread going since it seems to be the mother thread for SKR Pro.

I noticed in the V1Engineering docs for the SKR Pro setup that it says to wire steppers using XXXXX headers when EXTRUDERS=0 and wire steppers using XXXXX headers when using EXTRUDERS=1 based on what the firmware says. However, I’m going to use the MPCNC SKRPro 2209 Dual Endstops firmware and have no idea if it’s set to EXT=0 or EXT=1 since it’s pre-compiled. I’m assuming since the firmware is labeled MPCNC (vice MP3DP) that the pre-compiled firmware should be the EXTRUDERS=0 variant? Thanks.

Sorry, Since The fellas got the marlin builder worked out, it should all be extruders = 0 now.

The only difference is where you plug in x2 and y2 and it is easy enough to test.

1 Like

https://github.com/Allted/Marlin/blob/V1CNC_SKR_Pro_Dual/Marlin/Configuration.h Is still extruders=1, is there a separate branch for what you ship pre-compiled?