Soldering On

What do you call a digital camera with a broken power supply? A paperweight. The power supply for one of my favourite old cameras broke today. It’s a big complicated circuit board, as you can see above. Fortunately the fix was quick and easy. On the bottom right you can see the power input socket which is soldered directly into the circuit board. Over the last 20 years the waggling that it got as people plugged and unplugged the cable had caused the soldered joints to fail. I just had to put some more solder on the two connections and we are back in ancient digital business. Note that this side of the circuit (marked primary) is at mains voltage, and so I was very careful about making sure it was turned off and disconnected before I ventured inside the box.

The keyboard has arrived..

Big day today. The keyboard I used AI to design has arrived. I sent the designs off to PCBway a week or so ago and now I have the manufactured board in my hands. Amazing. It even looks like it might work.

All I have to do is solder a Raspberry Pi PICO onto the back and I can test it.

There we go. Now to add the Micro Python code and see if the keys actually work.

Yay! The code worked first time. I now have a keyboard, Time to put it in its enclosure. First we put the keycaps into the frame.

..and then we add the frame to the cyberdeck. Today was a good day.

Tiny FreeCAD

There is also a viewer for the output

I’ve been playing around with Python programs in FreeCAD for a while. It’s great fun. But FreeCAD is a big install. So I wondered if it was possible to make something which had the same Python API as FreeCAD does, and implements just the functions that I use. I asked Claude to build it, and less than 12 hours later, here it is. You can download it here.

The repository includes FreeCAD Python code I created for the Python in FreeCAD series of articles I wrote for Raspberry Pi Magazine. It’s not a complete implementation of the API but it is enough to be useful. The great thing about it is that everything you need to run the examples is in the repository. There is nothing else you need to install. I’m using it in the Thing Maker and it seems to work very well.

Enter the Thing Maker

I’m building a Cyberdeck. This seems to be very fashionable at the moment. It needs a case. I could have designed one and left it at that. But I wanted something that could make lots of configurations, and other boxes too. So, on Saturday I gave Claude a detailed description of a program that I wanted to it to build for me. I pointed Claude at some other things I’ve made and told it what I wanted. And, after while of using words like “nooodling”, it dropped out “The Thing Maker”. I then spent the next couple of days bouncing backwards and forwards and refining the design and now, here we are:

A case design is expressed in a JSON file that specifies boxes, what is in them and the hinge that joins them. You use a snazzy interface to place your devices inside your boxes. The device specification includes cut-outs for the connections (you can see them in red above) which you can enable on a per-connection basis. The box (base and lid) is made around the devices and then their cut-outs make sure that the holes line up. You can also make devices “sticky” so that they will move when the box size changes. It’s been great fun to make, and it might even turn out to be useful. You can even import stl files that describe assemblies and add them to the design, along with mocks, cut-outs and supports.

It’s the kind of thing I would build if I had the time. But now I don’t have to, because Claude has built it for me. We do live in interesting times…..

Don't forget the Raspberry Pi 3a

This is a great time to be building systems. Unless of course you need to buy any hardware. In which case the device you want will be either super-expensive, unobtainable or both. If you fancy a Raspberry Pi 4 or 5 look forward to some hunting and a big bill at the end. But remember that you don’t always need the latest and greatest. If you want to make something to monitor a bunch of sensors and host a website, or run in a little interactive display, you might find that an older (and much cheaper) Pi will do the trick. You will also have a lot more luck getting one for a not-extortionate price.

Which brings us to the Raspberry Pi 3a. This is basically the same hardware as my favourite (but totally unobtainable) cheap Pi, the Pi Zero 2 W. But the 3a comes with proper usb and HDMI ports and even an audio output. It is also available to buy right now for a not too eye watering price. Worth a look.

The universe really does have a sense of humour

Amazon gave me a refund for something I hadn’t sent back. This offended my honesty. Plus I was worried about them catching up with me. So I got in touch. Talked to an AI assistant that was useless. Then got put onto a supervisor which might have been a slightly more expensive AI model. But were very helpful nonetheless. They/it told me to take the win and smile. So I did. Then something that costs almost exactly the same as the refund broke and I had to buy a new one. From Amazon. Life eh?

Blade Support when 3D printing

3D printing is great, but some things can be a problem. Printing gently curved surfaces can be tricky, particularly if they are on the top. The limited vertical resolution of the printer means that the layers of the print really show up, making the surface look like a contour map. One solution is to print the piece at an angle. This works well, but it might mean that you need to print a lot of support underneath your print. The chap above has come up with a neat way of making angled prints quicker and less wasteful. Rather than support the entire surface, he uses just a “blade” to support one part of it. The video explains how it works and how to do it. Worth a look.

Clicky Test Keyboard

For the finished keys I’ll fill in the gaps in the legends

Me and Claude (well, mostly Claude) are making a Cyberdeck Keyboard. I’ve decided to use very cheap and tiny surface mount clicky switches underneath the keys. Which led to a concern. I was worried that if I put a long key (for example space bar) on top of the keyswitch the key would pivot if you pressed the edges and not trigger the switch. I wondered if it would be a good idea to mount long keys on two switches.

This is not the kind of thing that you can decide by just thinking about it so I asked Claude to make a mock PCB with spaces to insert the switches I’m using, and then build a test keyboard around it. You can see what I ended up with above.

There are two versions of each long key, one supported by two switches and the other supported by one. It turns out that the 4u key on a single switch works fine. The space bar tips when you press one end, but not far enough to stop the switch from registering. Using two switches actually makes things worse, as you seem to have to press both of them down to make the key work. And now I’ve got a nice little fidget toy to play with…..

Tiny Software Engineer at the Hardware Meetup

Ross showed me the video above, which describes a tiny software engineer. You can connect it to your AI agent and it mimics what the agent is doing, whether it is thinking, typing or finished. It uses a bunch of servos, an ESP32 and 3D printed components. I want folks in the Hardware Group to have a go at building it and then we can try to get a bunch of them working together. If you fancy having a go, come along to our next Hardware Meetup. There’s one on Wednesday next week (the 7th October).

Cyberdeck Keyboard

I’ve decided to try and make a keyboard for a Cyberdeck I’m building. I’m using Claude to do all the work. I want to use it to design a printed circuit board, case and 3D printable keys. The starting point will be a JSON file which describes everything. So I also need a design program. Claude “thought” for a while and came up with the above program. I showed it my programs for FreeCAD which make the wordsearch clock and told it to use that idea to make a keyboard design.

The keys printed out rather well. I’ve now asked for the design to be inverted so that I can print the keys with the text close to the print bed, which will make them a lot smoother. I’ve got a policy of not fiddling with what has been produced because I want to see how far AI can get on its own. So far it is doing very well.