!Serious Safety Concern!


#1

I am posting this out of general concern for my fellow makers on this forum. I am not trolling. I am not trying to scare people. I am not trying to hurt SnapMaker as a brand. Over all I love my SnapMaker and plan of using it for many years to come. I have found something though in the design of the 3D printing module that has me genuinely concerned and has led me to stop using the 3D printing module. I feel that it is in the best interest of this community to warn you about this. I emailed SnapMaker Support about this yesterday and have not heard back from them yet. I have debated all night if I should post this. If something bad happens to someone and I had not posted this I would have felt very bad. All in all I hope that I am just flat wrong about this at which point I will apologize to everyone here and remove this post.

So as some of you may know I have been doing a bit of reverse engineering on my SnapMaker. I am in the process of designing my own 3D printer controller and want to use their hardware with it. I also want to use my E3D Titan extruder with it for printing flexible materials. However while in the process of reserve engineering it I have found something that if I am correct is a fire hazard. For those not interested in the technical side of things the TL;DR is that the RJ45 jack and connector are probably not rated for the amount of current the 3D printing module draws.

So here are the details. Based off my findings the 3D printing module is wired like this:

PIN1: VCC, Heater Socket Pin 1, Fan+
PIN2: Stepper Coil A+
PIN3: Heater Socket Pin 2
PIN4: Stepper Coil A-
PIN5: Thermistor Socket Pin 1
PIN6: Stepper Coil B-
PIN7: GND, Fan-, Thermistor Socket Pin 2
PIN8: Stepper Coil B+

So PIN1 is feeding both the heater cartridge and the positive side of the fan. The other side of the fan goes right to ground on PIN7. The other side of the heater cartridge goes to PIN3. PIN3 is most likely routed to a MOSFET which then links to ground. That MOSFET is controlled with a PWM signal to regulate heater’s temperature. What this means is that all the power for the fans and the heater cartridge is being passed through PIN1.

Now the 25mm fan on the bottom of the unit draws 0.1A at 24V. The 30mm fan on the heat sink inside draws 0.08A at 24V. The heater cartridge is 40W at 24V. Current = Wattage / Voltage. So 40W / 24V = 1.66A. So if the heater is running at full power, PIN1 is handling 1.84A of current. Every RJ45 jack that I have been able to find is rated to a max current of 1.5A per pin. Now it is quite possible that SnapMaker was able to source an RJ45 connector that can handle more than that per pin. If so that is awesome. It is also possible that I have missed something or messed up my calculations. If so I am terribly sorry for worrying anyone. If I am correct though, the 3D printing module and possibly the controller needs updating.

The simplest fix would be to switch to a 30W heater cartridge. 30W / 24V = 1.25A. So with the fans it gets the total amperage below the max the connector can handle. It would not leave much of a margin though. To compensate for this lower wattage heater they will need to provide some way to insulate the heater like a silicone boot. They may also need to redesign their heat break. Theirs is a little thick and is bringing more heat up into the heatsink than is necessary. This way more of the heat from the heater will say in the heater block and allow it to get up to temperature properly.

If they go this route they should also adjust the PID_MAX variable in Marlin. This variable limits the maximum current the software will allow to flow to the heater. It defaults to full current. Please note that implementing just this is a bad idea as if the heater MOSFET fails in a dead short situation, full current will flow through the heater no matter what. Before anyone asks, I also know for a fact that this variable has not been adjusted in their code. More on that in another post.

A better fix would be to move the wiring for heater off the RJ45 jack and onto it’s own connector. It could even be run through an RJ25 connector as long as multiple pins on the connector are used to carry the current. Other connectors though are more appropriate for this like an XT30 or XT60 connector. The problem with this option is it would mean that their controller and 3D printing module would need to be redesigned deal with the extra connector.


#2

Have you noticed the wire or the connector getting hot? A connectors AMP rating is usually a continuous current rating. Because the heater is not on continuously (Yes, it does start up that way but then once it reaches temperature it cycles on and off) the current to be concerned about is the average over a long time. If the connector or the wire get too hot to touch, then it is a problem. Chances are that the rating has some safety factor built into it as well.

A good test might be to put 2 amps on the connector and leave it for a long time and see just how hot it gets.


#3

My SnapMaker is not exactly the fastest at heating up. Takes about four minutes. During that time the PID control loop in Marlin will keep the heater cartridge fully energized. It is only after it gets to about five degrees of the final temp that it throttles back. As such full current will flow.

Also MOSFETs short out. If that happens the heater will be on constantly. Marlin has checks to deal with this but those require sane settings in the firmware. They also assume that all the wires and connectors are properly sized to deal with that current. If those sanity checks do not kick in quickly enough the connector will fail.

The Power Over Ethernet (PoE) specification which is used to deliver power to devices over cat5 cables through RJ45 connectors says that the max current that any device can use is 600mA at 40V. This is an industry standard reviewed and used by millions of devices world wide. Trust me if they felt that they could safely push more current than that they would.


#4

Even when heating up, I think it’s being fed power using PWM. That will reduce the stress on the wires because the current isn’t continuous.


#5

Yes it is being fed by PWM. When heating up though it is at 100% duty cycle which is basically fully on. Once at temp it drops down. The PID_MAX variable allows you to limit the duty cycle but hasn’t been done.


#6

The SM isn’t using cat5 cables so that spec doesn’t really apply.
The MOSFETs shorting out is likely the biggest danger.
Do you know what the ratings of the MOSFETs are?


#7

It appears to be a NCE3050K.


#8

I don’t know whether the SnapMaker has these but there are RJ45 connectors that can deal with the current http://malibor.by/sitedocs/00327.pdf - this was the third search result (the first two were duplicated). Has anyone wired up an ammeter to check?

I would suggest we wait to hear from SnapMaker.


#9

I was looking for vertical ones. Like I said it is very possible they were able to source higher current ones. I’m not trying to freak anyone out. I just want to error on the side of safety.


#10

I just checked the vertical RJ45 Jack and sadly it does not have any markings to say who manufactured it.


#11

Hi Michael,

Thank you very much for your feedback.
Our hardware engineers are informed of this issue now and they will confirm if what you describe is the case.
We will get back to you once we have some progress.

Thank you!

Best regards,
Rainie


#12

Thank you for looking into this.


#13

Okay so I think the heated bed is actually more concerning at this point. It is wired as follows:

PIN1: Heating Element +
PIN2: UNUSED
PIN3: Heating Element -
PIN4: Thermistor +
PIN5: UNUSED
PIN6: Thermistor -

I had assumed that with the heated bed SnapMaker had used multiple pins in the connectors to carry the current. That does not appear to be the case. The resistance of the heating element is right around 12 Ohms. That means that when fully on 2A will be flowing through pins 1 and 3. I plugged it in and heated it up to 80C and sure enough that connector got very hot. Hotter than the build plate. Unless SnapMaker managed to source RJ25 connectors able to handle 2.5A or more of current this is a problem.


#14

SnapMaker any update on this? This is not something to ignore?


#15

Hi Michael,

My apologies for the late reply. I was planning to reply to you on July 22, but I got overwhelmed by other urgent tasks and forgot to reply to you. Please accept my sincere apologies.

Here are the results after I communicated with our engineers:
1.Your assumption is right. It is possible that the machine will cause fire hazards if there is a short circuit between the pins inside the RJ25 or RJ45 ports. The design of the ports only allows less than 2A current.

2.However, when the machine is working properly, the possibility of fire hazards is extremely low. The current only reaches 2A when the machine is heating the nozzle or the heated bed and it only lasts about 1 minute. Also, the current leads in the RJ45 Cable were customized to satisfy our special needs for the current. We have tested the temperature changes of the port when current-overloaded. This video shows you how we did the test: https://youtu.be/-n2tmSf1ugg. Here are some of the results from the tests:
image

3.If users are still worried about potential fire hazards brought by this design, we can reduce PWM to further lower the risks. However, as a result, the power will be reduced and thus it lengthens the time for heating the heated bed or nozzle.

4.We are developing new products currently and have taken this problem into consideration. In the new products, we will make sure the controller can detect the temperature of these parts and cut off the power when they are overheated. Therefore, this will not be a potential hazard in the new products.

In summary, please don’t worry. You can use the Snapmaker 3-in-1 3D Printer safely.

If you have other questions, please feel free to contact us. Thank you!

Best regards,
Rainie


#16

Hi, I still don’t have a Snapmaker. But I’m interessted in it. And I think this Issue can be a big problem. So my questions are, are there any fuses befor the Ports and the cables, for protecting the cabels against short circuit? How much current delivers the Powersupply?


#17

Thank you for responding. I am glad that you checked the extruder jack for overheating, but have you checked the heated bed? That jack has even more current running through it, the jack is directly connected to the part that is heating up, and it is a different type of jack. When I heated the bed to 80 degrees C and used an infrared thermometer on that it was getting well above 80C and that is with the firmware pulsing it with a PWM signal not full current. Mind you, in the video you posted they are using a much higher quality infrared thermometer so I would trust your readings over mine.


#18

Hi @hoaschter @CthulhuLabs,

Here are the answers to your questions:

  1. No, there is not a fuse before the ports and cables.
  2. The specifications of the power adapter is 24V/5A. The actual current differs depending on the machine status. When the machine is idle, the current is only a few hundred mA at most. When the machine is fully loaded, the current can be between 4A and 5A, but this is for the whole machine.
  3. The port is welded directly under the heated bed. Its temperature changes with the heated bed. Since the port itself will be heated when it’s loaded, it’s temperature is the sum of the heat by the heated bed and the heat by the current. In theory, the temperature of the port should be close to the temperature of the heated bed considering heat dissipation. We tested the temperature of the RJ25 port from a few working machines. Here are the results:
    image

The biggest difference between the temperature of the heated bed and the port is 7.7℃. Also, the port is made of polycarbonate. Its distortion temperature is 135℃ and its melting point is about 250℃. This material will not burn if it’s away from fire. Therefore, even there is a short circuit, it’s quite unlikely for the port to cause fire hazards.

If you have other questions, just let me know.
Thank you!

Keep having fun!
Rainie


#19

Hi @Rainie,

how big is the profile of the cables?
My concerns are, that the cables are not protectet in case of short circuit or overload caused of a malfunction. And so 5A can flow thru the cables in the worst case.


#20

Hi…If that happens the heater will be on constantly. Marlin has checks to deal with this but those require sane settings in the firmware. They also assume that all the wires and connectors are properly sized to deal with that current.

pcb assembly services