BTT SKR 1.4 Turbo No Connection

Hi Jardan,
Are you referring to the section towards the bottom of the page titled ‘Disabling the Serial Console’. This won’t effect the working of the lcd I have connected will it?

Ok I’ve performed the operation to close the Serial Console down.
Octoprint is now connecting to /dev/ttyACM0

I was referring to the steps after sudo raspi-config.

I'm not sure if disabling the serial port hardware (step 5) is helpful or necessary. Disabling the login shell (step 4) might solve the problem if it was caused by a login process accessing /dev/ACM0 concurrently with OctoPrint.

With

fuser -v /dev/ttyACM0

you can see which processes have this device-file open. Normally it should only be octoprint if connected.

On my OctoPi with /dev/ttyUSB0:

pi@octopi:~ $ fuser -v /dev/ttyUSB0
                     USER        PID ACCESS COMMAND
/dev/ttyUSB0:        pi          429 F.... octoprint

So by disabling the serial console will this cause a problem?
Do I still need to perform the other step involving the Sudo raspi-config?

There are 2 things to enable/disable in raspi-config with respect to the serial console.

  1. login shell
  2. serial port hardware

If a login shell is configured to run on the same device OctoPrint is using, they will interfere with each other.

The names in /dev are dynamically generated by udev at the time the hardware is recognized by the kernel. If a device is enabled or disabled it could shift other names around. For example if you are using /dev/ttyS1 and subsequently disables /dev/ttyS0, after the next reboot your previous /dev/ttyS1 will likely shift to /dev/ttyS0.

Good Morning Jandar,
I performed your recommended modification, I've disabled the 'Login Shell' and enabled the 'Serial Port Hardware'.
So far after sending a file to print its PRINTING!

Many Many thanks for your time and patience,I suppose we have both learnt something!

Only One more problem to solve now, the Part Cooling Fan won't work

You can test the fan with the terminal. There is an input field with a send button.

To start the fan

M106 S255

To stop the fan

M106 S0

If this does work, you should look at the gcode if there are correct M106 commands. You should also enable the serial.log to see what really is transmitted to the printer.

See this link for explanation about the gcode commands.

Many thanks Jandar,
I've tried the M106 S255 command through the Octoprint Terminal and it does state there and in the log that it was sent and received as M106 P0 S255 and no the fan never responded.

I may just have to connect the Part Cooling Fan to one of the other Fan Outputs but it will be on all the time!

You don't want the part cooling fan to run all the time or at a fixed speed. This fan needs to be variable speed as different filament materials require different part cooling in order to print properly.

For example, I print PLA with the fan at 0% for the first layer, maybe 50% for the second layer, and 100% for the rest of the layers. For ABS, either 0% or 10% for all layers.

Hi b-morgan, Thanks for responding,
I know that it wouldn't be the best solution, but I can't seem to manage to get the fan to work. Ive tried numerous forums but some say you need to configure the PIN folder and some say it should work 'out of the box'. Overall I cannot use the printer in its current state.
Ive lodged a fault with Github but no one answers.
Its frustrating, either ending up connecting a fan on one of the other fan connection with a variable switch(not ideal) or pull the board and put the old 8bit board back in.

I find it hard to believe that the BTT SKR 1.4 Turbo board doesn't support a variable speed part cooling fan. It is, however, possible that your board is broken. On my LulzBot TAZ 6, I just send M106 S255 or M106 S0, I don't have to specify a P value.

I don't have one of these boards so I'm not an expert. I would think the board manufacturer should be able to provide support for their product and if they don't, then tell the world not to purchase their products.

The Fan0 connection is for the Part Cooling but I've tested the output across the terminals and after sending the M106 S255 and I get 3v and if I then send M106 S0 I still get 3v.
Either the board, as you said is broken or that Marlin isn't configured correctly!

Marlin has an open source license and if the board came with Marlin installed, then the manufacturer is obligated to provide the sources for the firmware installed on the board. Having the sources would enable you to determine if the hardware is broken or not.

However, you shouldn't have to go to these lengths. If you can find someone else with this same board and same firmware revision, then they should be able to tell you if the part cooling fan connection works or not. The manufacturer's support people should also be able to tell you that as well as providing help with troubleshooting your existing board.

Isn't the fan speed PWM controlled? With PWM the voltage is either maximum or zero nothing between. Is you measuring device capable to discern the width of the pulses?

Good evening Jandar,
I always thought the Cooling fan was capable of different speeds.
When I was using the fan on the last motherboard which was a Creality Melzi v1.1.5 which also was a 24v board but the fan was a 12v fan so it had a buck converter to knock the voltage down to the 12v. This is the fan I’m using now. So the fan is a 12v which is being fed by a buck converter.
Its described in the manual as a CNC fan.

Yeah, the fan is capable of different speeds but the speed is not changed thru different voltages.

PWM = Pulse Width Modulation. I don't know the actual parameters of the fan PWM, but in principle it works as follows.

The control works with a certain fequency e.g. 100Hz or 1000Hz or whatever. In every of these short time slices the voltage is x% of the time at nominal voltage e.g. 12V and the other (100-x)% it is 0V.

If the frequency is 100Hz and fan is at 75% speed this means: 7.5 ms 12V, 2.5 ms 0V, 7.5 ms 12V, 2.5ms 0V, ...

1 Like

I’ve looked at articles about PWM and they seem to have 4 pins to control the fan. So I don’t think it’s going to be PWM as I’ve only got 2 pins.
I could be wrong!

AFAIK you need 3 pins for PMW controlled fan, Gnd, Power and Signal.

But I see from the schematic of the 1.4 board that there is a Mosfet on on Fan0 (similar config to bed and hotend) but not on Fan1, Fan2 or Fan. My electronics knowlege is pretty sparce but I suspect this board doesn't use a PMW but controls the supply voltage.

Hi towlerg,
Thanks for your time. I'm starting to lean towards the conclusion that the MOSFET is the problem.