I picked up a pimoroni blinkt in a swag bag recently, and I think I should make a colour clock out of it. There’s a simple one-liner for installation of all required libraries, but it pipes to bash.

That is against my religion. I like to know for myself how I’m messing things up. I like to make sure the checksums are right. Disappointingly, I did it through aptitude, and it didn’t go wrong /at all/.

Oozi – I hate Oozi

I need to mess with the PID loop on the 3D printer. Right now it’s got about 12 possible temperature states in a look-up table, and that’s not enough. It needs 60, I think. The symptom is that the print never starts, and I believe that’s because the temperature never stabilises enough. If the change in loop doesn’t fix it, I’ll end up using an Arduino/Ramps combo, but I need to do this.

I’ve needed to do it for about five months now. I do not want to flash that damned thing Yet Again. For one thing, it’s been months since I have and I’ve forgotten most of the steps.

Update: Have accidentally ordered an Arduino Mega to go with the early RAMPS board I picked up. I was on eBay and it fell into my basket.

Kettle Failure

Apparently that was a sodding toggle switch. And 0 means off.

I’m still not entirely convinced it wasn’t all mocking me – I toggled it and waited and toggle it and…

Yeah, no matter how I cut it, I was defeated in single combat by a kettle that I use just about daily. Pre-tea Diana is a very slow beastie.


Trying to use phototransistors to find heat sources and work out where they are, for the brief ‘my robot army will hunt you down’. They seem to be the wrong stuff for a human heat source. I have not yet tried this out, and I should, but I’ve been told they are wrong.

I can do some other stuff, like have an IR source in the middle of the pupil, and then bounce off that, which might work. However, for the moment I’m failing with a 3D printer instead.

Itchy: Servo

Well, the big servos didn’t work, but nothing melted. The small ones do work. And, even better, I made someone tell me my electronics made god cry. I was using my LED array instead of an oscilloscope – it’s quick, and I only wanted to know where a signal was, not what it was. So hah!

Related: I really need to set up a proper connection to the oscilloscope on my main laptop.

Itchy: motor wires

I really hate crimping wires into DuPont connections. I tend to do it with pliers through hatred of the crimps in question, but that’s not serving properly. So, time to redo some of the ends of wires on Itchy. This time, without fucking it up.

On the other hand, randomised direction for travel along the Y axis is funny. But so is leaving bricks under hats on the pavement.

Through-hole soldering tips for the gutter punks

  • When putting headers onto anything flat, do it upside-down with the headers in a breadboard
  • You can use female/male headers above any pins or headers you’re putting on, to make sure they stay aligned and vertical
  • The plastic on headers will melt at soldering temperature, so never rely on a pin staying still
  • Components can be kept in place with blue tack, which does not conduct electricity…
  • …unless it’s got little bits of metal stuck in it
  • Solder diagonal corners of anything with more than two legs, and check how it’s seated before you commit to the rest

Microswitch Fail – in a bad place

I had some cheap microswitches, and one had failed, but we figured that it was just one in the bunch, and put it into the interlocks of a laser cutter, to replace a switch that had started to fail. Then a second one from the batch committed suicide in my hands. This may have had something to do with the fact I was taking wires off and the plastic casing melted a bit, but it was Not Good. And indeed, Demonstrably Not Safe.

So, that’s been swapped out. And I’m off to eBay to find some that look like they were made by the /second/ lowest bidder. Cheap is good! Except in cut-out switches.

Itchy: Improving stuff

The current base of Itchy is a slice of plywood on some 40mm blocks with some nuts used as spacers. I’m calling that ‘non-ideal’. It’s going to have MDF on a raised base of some kind, probably made of lengths of 20×20 extrusion. It might be removable, and probably should be, but ‘removable’ just means having countersunk screws, and maybe some kind of cover for them. ETA:I just remembered I know where there’s some sheet steel. I must remember not to overmake this.

The entire gantry swivels about the lead screw. This is slightly more than non-ideal. It’s a significant error. Mat’s been helpful about that, after he stopped cringing. (He called it an abomination. I’m so proud.) Two lead screws worked from the same stepper would move that squarely. I’ll have to add anti-backlash nuts, but that isn’t a problem – I have two bearing blocks on either side, and I tapped them both. Adding in the second cross-piece hasn’t been a priority yet. When I do it, I’ll have to do it properly and arrange everything nicely. Right now crosspiece #1 is held on with two pairs of corner braces that are bolted to each other. That was only ever temporary, but I’m impressed by how well it’s been working.

The head needs building, rebuilding, or re-re-building, depending on how I’m keeping track. The belts are currently attached to a piece of acrylic, which is not actually terrible given the amount of pressure on it. However, I’ll be wanting to put more pressure on it. This is another non-ideal part. It’s not a critical part of this round of improvements. The motor at the end of the gantry is held on by a single piece of 5mm acrylic and the power of hope. That /is/ a critical part of the current round of improvements. I need to make that out of metal, and have a bottom brace to it as well. I’d have made it out of metal but that all went badly wrong when I put it onto the rotary table on the mill. We don’t have a single bit wide enough to get the raised part of a NEMA motor sit inside a hole. On the head I got around that by not having enough of a hole in the first place, but I knew the head was temporary, and I want to do this properly. The best way is probably to make a threaded rod for the mill that has a cone ending, so I can centre-find. I’m likely to eyeball it all and hope, though.

The biggest features now are the splorted wiring everywhere like someone has disembowelled a pinata full of multi-fruit bootlaces, and the fact that some of those wires are inherently unsafe. The limit switches are currently push-to-make, and should be push-to-break. That was a speed thing, but I can invert them easily enough now I know what the firmware is, and that it’ll support the pin inversion. I have cable track now, so I can run them all safely. The head/motor holder designs both need to take into account limit switches and wiring anchor points. I tried 3D printing track, but the joints were not good enough.

In order of importance, there are the safety items first – limit switches and wiring – and then the thing that’s arguably a safety item, in that I don’t want motors to snap off and should therefore get rid of the acrylic – and then the wobble along the bottom axis, which different people call the X or the Y. I’m thinking of calling it ‘the axis with the motor nearest to me’ which is my kind of naming scheme. (It’s a bit weird, because it’s not like a graph where you plot things. It’s a graph where the axes are used to move the other axes. So a movement in the X, from left to right, can be made by a stepper that is sitting along the Y axis. This has been a source of massive confusion to me, so the milling course at makespace just has ‘long axis’ and ‘short axis’ and then nobody has to think. And, more importantly, there’s less chance of fucking up through people not thinking.)

In terms of what I’m realistically going to do first, it’s got to be the wiring, then it’ll likely be the wobbly bottom, then the motor mounting, and then a big redesign of the head. I can probably deal with the wobble a bit by only having three blocks, which would let me position the rods to minimise the travel available – but that’s the wrong way of doing it, and a double lead screw is the right way.