# 3D Printing Speed Bumps

The road to 3D printing is fairly smooth these days, but clearly some assembly is still required. And disassembly, too.

Update, Nov 9th: I got new electronics, but they came with the wrong firmware, which I fixed in my own inimitable fashion before getting stumped by a flimsy power jack.

Last weekend my 3D printer stopped working.

After a few weeks of zero issues (other that the occasional bad print when the PLA got unstuck, something that other enthusiasts are likely only too familiar with), the thermistor that helps regulate hotend temperature flaked out and (apparently) took out part of the electronics with it.

After a fairly lengthy print (around 8 hours), I unloaded the filament, took out the reel and switched off the printer to prepare for dinner.

I came back, put in another reel, switched on the printer, and was greeted by the display reporting Err: MAXTEMP and an outrageous 350 C temperature on a room-temperature extruder:

With the thermistor wired in

After unplugging the thermistor

Given that pretty much everything else worked (I was able to use both the onboard control panel and Octoprint to move all the servos, had unloaded the PLA without any hitches, etc.), my first notion was that the thermistor was shot. The second (after unplugging the thermistor wire) was that there was someting wrong with the Arduino analogue input.

I couldn’t test the extruder given that the hotend was cool and the printer wouldn’t let me heat it up again regardless of that the thermistor reported, but I assume both the extruder and the hotend are in working order.

So I filled out bq‘s support form on Saturday evening, and next afternoon (without the kids around), I did a little research (yielding this nice, comprehensive page on testing), removed the extruder assembly and checked the thermistor with a multimeter, yielding zero resistance:

So I signed up for the bq user forum and posted about this, adding a link to a photo album later as I was asked to take more shots of the extruder assembly and conduct a few tests:

Top view of the extruder and thermistor wiring

Side view of the extruder and thermistor wiring

As it turns out, it appears to be fairly common for people to short-circuit the thermistor wiring while assembling the extruder mount (even though there are ample warnings about that). Which wasn’t the case here, seeing that it was the thermistor itself that shorted out.

The strange thing here is that the thermistor shorting out shouldn’t have fried the Arduino analogue input (a scenario that was in the back of my mind from the outset), given that there’s a guard resistor and a capacitor in the RAMPS 1.4 schematic:

Schematic for Thermistor 0 in RAMPS 1.4

Anyway, after a few days of toing and froing with support via e-mail doing tests (including a firmware upgrade) and taking photos of the results, I RMA’d the RAMPS, the Arduino and the faulty thermistor back to bq yesterday, with some hope of getting this sorted out in time for printing some doodads for Christmas.

In the meantime, I also tracked down their Hong-Kong supplier for the Arduino MEGA 2560 and the RAMPS board, as well as an alternate source for the thermistor (which is the only place I could find so far that supplies it bound to the brass nut and with a suitable connector) – so if this happens again outside the warranty period, I’ll have something to fall back on.

Again, having a RepRap printer means there are plenty of options, and it’s nice to know I can get spares directly from third parties.

Let’s see how this goes.

## Nov 8th: Not quite there yet

I was pretty happy to receive a package in the mail yesterday with new electronics (or at least a new Arduino a thermistor, since the RAMPS seems identical to my photos), but when I re-wired and plugged in the board, I got this:

Surprise!

…they sent it with the wrong firmware.

The Witbox is bq‘s upmarket RepRap printer, which apparently uses a different layout and (judging by the groans and stutters when I started testing the axes) also different servos.

So I can’t use this as-is, and trying to flash the Hephestos firmware gives me a blank LCD (probably because the firmware images they have available look like updates and not complete images), so I’m back e-mailing support.

I’d really like not having to set up a compiler and build my own firmware image, but it looks like that might be in the cards. But at this rate, my original plan to print Christmas ornaments may well be in danger…

## Nov 9th: Rolling My Own

Having read through the Marlin docs, I decided to give it a go at rollling my own firmware image. After the hassles I had last year setting up cross-compilation environments for ARM and Being a devout believer in devops automation, I went and built a Docker template for doing that in a reproducible fashion from bq’s source repo, and, sure enough, my firmware image worked flawlessly.

Comparing it with the firmware image I’d tried yesterday, I noticed that it was cut off at an 8K boundary, so I went and downloaded it again (bq hosts their downloads off S3), and… Got an identical file to mine. Go figure.

Thinking I was in the clear, I went on to print a few snowflakes and other doodads:

A tiny stereographic projection, shrunk 50%

…until one of the prints failed suddenly with the servos stuttering. I soon traced that to the cheap Chinese jack adapter, which came loose from the plastic moulding. Given that it was quite warm to the touch, I suspect it was shorting out – and looking at the way it’s made, I’m surprised it lasted this long:

The jack cut open. Note the non-insulated wires, which will short if the metal lining twists.

So I just ordered an 8-pack of replacement jacks for five quid (postage included) and decided to call it a night – maybe things will work out better next weekend.