New MK4 is out!

Oh dear. I truly hate ribbon cable. Maybe less surprising that the LCD might have EMI issues, then.

A round ferrite works, you’ve just gotta bundle the cable together. They also make flat ferrites for ribbon cables, too.

Bah, that’s a pity it’s on a micro-match header. They’re entirely intended for fine-pitch ribbon cable and I don’t think there’s an individual pin type.

You said before that other people have had luck routing the cable differently? If you try to get the LCD and ribbon cable as far away from the rest of the electronics in the box, that might help… If it does, that all but guarantees that it’s an EMI/EMC issue.

1 Like

It’s not long enough to be rerouted, but I’ll try to get a ferrite. Do I bundle it anywhere and attach it, or close to one end? I’ll also give an update when Prusa gets back to me. Thanks for your help.

That’s a pity, although if it’s a short run then it’s less likely to be a cabling pickup related issue, I would guess.

In this case, I’d put it close to the LCD end. If it’s a bare ferrite and not encased in plastic, I’d wrap a bit of tape around it or something to avoid shorting anything on the LCD.

1 Like

It’s around 30cm, but it runs along a motor cable the whole way and in the buddy board it goes directly over the cables for two of the motors. I’m going to try later, thanks again.

1 Like

Right. Well even if you can temporarily pull the screen out in a different direction or even just create space between those cables, it might help. The fields around the motor cables drop with the square of distance, so going from 5mm to 20mm will drop things heaps, for example.

It’s now 0mm. :sweat_smile: I might try to print a PLA brace for 2mm copper and put it between the cables where I can. :sweat_smile:

1 Like

Can always try. It’s more likely to be magnetic field coupling so the cable really needs to be enclosed to solve that. The magnetic field will just go around a specific barrier like that.

You could also potentially try to temporarily re-route the motor cable as well, I guess? Might depend on whether that cable is easily replicated or not, too.

1 Like

Someone in the Prusa Forum put them under the buddyboard and said it fixed it.

Nice! Is the cable long enough?

I’ve had some ribbon cables in the past that had a few of the wires turned into twisted pairs. The pair of wires was separated from the rest of the ribbon and then twisted in place.

However in your situation it would be difficult to do that without knowing what each conductor was and you’re probably not lucky enough to have a ground wire adjacent to the specific wire(s) you’d need to shield. But maybe this could be a quick fix on the Prusa side if they are listening.

It’s all a bit of black magic to me, but you can buy ferrite clamps for flat ribbon (this one chosen at random)

1 Like

That’s my question. How is the emi turning into a signal to shut off the screen. Maybe there is a fix like changing our adding a pull up resistor so the digital input is running a little current and is less susceptible to the emi noise.

It is really easy to attribute things to emi. But I would prefer more evidence. Software is often fickle and it may just be a different setting or load (completely unrelated to the screen) that is causing the difference. But people attribute it to emi because they can’t see the real pattern.

2 Likes

Yeah, like @jeffeb3 said, I think maybe rerouting the cable did something else. Maybe it made a better connection at the plugs, maybe it was being poked by a board, etc. Otherwise, this would happen on all kinds of printers, or even my cnc! I think you will see a firmware release that will fix this.

1 Like

So I just read through that forum. I would be greatly upset with my purchase, that is a very big problem they have.

Also, I really so no big improvements for the the new printer!

Just found this on reddit through google search: (apparently there may be an alpha fw that fixes it.)

Nah, I have been using that firmware since day one, it does still happen with it. :smiley: But thanks for trying to find a solution, I really appreciate it. :slight_smile:

I now also opened a bug in the firmware section of github. Someone must have an answer, support didn’t get back to me as of yet. :expressionless:

What about this? This seems like a very good way to achieve crosstalk between the cables (two halves of one connector):

What if the individual conductors of the ribbon cable were peeled apart but left intact at the ends? Then you would have a bundle of individual wires and maybe you could crunch them together differently or maybe twist some pairs, or spread them out, if you knew which ones were more likely to be the problem.

Or maybe it’s a matter of folding the cable one way is bad and folding it a different way is not bad, if certain wires in one half of the cable are susceptible to interference from certain wires of the other half cable?

1 Like

I’ve seen that as well but never had any personal experience with it. Twisted pairs would still need balanced signals to see any improvement.

Yeah, those are like the ones I said before. As I also said, it’s kind of a worst case ‘maybe it’ll work’ scenario, so I wouldn’t invest anything significant into it. We have a big drawer of clip-on ferrites at work because they’re a low effort way to try to improve things. I’d say maybe 10% of the time they completely solve the issue we’re having and 20% of the time they improve it. Their performance is VERY material and frequency dependent, though, so different ferrites perform differently. It’s definitely black magic, even to those of us using them regularly, lol.

That’s really the key question, for sure. The ‘proper’ fix is almost certainly changing something in the components or the PCB layout, but that’s obviously a bit more of a challenge to diagnose/change from and end-user perspective. The most common mechanism is the EMI or crosstalk causing a spurious state change on a line, which then can do all sots of stuff. The noise may also be coupling through to other parts of the board. The protocol from the main board to the LCD board may have a CRC which helps with that (although it’s still possible to get unlucky with that with a high enough BER or long enough time), but subsequent protocols like the one out to the actual LCD controller itself may not. Single bit errors can do all sorts of things like skew the clock signal by one, send an incorrect command that can do all sorts of crazy stuff, etc. A lot of those things are solvable by software and using the hardware defensively, which they may not be doing adequately. It’s quite possible to be an EMI issue that has a software ‘fix’ later, although I’d say that in that case it’s not really a fix so much as a mitigation/coverup.

There are also slightly nastier ways that EMI can affect things. If it’s extreme enough, usually in terms of high dI/dt transients that go beyond the supply rails, you can get pin latchup where the state of that digital input is locked into a parasitic stable state and won’t change anymore despite external input. That typically requires a power cycle to fix or, in extreme cases, ends up with hardware damage. Most stuff I work with is specifically latch-up proof, but a lot of lower cost hardware may not be.

For sure, and this may well just be a case of ‘when you have a hammer, everything looks like a nail’. Could definitely just be a software bug, as well, or something on the cusp of software/hardware like a race condition, etc.

Stuff like that is exactly why I hate ribbon cables! That would definitely do ‘something’ to the signals. The ‘gold standard’ with ribbon cable is to use every 2nd wire as a ground, which minimizes crosstalk by giving every signal a low inductance return path (our old friend from the pendant discussion, the signal return path!). Splitting the wires up could potentially help if you were super careful about how it was done and knew what was on them, but unless they’ve made some somewhat egregious design decisions, I’d say it might be difficult to definitively fix anything.

Ultimately, the main issue here is that if you’ve got a thousand things you can try and the error occurs after 5 hours of printing, say, it’s pretty much impossible to make any good progress beyond ‘throw stuff at the wall and see what sticks’. It’s a nasty issue, for sure.

This is exactly why I always put so much focus on good EMI/EMC practices in terms of PCB design and cabling/conductor layout. You only really need to be bitten by it once and waste a ton of time to never want to end up there again.

5 Likes

Another thing from the Prusa thread was it’s apparently strongly related to the operation of the motors (at least for some).

Meanwhile I’m wondering why the pre-assembled ones are not having so many issues (I presume).

Maybe the tight twisting of the motor wires is reducing the magnetic emission for the pre-assembled ones, and people are building their own and letting the motor cables run parallel or maybe even loose and slightly separated, with no instruction to do otherwise. I would think the magnetic fields could easily be 10x worse compared to a tight, twisted set of wires.

Would a wire braid around the motor wires reduce emission? Could the braid absorb the magnetic fields by making opposing induced current loops?

The motor cables are twisted and you get instructions on the cable braids, so those should be the same to the assembled ones. In the thread on the Prusa forums most people have preassembled ones I guess, since the dates are before any kits were shipped.

1 Like