Fixing Una

Whenever I start to think of my 3D printer as an appliance it promptly breaks. Actually, this time it was my fault in that I started a new print without removing a completed one. The resulting crash was quite noisy, as the rubber belts did what they are designed to do, and slipped.

The printer itself seems undamaged, which is a relief, but I figured it was time to show Una some care and attention. After all, she is nearly eight years old. And I have got a replacement set of belts and a new print nozzle to fit. So I took everything to pieces…..

One of the principles of 3D printing is that any given job on a 3D printer will take a day. Even if you think it will take a couple of hours. This one was no exception, but by the end of the day I had the belts replaced and print head back in position.

Next I just have to level the bed and adjust the distance of the head so that it prints properly.

Robot Tracking and Python at the Hardware Meetup

Another good hardware meetup. Brian was showing off a properly working robot tracking solution, which means that Hull Pixelbot Robot Rugby is getting closer…

StarbeamRainbowlabs was showing off a Raspberry Pi cluster in the making. Love the colours.

Karen had brought along some devices that she wanted to play with, including the one above. But what does it do?

Finally, Ben and myself did a bit of Micro Python. Each time we have a Hardware Meetup I’m producing a little briefing document about the subject. You can find these documents here.

Silver Cloud Inn Folks are Wonderful Folks

Yesterday I found out that the MVP Summit was cancelled. Wah. And I had pre-paid for my room at the Sliver Cloud Inn on a non-refundable tariff. Double wah.

I emailed the hotel cancelling my booking (no sense in leaving the room empty) and noting that I wasn’t expecting any refunds. Today they emailed back saying that because the cancellation is due to the CoronaVirus they are refunding everybody. Which is awesome. It must be costing them a pretty penny to do this, what with them having lots of bookings cancelled, but they are doing it anyway.

I’ve always loved this little hotel. And now I love it a lot more.

Update: Sorry about spelling Silver Cloud as Silver Could, but then again I think this may be kind of poetic tribute.

MVP Summit 2020 Cancelled

One of the best things about being a Microsoft MVP is the way you can meet up with other Microsoft MVPs, along with Microsoft staff, at the MVP Summit. I missed out last year, so for this year I made sure that I booked my flights and sorted out my hotel nice and early to ensure that I got to go.

And the summit has just been cancelled. Wah.

I agree with the decision. It’s a lovely occasion, but not something that should put your health (of that of anyone else) at risk. I’m sad that I’m not going to meet up with lots of great people but I’m sure that, given the talent of MVPs for invention, there will be a bunch of virtual events and synchronised pub-crawls going on over the week of the event. And with a bit of luck we might even get some T-shirts sent through.

Here’s to Summit 2021.

The evil of HEIF

Picture the scene. You’ve just bought yourself an expensive Windows 10 powered computer. You’ve got it going and find the experience smooth and hassle free. You’ve put the wonderful OneDrive application on your iPhone and you decide to view some of the pictures you took with your iPhone on you shiny new computer.

And they look horrible. Finally, after a bit of searching on the internet you discover that to fix this you have to go into the Settings page for the Photos app and follow a link to install the “HEIF media extensions”.

Then you find out that the extension costs 79 pence. Just so you can view pictures that you took with your phone. At this point you’d probably be getting a bit cross with Microsoft who seem to be rather desperate for your money. I suppose it is a tiny amount of money, but that is really the point. I wonder how much Microsoft makes from this, and whether it is worth the damage to customer goodwill.

Oh well, I’ve just had to do this for my newly imaged PC. I must have installed a free solution last time. The strange thing is that I don’t remember doing it for any of my Surface devices….

Mid-life computer upgrade

Four years ago I got myself a “proper” desktop PC. With help from number one son I specified a beefy processor, speedy motherboard, oodles (for the time) of RAM and a fast SSD.

Over the last few months it’s been slowing down though. The first thing that happened was that I noticed I was running out of memory. Mainly due to the penchant of some browsers (I’m looking a you here Chrome) for finding out how much memory you have and then trying to use all of it. The second thing that happened was that I ran out of space on my main disk so Windows 10, without asking, moved my swap drive onto a hard disk that I was using to store files. These two things together meant that I would get lots of hard disk rattlage when moving between applications and if I decided to run Chrome and Lightroom together the resulting ram turf war brought the machine to its knees.

So today I shut the machine down, popped the lid off and dropped in a couple of slabs of memory and a new internal SSD. The SSD uses a new connection - M2. I’d bought an expansion card that I could use to link my new drive to the bus in my motherboard, only to discover when I actually opened the box that my motherboard already has interfaces for this kind of drive. Oh well, the card can go back to Amazon.

Once the chips were down (as it were) I unplugged all the other disk drives, fired up the system and did a brand-new Windows 10 install. That went a treat. I had a working system before my cup of tea had cooled down. Once I’d got Windows working I then plugged in the other disk drives and put the case back together.

This is kind of cunning, in that my original system disk is still running so I can boot from there at a pinch if I really need something from the old installation. It is also kind of not cunning, in that I’ll have to install all my applications and files onto the new disk drive. I’ve started doing that now, with most stuff being on Onedrive it shouldn’t take too long.

First impressions are that the machine is much more sprightly.

DDD North was awesome

The DDD event today was wonderful. So good that I forgot to take pictures. The only pictures that I did take were of links to more interesting content. The picture above is from a session by Pete Gallagher about .NET Core 3 on Raspberry Pi.

…and this is from the session that followed, all about Blazor (which looks wonderful).

Then I went to sessions about VR, C# for the lazy and Kubernetes on the Raspberry Pi. I don’t have pictures for them because I rather stupidly sat too far back…..

Everyone that went (and the place was packed) had a great time. Thanks to all the organisers, a perfect day. There’s another DDD event later this year in Nottingham, you can find out more here.

Using the DS3231 Real Time Clock from MicroPython

If you ever have a need to connect a DS3231 Real Time Clock device to an ESP32 running MicroPython then I have just the blog post for you.

All you have to do is download the driver from here:

https://github.com/adafruit/Adafruit-uRTC

I then used Thonny to copy the driver file onto my MicroPython device and then I could use it in my program.

Don’t use the one from upip (which is usually a neat way to install libraries onto your MicroPython devices) because it is at version 1.0 which contains some statements that don’t compile. Once you’ve got this running you can now create MicroPython powered devices that can keep track of time.

Note that if you are using one of the DOIT ESP32 boards (these are very cheap and easy to get hold of) you will need to use pins 22 and 21 for the I2C interface:

i2c = I2C(-1, scl=Pin(22), sda=Pin(21))

Recycling for fun and HP's profit

I had to do it at some point. So today I replaced all the toner cartridges in my printer. It’s been moaning for a while abut low toner and today I noticed that the print quality was getting patchy. I can’t complain too much, because the low capacity free cartridges did last quite a long time.

I thought I’d try and recycle them. This turned out to be quite easy. HP has a site where you can go to print out a postage label. Then you just bundle the cartridge boxes up, stick on the label and drop the package off a the Post Office. This is good news for the planet, and even better news for HP who can put fifty pence worth of toner in them and then sell them again for sixty quid. It would be nice is there was a formal scheme where you got discount on replacement cartridges if you’ve sent back the old ones, but I’ve not seen anything like that just yet.

Children's University at c4di

Future technologists

“They’re a lovely bunch” said Tina as we went up to the board room in c4di. She was right. A patient bunch too. Because the connection to my robot broke as soon as I tried to use it. So there I was, with a wonderful audience and nothing to show them. Wah.

This was a good time to show grace under pressure. After deploying some really terrible jokes I managed to get things working. Turns out that my Bluetooth driver had deployed some serial ports that were interfering with the robot. This was not something that happened last night when I was testing the presentation but today it did. So after killing the offending connections we were off.

One day I’ll practice…

Actually, it turned out that this was a good time to make the point that working with computers, like a lot of other things, ends up being all about persistence. I told the audience about my guitar, which is presently hung on the wall (see left). I can’t really play it because I’ve never really bothered to practice. It turned out to be a bit harder than I expected (and a tiny bit painful on the fingers) so I gave up and found other things to do (like mess around with computers).

When you work with computers you have to learn how they see the world. And you have to get good at dealing with tiny details. This can be hard work. Having said that, we did get to the point were we had made a cowardly robot, so I’m counting the event as a success.

begin
forever
  move 10
  d = @distance
  if d < 100:
    red
    turn 180
    move 100
    continue
  if d < 200:
    yellow
    continue
  green
end

This is the “cowardly code” that I was demonstrating. The robot creeps forwards in 10mm steps. If it sees something too close it sets its pixel to red, turns 180 degrees around and runs away.

Thanks to the Children’s University for Inviting me and the audience for being so wonderful.

A mathematical puzzle....

This is not a picture of the right rolls. If I had brought the right rolls home I would have been able to take a picture of them. Then again, that would have meant I would not be blogging about them….

It turns out that “buy two for a reduced price” deals only really pay off if you remember to take both items home with you.

Last week I went to the Co-op to buy some bread rolls. The packs were 1.20 for one pack or 1.50 for two.

So I bought two packs. I’ve no idea why you would only buy one. Anyhoo, when I got home I found that I’d left one of them at the shop. Idiot. There are a number of ways of looking at this:

  • I’m 30 pence worse off because I’ve spent 30 pence more than the price of buying one.

  • I’m 1.50 worse off because that is the cost of replacing the pack I lost.

  • I’m 75 pence worse off because that is the cost of the pack that I lost.

I’m going for the 30 pence option….

I've made a cube

It looks like I’ve made a cube. Although it occurs to me that I could have just joined three squares together, since you’ve no way of seeing the back from this photograph. After a week or so of pretty solid 3D printing and assembly I have learnt two things:

  • it looks really cool

  • it’s very hard to photograph

I was going to make it into a totally portable cube that could be passed around. However, I’m re-thinking this for a number of reasons:

  • it will be rather hard to fit all the electronics and the battery into the cube interior

  • the battery life will not be that great

  • somebody might drop it

So, I’m thinking of just mounting the cube on a plinth and turning it into a rather cool light.

Update: Change of plan (as if you care). Anyhoo, I’m going to make the full fat, chuckable cube and then fashion a base which I can use to turn it into a lamp.

Tiny Sony Speaker

I picked up this tiny Sony speaker today in HMV in Hull for not much cash (even less than Amazon are selling it for). I’ve been looking for something to use with small musical instruments and this looked like it might fit the bill. It has Bluetooth connectivity and even contains a tiny microphone so that you can use it for handsfree phone calls. However, it also as a 3.5mm jack socket that you can use to connect any audio source that you fancy. It’s battery powered and also waterproof (as long as you remember to put in the rubber plug that seals the connectors.

The sound is much nicer than you would expect from such a tiny device. I wasn’t expecting floor shaking bass, but what is there is very clear. And the rest of the frequency range is very well catered for as well.

If you are looking for a slightly beefier sound than you get from your phone it is well worth a look.

No need for PuTTY

I seem to be spending more and more time talking to command line interfaces (CLI) these days. I think this is because I’m messing around with the Raspberry Pi that controls my LED panel cube and I’ve left off the desktop interface because it slows things down.

For years my weapon of choice for getting a command prompt on a remote system has been the PyTTY program. But no more. Later versions of Windows PowerShell for Windows 10 have an ssh command that just works. I found this lovely blog post from Scott Hanselman that shows how to create keys that let you connect without needing to enter a password. I’m especially impressed with the cunning way that he pushes the key file from the PC to the remote device.

Last night at the Hardware Meetup I discovered that you can use the ssh command to connect to a remote system without needing to know the ip address of the target machine. This meant that I was able to use the mobile hotspot in my phone to give a network connection to my Surface Pro and my Raspberry Pi and then use:

ssh pi@raspberrypi

.. to get a command line on the Pi. Very useful.

Connected Humber Hardware Meetup

Lots of activity tonight at the Connected Humber Hardware Meetup including circuit building, Raspberry Pi development and robot tracking (that’s the big camera rig at the back of the picture).

We also had lots of computer chat, which I love. As usual I left with a bunch of ideas for things to try out.

This is the inside of my LED cube with two panels joined together. I’ve printed the corners that link them. Now I just need some more corners and panels.

This is the two faces in action. Next step is to start writing my own programs rather than using the demo code.

This is Brian’s robot tracking software. He is using an overhead camera to track robot location using a specially printed robot hat. It’s getting quite good.

This is one of the robots being tracked. You can see the dot pattern on the top that the software is looking for. The square around the pattern is to stop the other leds on the robot from interfering with the image.

If you want to come to our next meetup in 2 weeks, when we will be taking a look at super-cheap Python powered devices, then you can sign up here.

And remember that we have a Facebook group for the hardware meetups too. You can join in the conversation here.