Robots in HackSpace

My domination of the publishing world continues. In this month’s HackSpace magazine you can find episode 2 of my series about the Robot Operating System.

It was great fun to write. There’s a complete walkthrough of setting up ROS 2 on a Raspberry Pi using Docker in the lab part of the article. This makes it comparatively easy (if you use my scripts) to run ROS on a Raspberry Pi 5 running the latest Bookworm OS. It runs rather nicely on that platform, including the graphical tools.

Pixelbot PCBs at the May 1st Hardware Meetup

The coloured pins make it much easier to see what each connection does

The Hull Pixelbot is going from strength to strength. The original device was powered by an Arduino Uno running a thing we call HullOS. Late last year we ported HullOS to the Raspberry Pi Pico. To make it easier to connect (and to add some interesting new options) Brian has designed a PCB that provides a proper power supply for the PICO and exposes all the connectors for motors and sensors. We’ve also got space for an OLED screen and a couple of push buttons.

This is a major development for Pixelbot. It means that we can expand Python-Ish (or maybe even replace it with “real” Python). It certainly gives us a lot more options when building robots.

Brian used a tiny hotplate to install all the surface mount components. We’ll have the hotplate and some components at the next Hardware Meetup so you can actually watch a circuit board being soldered.

Connected Little Boxes Direct Commands

YOu need to add the “direct” tag to your device for direct commands

Making stuff by yourself is all very well, but I find that projects really catch fire (in a good way) when you get other people involved. I’ve been working on Connected Little Boxes for ages and I think it is now almost useful. You can make little devices that can send messages to each other and you can control from the web. There’s a web interface you can use to manage your devices and create control pages for them. It’s all underpinned by MQTT (Message Queue Transport Protocol).

Ross took a look and he reckoned it would be nice to be able to just hit a url and send an arbitrary message over MQTT to a device. So I’ve added it. If you take a look the device edit page above you will see that the cosylight device has a Device URL. If perform a GET from that url with a query string which contains a “text” value the contents of the value are sent over MQTT to the box.

There is no validation or security, so I wouldn’t use it to control my front door. But if you want something very lightweight it provides a neat way of sending commands. If a device is being abused you either disable direct commands or change the url to a contain a different GUID.

If you want to have a go with Connected Little Boxes get in touch and I’ll set you up with a username and a password on the portal.

Fun with colour film

Local Blossom

Took a colour film in to be processed today. I like doing this. It is a bit pricy I suppose, but it is my hobby, so there. And apparently you can spend an awful lot of money on golf clubs (not to mention course fees) - so there’s that. Anyhoo, they came out pretty well.

Just some trees

Hull University Wilberforce building artwork

University library looking good in the rain

These pictures are from scans that I got when the film was processed. I think they look pretty good, although the physical prints look even nicer. They aren’t particularly high resolution but I’ve found it pretty much impossible to make better ones with my own scanner.

Bought an Olympus Pen EES from Japan

Not bad for a fifty year old camera

It’s number one son’s fault. He told me about the Buyee site which lets you bid in Japanese auctions. I’ve been after an Olympus Pen EES (with manual focus) for a while and so I took a look. They had one on there priced at 27 quids. Very good condition and with a “working” exposure meter. So I bought it. The price is impressive for a camera like this; although I did have to pay another 27 quids for postage and packing.

The service is very good. The Japanese seller of the camera sends it to the Buyee warehouse in Japan where it can be stored for up to a month. If I bought any other bits and bobs they could have been sent there too and then all combined for shipping. As I was just buying the one camera I had it shipped out as soon as possible. It took four or five days to arrive and the whole process was very smooth. I’ve had orders from ebay which have taken longer. The order didn’t attract any import duty and I was able to use the Japan Post website to track the package all the way to being out for deliver by Royal Mail Parcelforce.

The camera arrived today and (of course) doesn’t quite work properly. The exposure meter isn’t working and the aperture is stuck at F22. But I don’t mind. It will take pictures (although I’ve yet to develop them). Even if I have to spend a few quids to get it fixed or brave going inside and fixing it myself I’ve still got a camera in extremely good condition. The site sells a huge variety of stuff, some of it at very interesting prices. I don’t think I’ll be buying things every week, but it is nice to have the option if I want to get something which is a bit out of the ordinary.

Making Working Microphones

I’m quite proud of the above circuit. This is not because it is especially well designed, or that it is definitely the best way to do it. I like the circuit because it does what I want. I connect the phone handset to the left hand connection and the microphone to the right and I can speak into the handset and record the resulting audio on the Raspberry Pi.

The circuit contains a “potential divider” which is a posh name for two resistors wired in series. In the above case the two resistors are R1 (the 1K resistor) and the handset carbon microphone (which measures around 500 ohms or so). One of the magical features of electricity is that a voltage “spreads itself out” across the resistors in a circuit. If the handset microphone has a resistance of 500 ohms, we put it in series with a 1K resistor and we put 5 volts across the pair of them we find that the 5 volts is spread across this circuit in a manner proportional to the resistance values. Total resistance 1,500 ohms (1K + 500). The 1K resistor is two thirds of this total, so two thirds of the voltage goes across this resistor. The point where the 1K resistor and the handset microphone are connected should therefore be at a voltage of one third of 5 volts, the other two thirds having been dropped across the 1K resistor.

If this is confusing to you consider how, back in the day, we used to make Christmas tree lights using bulbs that were powered by 12 volts. You might think that putting a 12 volt bulb across the 240 volts mains supply would cause that bulb to explode. And you’d be right. But if we connect 20 of the bulbs in series, one after another, each bulb only drops a 20th of the 240 volt supply (12 volts), so all works well. This is also horribly dangerous though. You might think that 12 volts is a safe voltage to work with, but in the case of mains powered Christmas tree lights people were regularly electrocuted. This is because a human being has a high resistance, much higher than a 12 volt light bulb. So, according to the laws of the potential divider, if I insert myself into the tree light circuit in place of a bulb, the fact that I have a much higher resistance than a bulb causes most of the 240 volts in the circuit to go into me. Ouch. Nowadays we don’t wire lights this way. A set of lights will contain a transformer which converts 240 volts into something much less tingly.

So, we have a potential divider which contains two resistors, the 1K one and the carbon microphone. Consider what happens when I speak into the microphone. The carbon granules vibrate and the resistance of the microphone changes. This changes the voltage at the point where the two resistors are connected. This change is an audio signal that represents the sound. The signal goes through a resistor (R2) to reduce its level a bit and then into a capacitor which only lets through the alternating current (the sound signal). This goes into the microphone and hay-presto, we have a sound signal.

This is the third version, which is small enough to fit in the phone

Above you can see my realisation of the circuit on stripboard. I’ll spare you the sight of the soldering underneath. The circuit is now in the phone and working. Next I have to work on the software.

Making Microphones

It is a surprisingly good microphone

When I’m attacking a problem I sometimes like to have several fronts open at the same time. I’m presently trying to get speech input into my Red Telephone. The phone has a carbon granule microphone which changes in resistance in response to sound. This won’t work with the microphone input in the phone. I could either build a circuit to make the carbon microphone work with a “normal” microphone input or I could find a different microphone to put in the phone. I decided to do both. Starting with microphone replacement.

I got the microphone above with a stereo system from way back. It helps the amplifier adjust itself to the acoustics of the room its working in. The stereo is long gone, but I kept the microphone because well, you never know when you might need one. It works fine with the USB audio input I’m using with the Pi and it even fits inside the handset of the phone. But there is a problem. The handset is connected to the phone using a lovely red curly cable. This cable is not screened at all because old phone cables don’t need screening. Unfortunately, microphone cables do. So although I got an audio signal from the microphone I also got an awful lot of hum caused by the cable picking up mains radiation from the devices in the house. Oh well, on to tomorrow.

Making Spanners with ChatGPT

Close but no cigar

As part of the fixing of the Canon Dial camera I needed a spanner to remove the dial spring winder. The spanner is a bit special because it needs to fit between the winder and the camera body. Ivan was kind enough to make me one out of brass, but it turned out to be a little bit too thick. So I thought I’d 3D print one. I’ve been impressed with how tough PETG prints have turned out, and the spanner doesn’t have to be particularly strong, so I was hopeful this might work.

And, since I’m lazy I thought I’d ask ChatGPT to produce the spanner design as a Python program I can run inside FreeCAD. I asked the question and out popped some Python. Which didn’t work. There then followed around fifteen minutes of me explaining why the supplied design was wrong, followed by ChatGPT then producing a differently wrong result along with an explanation of how it had fixed the faults that were still there.

Eventually I gave up and wrote the design in about five minutes or so. These things are very clever, but if they get it wrong it seems that sometimes it stays wrong whatever you do.

The spanners worked a treat, although I had to make a really thin one

Canon Dial 35 Cleaning

Those tiny little dots in the plastic bag in the middle are the screws that hold the winder in place

I’m not sure if people really want to know the saga of my Canon Dial 35. But it’s my blog. So there.

Anyhoo, today I thought I’d get to the bottom of the the sluggish way that the camera was winding on after each photograph. I was able to take the winder off the bottom of the camera and use a whole bunch of cotton buds to clean muck off the inside. I then added a tiny bit of oil (too much oil is a really bad thing in cameras like this) and then put it all together.

And it works. Go me. The wind on is now very smooth and positive.

Distance Sensing at the Hardware Meetup

Brian has built a pixelbot test rig which is very impressive It was even playing music

We had our hardware meetup at Hull Library Makerspace today. Folks are building robots and they are starting to move around and do stuff (the robots that is, not the folks). Today we added some distance sensors and had them reacting to their environment a bit, which was rather nice.

Richard had his robot making noises which were definitely not music

If you want to take part, and maybe build a robot of your own, you are welcome to come along. We meet on Wednesday afternoon, starting around 5:00pm and then going on until 7:00pm. We tend to meet up every two weeks, the next meetup is on Wednesday 1st of May (apologies - an earlier version of this blog post said 24th April which is wrong). The robot we are building is the Hull Pixelbot. You can find out more about it here.

HULL CS50 Postponed until later in the year

It’s a good thing we didn’t put the date of the event on the logo..

We’ve been forced to postpone our anniversary event. It has not proved possible to get everything in place for the date in May. Some things take longer than you expect, even if you plan for this.

The good news is that the event will be going ahead later in the year, with a date to be announced very soon. If you want to get the earliest notifications, and take part in the conversation, head over to the Discord channel for the event.

Achievement Unlocked - Working Canon Dial 35

The camera takes half frames across the film

My latest new (to me) camera arrived today. It’s my third Canon Dial 35. An it looks like third time really is a charm. The camera works quite well, although the clockwork winder does chug a little bit after a few frames. The light meter works perfectly for me - I just gave the terminals a bit of clean and off it went. The pictures are lovely and sharp.

The pictures are half the size of standard 35mm ones but this does mean I’ll get twice as many shots on each film.

And now I have to find a new obsession.

Person Sensor Powered Paparazzi

I’ve found a use for my broken camera collection. I’m going to create a “paparazzi machine” using a person sensor from Useful Sensors. The person sensor is a tiny camera with a processor which you connect to your microcontroller using i2c. It tells the number and position of faces that it can see in the frame.

The plan is to take one of my slightly less broken cameras (one with working lens movement) and put it on a mount that lets it move towards a face and then trigger when it sees someone in front of the camera. I’m going to use a Raspberry Pi PICO to control it. Should be fun.

Enter Player 3...

you can get a Dial Lapel pin too

I’ve found a third Canon Dial 35 on sale in the UK. This one comes with the promise of a working mechanism and a faulty meter. Much excitement has ensued.

And, I’ve worked out why I like the camera so much. Unlike most cameras, the dial has its viewfinder on the left when viewed from the front. This means that when you put the camera to your eye, you are using your left eye. Which is really good news for me as my right eye really doesn’t do much.

I’m now back to waiting for the postman.

A working Canon Canonet

This is becomming my test shot for new cameras…

I put a film into “Mr Sticky Shutter” today and took him to the University. He is one of my 20 cameras and he shows quite a bit of promise. His shutter is a bit sticky, but only at the slower speeds that I hardly ever use. But the good news is that he looks excellent and everything else, including the light meter, works fine. And, as you can see above, the lens is very sharp

Brickwork is very good for testing the detail that a lens can resolve

Not bad for a sixty year old camera

"Are we there yet" at Ferens Art Gallery

Click the image to visit the gallery

If you are lucky enough to live in Hull you really should visit the exhibition they have on a the moment. It’s made up of a bunch of enormous inflatable sculptures plus a great mural and some splendid individual pieces. The detail and the imagination is fantastic, as are the bright colours. If you’ve got kids you should take them too. Well worth the trip. And you can nip to the gallery café for a sausage sandwich (and the best chips in Hull - which is saying something).

Adventures with a Changing Bag

For the last few days I’ve been working on an article about using a Minox camera. I’ve managed to prove two things conclusively:

  1. You can 3D print a light tight cassette to hold Minox film.

  2. You do need to put something in the light trap to stop light getting onto the film.

This means I’ve been spending a while with my hands in a light-proof bag, rolling up film and putting it into tiny cassettes. I was happily doing this the other day when the doorbell rang. I was alone in the house at the time and half-way through a rather tricky cassette load, so I had to walk to the door with my hands in the black bag, find the keys and then open it to reveal two people who asked me if I wanted them to save my soul. Or something. I replied politely that I’d settle for having the films in the dark bag saved and bade them farewell.

I’m kind of hoping they will go back to base with tales of a strange, wild-eyed man who lives at our address and answers the door with his hands in a large black bag. With a bit of luck they’ll skip our house next time.

20 Camera Man

..all photographed with a phone…

It turns out I’ve not bought 19 broken cameras. I’ve actually received 20. I’ve tested each one and they are all broken. I’ve given them all names.

  • Mr Sticky Shutter

  • No Rewind Boy

  • Just Dead

  • Weird battery guy

  • Stuckee

  • The Battery Flattener

  • The Dangly Back Kid

  • Sir NoClick

  • The one that winds forever

  • The one with the stuck frame counter

  • Flash but no trousers

  • Missing buttons

  • Shiny but bust

  • Only clicks, never whirrs

  • Nothing moves

  • Chinon less wonder

  • Is this the end of Ricoh?

  • T’would be nice if this worked

  • Shiny but that’s it

  • Mr. Dial

The Canon Dial that I really wanted does more than my previous purchase, but there is still something broken about it. I’ve been looking at the repair manuals for these cameras and they are packed full of parts which are easy to break and hard to mend. So for now the quest continues….

Red Rock Cider Police Squad Ads

I was digging around for information about the Canon Dial 35 and I discovered that it was used to take an award winning photograph of Leslie Nielsen as part of an advertising campaign for Red Rock Cider. I haven’t been able to track down the picture, but I have managed to find a collection of the adverts. Well worth a watch. Back when advertising was clever and funny.