BigTreeTech SKR v1.4 Trials and Tribulations
Updated: Feb 27, 2020
I have been working with the SKR v1.4 and this blog post will be an ongoing summary to go with my BigTreeTech SKR V1.4 Playlist on YouTube.
My initial feelings behind the v1.4 were very positive but I have had a number of concerns about the board after evaluating it for some time. I will update this post as I continue to use the board. You can refer back to this page for reference or subscribe to my channel as I produce more videos with the v1.4. The topics below cover my current evaluations of the board and status of it. This document will be updated as new information becomes available.
First I was very excited to hear about more on-board fan pins. After a deeper dive and a commenter mentioning that no additional PWMs were made available. So the additional pins are nothing more than +12/24 volt ports for a fan or something else. I'm personally looking to expand the board through I2C and and PWM module however from my initial tests it looks like it will require custom marlin code. This is in my wheelhouse so I will certainly have an update here later.
End Stop Woes
I have reached out to BigTreeTech support regarding some issues with the end stops. The Z stop on the v1.4 board doesn't seem to work correctly with non-mechanical sensors. It also seems to be specifically related to Z. I have an optical end stop I use on my printer and it had the same issue. Regardless of the probe triggering marlin would never see the trigger.
I troubleshot this further and tested the same optical end stop in the X stop and Y stop and both pick up the trigger correctly. Only the Z malfunctions and only for non-mechanical stops. I placed mechanical stops in all 3 and it works fine.
My solve for this was to simply go into the pins for the board and swap the defines for the X and Z on the board effectively making my X a Z and vice versa. Since I only had optical endstops on the Z and mechanical on the X and Y this was a quick easy fix for me.
I do however seriously believe they have an issue with that port on the v1.4. It is currently Chinese new year so I haven't heard back yet from them. I'm hoping that their engineering team can confirm my results. Updates to follow here.
BigTreeTech confirmed there is a potential issue with the Z Endstops on the SKR v1.4. When I reached out to them they said that the board I have has a 100 ohm resistor where the schematics and PCB indicate a 10K on the schematic. So I'm waiting for their engineering to confirm the issue and I'll be making a video on my work around to this issue.
The SWD Port of the BigTreeTech SKR V1.4 is designed for on-board debugging. Ive done some initial research on this and it looks like it would be easy to do however I do not know if this will make a video. The reason for that is unless you're a Marlin developer and trying to actively debug Marlin itself I don't see a use case for this. I would rather program it through the SD Card as designed vs doing it through the SWD port.
I am currently using the probe port on the board and it maps to P0_10. Anyone using something other than a BL Touch can easily use this port for the same purpose. I pulled 5v of power off another pin on the board and was easily able to get my FSR (Force Sensitive Resistor) working using this pin. This will likely make an upcoming video. I want to hear back from BTT on the end stops before doing this video.
The I2C port I have done some initial testing on and the port works fine however there is some question as to how this can be effectively leveraged with Marlin. While there are some experimental I2C commands in Marlin I think the ultimate effective use of this interface is going to be through writing custom code in Marlin. This is a project currently in progress and there will be an upcoming video on it.
The SPI Port should allow similar functions to the I2C Port however I have not spent any time on this yet.
I would like to work with the TMC2209 on this board but this is a lower priority project. The one concern I have about this is the fact that when you install the board in UART mode you have to clip off a pin if you do not plan to use stallguard. This to me seems a bit extreme in that you have to make the decision upfront if you're planning on using it. Granted you can re-solder a header pin onto the driver chip but you shouldn't have to do that. I am a bit disappointed that BTT went this direction for the TMC2209 on this board.
Closed Loop Steppers
The CLS Pins on the board are for closed loop stepper support. BTT has come out with a CLS stepper module however my understanding is that these are based on A4988 drivers which means you'll have a noisy printer once again vs. the Trinamic drivers. I have plans to dive into this more and see if there is a way to manufacture a TMC based CLS or if someone has one in the current marketplace. More will come from this one I hope.
Power Loss Pin
The SKR v1.4 has a power detection pin that can be used to tell the motherboard that the mains power supply has been cut off. This is best used with a UPS that can safely pause the print and then restart the print once power is restored. I am very interested in testing this feature and quite likely will do a video on this.
Filament Runout Pins
There are 2 filament runout pins on the board. This makes runout detection very easy. With just a couple of mechanical ends tops you can easily add runout detection to any printer running the SKR. This also gives you two additional pins in the event you only have one extruder or do not need the runout detection. This may be included in an upcoming video.
This port enables users to use a wifi adapter to add wifi to their printer. This port other boards have had for some time so there are plenty of videos available that cover this however I may eventually make one for completeness depending on the demand for the video.