Minolta Vectis-S1

The Minolta Vectis S-1 camera is not particularly pretty. But it is pretty cheap. I picked up the example above for less than ten pounds. It is cheap for two reasons:

  1. It uses a type of film which is no longer made.

  2. It probably won’t work when you get it.

The camera uses Advanced Photo System film which was launched in the 1990’s and abandoned in 2011. But this is not a huge problem, you can still get film cassettes for it, albeit ones which will be at least 13 years old. The system uses a very complicated film loading mechanism containing many whirring and clicking parts. The first example of this camera I got made a few unhappy sounds too, followed by total lockup. But the sample above was made of sterner stuff and seems to be able to load film and take photos OK. I got hold of some film and took some shots.

I’ve not made the holders that go on top of the film yet.

The system was designed so that the film stayed in the cassette at all times. The processing and printing machinery was clever enough to get the film out of the cassette, print the shots you wanted and then wind it back in again. Of course I don’t have any of that machinery, so instead I designed a little holder which I can load up with film for the scanner. I then pulled the film out of the cassette and cut it into lengths for scanning.

The negatives are 16mm high with a “widescreen” aspect ratio

The results are pretty respectable for a twenty year old camera using fifteen year old film. Above is one of the more interesting ones. There is plenty of detail and the image is sharp enough . The shadows are very grainy though, probably because of the age of the film.

I’m not sure if I’d use this camera and film combination for any pictures that I really care about (although the auto-focus and exposure seem to work well). But it is fun to get out and play with.

Phase One digital back success: return to the Mac

I think this has the appropriate level of recursion

I’m still not sure if anyone wants to hear about my travails getting digital back for my old camera. But things have gone so well today that I really want to tell everyone (or at least both of my readers) all about it.

Yesterday I discovered that it was all but impossible to get my recently acquired Phase One digital camera back (frog number two) working on a Windows machine. So today I went into the garage and dug out a venerable MacBook Pro that I’ve had for ages. I used it to write “Begin to Code C#” all those years ago. Just like me to write a book with that title on a machine with no # key on the keyboard. But I digress.

It turns out that things kept in the garage survive the experience. It booted up first time and I even remembered my password. It works a treat. In fact it works so well I got to wondering what new laptops do which made them worth the upgrade. Then I tried to pick it up, and I remembered.

I installed the appropriate version of Capture One, plugged the cable from the back into the firewire port on the side of the machine and lo and behold, it worked. It turns out that the FireWire port on a MacBook Pro (or at least this one) puts out enough current to power the back.

This was the first shot I took out of the window

I took a few pictures. It seems strange to be using a digital camera and still have to set the exposure. You configure the “film speed” of the back and then expose for that. But you have the advantage of seeing your shot straight after taking it. This gives you a proper “film” experience, just with really fast developing.

Capture One is an awesome program. I’m using version 6 from 2013. It runs fine on the MacBook. It is a professional tool, which means the learning curve is a bit steep, but it works a treat. I might try the newer versions (which might work on the Mac) but I’m not going to push my luck too far…

I now have a “portable” camera system, as long as I take along the Phase One back, MacBook and the cable that links them together. The resolution is not that great, but I don’t care. The pictures look really nice to me. And I’ve only had to kiss two frogs to get where I want to be.

Loft Computing

My loft is now officially the place that things to to break. As part of the “digital back kissing frogs project” today I had a need for a computer running Windows XP. “No problem” I thought. “I’ve got one in the loft”. Well, that was true - sort of. I have a computer up there which I last used around 20 years ago. Unfortunately it doesn’t work. I set it up in the loft and got the result you see above.

Once it got as far as the Windows XP loading screen before collapsing with the blue screen of death. So it is now staying in the loft pending a trip to the tip. This is probably a blessing in disguise though, as I’m not completely sure I remember the login password……

Taking Control of CircuitPython: Disabling and Restoring USB Mass Storage

Thanks to ChatGPT for help with this…

Ah, CircuitPython. A delightful platform that turns "playing with microcontrollers" into an accessible and joyful experience. But every so often, you hit a problem that makes you scratch your head and say, "Wait, what?" Today, we’re diving into one such scenario: disabling USB mass storage, and (more importantly) restoring it without bricking yourself into a corner. Let's dig in!

Why Disable USB Mass Storage?

Good question! CircuitPython presents itself to your computer as a USB drive (the iconic CIRCUITPY), which makes transferring code files a breeze. However, there are times when you need the microcontroller itself to have exclusive write access to the filesystem—perhaps to log data or update files without interference from your computer. For this, we can disable USB mass storage in the boot.py file.

But what happens if you decide, "No, wait, I do want my CIRCUITPY drive back?" Worry not! With the power of the REPL (and a pinch of Pythonic magic), you can re-enable mass storage mode. Let’s see how.

Step 1: Disabling USB Mass Storage

First, create a boot.py file with the following content:

import storage
import usb_cdc

# Disable USB mass storage
storage.disable_usb_drive()

# Keep USB REPL enabled to allow deploying files via REPL tools
usb_cdc.enable(console=True, data=True)

# Remount the filesystem so CircuitPython code can write to it
storage.remount("/", readonly=False)

When this code runs on boot, the CIRCUITPY drive will no longer appear on your computer. But don’t panic! Your device is still alive and kicking, and you can access it through the REPL (Read-Eval-Print Loop).

Important: The boot.py file runs before code.py, and it’s where you set up USB behavior. Always keep this distinction in mind.

Step 2: Accessing the REPL

Even with USB mass storage disabled, the REPL remains accessible via the USB serial interface. Here’s how to connect:

  1. Open a Serial Terminal: Use a tool like Mu Editor, Thonny, or even mpremote.

    • On Linux/macOS: Use screen (e.g., screen /dev/ttyACM0 115200).

    • On Windows: Use a terminal program like PuTTY.

  2. Press Enter: Once connected, hit Enter to activate the REPL.

  3. Start Typing Python Code: You’re now in the CircuitPython shell, ready to command your device!

Step 3: Restoring USB Mass Storage

From the REPL, you can modify or delete the offending boot.py file to restore USB mass storage functionality.

Here’s how to rename it (so you can keep it as a backup):

import os

# Rename boot.py to boot_backup.py
os.rename("boot.py", "boot_backup.py")

Alternatively, if you’re feeling bold, you can delete it entirely:

import os

# Delete boot.py
os.remove("boot.py")

Once you’ve made the change, reboot your device:

import microcontroller

# Reboot the board
microcontroller.reset()

And just like that, the CIRCUITPY drive will reappear! Congratulations, you’ve regained control.

Pro Tips

  1. Test Before You Commit: Before adding storage.disable_usb_drive() to your boot.py, ensure you’re comfortable using the REPL and os commands.

  2. Keep Backups Handy: Always back up critical files before experimenting. If you’re locked out, you’ll need to reflash CircuitPython to recover.

  3. Use Safe Mode: Double-press the reset button to enter safe mode, which bypasses boot.py and lets you recover from mistakes.

Wrapping Up

Disabling USB mass storage can seem scary at first, but with a bit of planning (and the magic of the REPL), it’s a totally reversible process. Now you can take full control of your CircuitPython projects without fear of getting stuck.

As always, happy hacking!

Bye Bye Froggie

It looks lovely, but it may never work again

There’s a little voice in my head telling me that nobody cares about my problems acquiring a digital back for my old film camera. I am choosing to ignore that voice.

The story so far:

Robert wants to be able to take digital pictures with his sixty year old film camera. So he has purchased a younger (by comparison - only twenty years old) digital back for the camera. Unfortunately, as can be the case with vintage electronics, the back has “forgotten” its software and needs to be returned to the mothership for reprogramming. In the last post on this matter Rob likened the process of getting a working device to “kissing frogs” and hoping that one of them will turn out to be a prince (or princess depending on taste). Now read on..

I’ve been told that it will cost 500 pounds (plus VAT and postage) to reprogram my broken digital back. I’m amazed that this is even possible, but it is more than I can afford to spend on this project and it might not fix the problem if something else is broken. So this back is now officially staying a frog. I’ve got another back on order which the seller is being very coy about actually sending to me. So I’m assuming that this one will definitely work….

In the meantime I’ve sent back the “frog” and been refunded. I’d like to give a special shout out to the folks at The Real Camera Company in Manchester who were great about the returns process, the Phase One technical support people and Andy at PearTree Photo who were all super helpful. The quest continues…

Takamachi is dice throwing fun

The game comes in a nice tin

Takamachi is a neat little 12 dice game. Be the fastest to spot the greatest number of symbols or colours and win by getting rid of all your dice. The words on the tin say that you can use it “Boost your adaptability”. I’m not convinced by this. However, it is a great way to spend some time in an empty flat waiting for a moving van to arrive.

Sometimes it is actually the hardware which is broken

I like a busy workbench

Done some more work on the new Cheesebox. It’s taking shape nicely. I’ve ended up making an enormous device with speakers, stereo amplifier and lots of leds. I’ve even got the OLED display working. I’d tested it with a spare display and come to the conclusion that my software was at fault. As if. It turns out that my spare display was broken too. I dug out another from a different batch and that works fine. Turns out that sometimes it isn’t actually my fault after all.

Cottingham Church looking fine

I’m trying a new, cheaper film developing service, filmprocessing.co.uk. I like them because they are happy to just develop a film and send back the negatives without scanning them. This makes the process half the previous price. I’m not unhappy with the results.

I’m getting better at holding the camera straight….

I’m starting to really prefer the look of film pictures.

Surface Mount Soldering

Heating up Nicely

I’m making some more Cheesebox synthesizers. I’ve got a plan to make a monstrous device with pixel rings, grids and speakers. For the insides I’m assembling some circuit boards using surface mount technology. I’ve got a couple working so far, with a third just cooling down. These are the things I have learned today:

  • Surface mounting is very doable as long as you have the right stuff:

    • A little hotplate

    • Solder paste that melts at a low temperature in a syrninge

    • Some right angle tweezers

    • A trigger thing for your solder syringe. This makes it much easier to get exactly the right amount of solder paste on each pad.

    • No feeling in the tips of your fingers (you already have this if you have previously built and maintained a 3D printer)

  • When you are squirting solder paste onto a pad, lift the needle up vertically before moving it to the left or right towards the next pad. This will give you a good looking vertical “blob”. It’s a bit like icing a cake. Not that I’ve iced many cakes to be honest.

  • I set the heated bed temperature to 170 degrees, with my solder specified as melting at 128. This seemed to work OK for my oven. When the hotplate hit 170 degrees I turned it off. I then used a piece of card to slide the board off the hotplate onto card. A bit like how you move pizzas around.

  • Watching the solder melt and surface tension pull things into position is great. I put one of the leds in the wrong way round and it was fun to watch it try to rotate into the right position. It was an easy fix. I just picked the led up and dropped it back down in the right orientation.

  • The best way to find out if a circuit board is hot is not to touch it with your fingers.

YOu adjust the screw as the plunger goes into the syrninge

I bought the yellow trigger assembly on AliExpress. It is much easier to use than the plunger.

Tomorrow I’m going to put a couple of boards into cases and start working on the code.

Return of the PICO MIDI CheeseBox

this passes for a tidy desktop in my house

I invented the PICO Midi Cheesebox a while back. It was great fun to make. It performs as a mini-sequencer keyboard, powered by a PICO and using a 12 pixel ring and 12 buttons to control it. A Python program inside gives you a three track sequencer with keyboard input.

The cheesebox is designed to be used as a MIDI input device, it doesn’t have any sound generation built-in. It works really well with my Chocolate Synthbox which contains a Raspberry Pi running a Pure Data synthesizer program.

Then, just before Christmas, Brian put me onto a new device from M5Stack. The Unit Synth contains an SAM2695 audio synthesizer and responds to General Midi commands to make sounds via a tiny built in speaker. I got one to play with and one as a present for number one son. It works really well, although the speaker is a bit weedy.

I did some more digging and discovered the Unit MIDI which contains the same synthesizer chip, replaces the speaker with a 3.5mm stereo jack socket and adds a couple of proper MIDI connections. So I got one of those as well. the aim now is to make a super-cheesebox which contains a Unit MIDI and some proper speakers. I’ve got the cheesebox controlling the synth, next thing to do is package it and then tidy up the software a bit.

The OLED screen doesn’t work at the moment.

I’m going to be using one of the CheeseBox PCBs I had made a while back, fitted into a newly designed case. This means more surface mounting shenanigans. Such fun.

Minox Photos of Hull University

Last week I sent MSHobbies film processing a cannister containing a strip of Kodak Ultramax colour film I’d run through my tiny Minox camera. The film preparation process had been a bit of a faff. I had to slice some film from a 35mm cassette into 9mm wide strips and then load them into Minox cassettes that fit inside the camera.

The film I used is probably a bit too fast for the lighting conditions (which is why things look a bit over exposed and washed out here and there) but I’m very happy with the results.

Camera with glasses for scale

I’m looking forward to taking the camera around with me and grabbing some more shots in the future. If you fancy the genuine film look from a proper design classic you could do worse than get hold of one of these cameras and have a play. If you don’t fancy loading and unloading your own cassettes you get pre-loaded ones which can be sent off for processing and reloaded. Great fun.

Agile Octopus Display Updates

When the price is negative it means you are being paid to use electricity

New Year, new you. Newly broken Agile Octopus Display. We’ve been on the Octopus Agile Tariff for a while now. The price of our electricity changes every half hour. If we plan our power use a bit we can save money. Every now and then, when the weather is warm and windy, we can even get paid for using electricity, as you can see above. We’re not saving a huge amount of money (although sometimes we get to drive the car for free) but we are having fun.

To make managing our power use a bit easier I made a little display that lives in the kitchen. It gives you the current price and future price trend for the day. It’s been working fine for ages but in the new year it broke. I assumed it was something in my code (it usually is) but this time the fault is down to Octopus re-arranging their tariffs and changing the web address of the service that dishes out the price values.

I’ve made a new version of the tariff display code which uses the updated links. I’ve also taken the opportunity to tidy a few things up. You can find out more about it here.

Using an Old Printer on Windows 11

A while ago I got a cheap colour printer. I’ve been using it on Windows 10 and it works a treat, but on Windows 11 things are a little bit more complicated. You can install the printer drivers that you can find here and you can print OK. But if you reboot your computer the drivers might vanish (it’s happened to me) and you have to install them again.

Worse, sometimes the install fails with an error about things already being in use. I asked ChatGPT for help and it came up with this which worked for me.

Thank Goodness You're Here is wonderful

Thank Goodness You’re Here (TGYH) is a breath of fresh air in video game land. It is deeply silly, very funny, easy to play and doesn’t take too long. Some video games create dystopian worlds full of strange creatures with outlandish behaviours. TGYH does this, but in a depressed town in the north of England. The voice acting, artwork and animation are all wonderful. And that’s just the nice things beginning with A. Mostly.

I simply cannot say enough nice things about this game. And the fact that it is now on sale makes it even more irresistible.

Being bold is harder that it used to be

One of the more horrible things about modern software is the way that it changes when you are not looking. Yesterday my installation of Visual Studio Code completely vanished (probably due to a broken upgrade) and today I discovered that CTRL+B in Word doesn’t make things bold any more. It is now CTRL+N. Apparently this is a thing.

The way I see it - if the change is deliberate the system should display a helpful message (and perhaps an explanation) when you press CTRL+B. And if the change is a mistake then I worry for Microsoft Office.