2023-01-28

A sign of the times

There is an old road sign on Belmont Road, Abergavenny. Old, and rusty, and not even that easy to read. It was worse, it was covered in ivy, as you can see from street view.

Well, challenge accepted (with permission from the council, of course).

First step was cleaning off the rust. There were ideas - sand blasting, even lasers, but in the end the simplest and cheapest was wire brushes. What I did not realise was quite how much work that was! I decided this would be easiest in situ.

Then it comes to the back, so taking the sign down. There was actually far less rust on the back, and there was a makers mark - an old registered design mark.

With the help of mastodon, thank you all, this was tracked down to a registered design 329372 dating from 1878.

Having cleaned it, I decided to treat for remaining rust anyway. This is horrid stuff, but turns rust in to something black and stable (phosphoric acid may be involved).

Then it came to painting. Some rust proof paint on the back was simple...

Then some white. The challenge though is the temperature. This is all being done in the former cellar, it has no heating. It is winter. The paint said don't apply below 10℃, and it was also going to take a long time to dry in the cold. So some heating was needed. Even so it took all night to dry, several nights in fact. I think the electricity for this may be the most expensive part of this project now.

I needed to do a bit of research. The sign had previously been painted with the sides of the raised letters black. This did not seem to make sense, notably, the "A" would have a filled in hole if done like that. So I did a little research of other old cast iron signs. It seems all have the tops of the letters black, which made a lot of sense. However, the border was not so clear. The old sign had a black line and white outer. But it seems signs either have the border all white and only the letters black, or a black line and black border. A few did have the black line on white. I decided a black line and border (this was before I saw the registered design which seems to imply white edge with black raised line).

I decided to use masking tape - I was not confident of not dripping paint anyway. This took a while.

Then the black, and well, it turned out OK. I am not 100% happy with the edges of the letters, but it looks so much better than before to be honest. I had not managed to finish putting the nail back before someone stopped and said "well done", and the facebook post quickly got 800 likes.

The wall will be repointed next, as it too looks rather old and shabby (don't we all?).

P.S. I got a gold star!

2023-01-19

Assembled PCBs from China

I have been using JLCPCB to make PCBs for a while. This is for some of the smaller PCB projects at A&A (here), rather than the big projects we do for FireBrick. It means I am learning a lot.

This month I decided to try and have some "assembled" PCBs done. They have a quite nice ordering page allowing you to view the assembled board. This is important as it seems components have no standard for the reference point, nor rotation, and it varies from PCB manufacturer to PCB manufacturer. The tool I found for KiCad is excellent (here), but I did have to make from the GitHub page, rather than using the library/plug-in manager, as that was out of date. Importantly it allows me to add "offset" and "rotation" adjustments needed for placement of parts. That way I can make working production files in one click, which is amazing.

The big challenge in updating various designs was finding parts - the parts they have available readily, without ordering in, are all very similar to what I am using, but often I have to hunt down the right part number. In one case I found that an inductor was not available in the same package, only to find it was if I did not add a part number. Somehow their search found it even though I failed to. The bigger annoyance was the RGB LED I am using, which is low enough voltage to work from 3.3V. They had a load that are the same footprint even but not the low power and low voltage. I ended up using a different part, different footprint, and even sideways mounting, meaning changes to layout, albeit minor.

I still have to work out how to handle some missing parts - the SCD41, for example, around £30, but they (a) have no stock, and (b) list as $150. So that would not be fitted, and I would have to fit. I am wondering if I can put on the soldered pads with some flux and run through the oven I have. I'll have to test that.

However, for the first board to test the process I ordered the simple Shelly Tasmotizer (here). It does not have a processor, but does have two hand soldered connectors, which was also a good test. They ended up costing £19+VAT each, for a 10 off run, including shipping and assembly and parts. They get a lot cheaper if you order more, of course.

They arrived, and, well, just work. They look really neat. I am impressed.



2023-01-13

Shelly Wall Socket UK

Shelly sell a lot of really cool IoT stuff, and are particularly nice with a consistent re-flashing port allowing their kit to be used with other software (like tasmota) easily. They also support DC working on several devices. I really like their stuff. I have probably close to 100 of them.

Recently I saw on the shelly EU store a number of Shelly Wall Socket models including Shelly Wall Socket UK. So I ordered one to have a play with. It needs a separate faceplate too, and looks like you can get a double faceplate. The cost is €7.20 for the socket and €3.90 for the frame, so around  £11 total.

DO NOT BE FOOLED!

It is just a dumb unswitched power socket. A boring dumb unswitched power socket. An expensive boring dumb unswitched power socket. Note that an unswitched one gang socket is £1.55 from screwfix and I can get in 10 minutes, not 3 weeks.

Their web site does state: There is no relay device included in the package. But that was really not that obvious.

  • I have no idea why they would even sell a dumb power socket at 7 times the price of one I can get locally, especially as they don't sell anything else dumb that I know of. They sell smart IoT stuff.
  • It does not even state BS1363, but is CE marked (not UKCA, but was sold in EU shop, but presumably for a UK market?)
  • The faceplate does not seem to have any clean way to remove it once installed. There is a slot to get a screwdriver in, but that does not lead to the clips, you would have to force it off. Messy.
  • The screw fixings look the right spacing but slotted not just holes so not how you would normally fit to a UK back box, and unlike the £1.55 faceplate, it does not come with any screws!
  • The faceplate outline is smaller than a UK one gang socket, so even if it fits it will look odd if used with a back box as the back box surround shows and looks messy.
  • As you can see from the picture above, the package has the text "Alterco Robotics EOOD declares that the radio equipment type Wall Socket UK..."

They could have been clever, they could have made a socket that takes (or comes with), say, a Shelly Plus 1PM that clips in the back. The L/N could be tags that go in to the Shelly Plus 1PM even. The Shelly Plus 1 PM has a small mechanical button on it, and they could have made a button on the front press that even so it would work as a switch. So many ways they could have made this consistent with Shelly product line, but no.

Overall I feel selling these at all is actually damaging to their reputation, especially as people will assume it is "smart" and no amount of warning on the order page will be obvious when included with a whole list of other "smart" devices.

PS, I stand corrected, they do sell a Shelly Mug that is clearly not smart. They made a mug out of me.



2023-01-11

Bluetooth Low Energy DEFCON

I have been meaning to get my head around Bluetooth for some time, and I think I have finally come up with a project idea which is a bit whacky, but I think should work.

I have discovered that Bluetooth Low Energy (BLE) is different from full bluetooth, something I had not realised, but that BLE should do what I want. The little ESP32 chips with which I am very familiar can do BLE, so this should be simple (LOL).

So here is the idea - DEFCON box. I have one of these at home :-

The way this works is that it shows a DEFCON level depending on who is in the house, so each of the kids has a level, and the lowest level shows. It beeps and the lights click as the go off and on to change levels. All good fun. We know who is about to open the door just before they do...

However, the way it actually works is quite complex. It works on WiFi and MQTT and is told by an MQTT command what level to show. The command comes from a FireBrick, which uses its profiles to decide what level applies. It does that based on the DHCP leases for people's phones on the WiFi. It is really quick to pick up people arriving, but takes the DHCP lease timeout to realise they have gone. But in spite of this complexity it works.

I did think it would make a fun present for someone, but the complexity of WiFi, MQTT, FireBrick and so on makes it really not simple to set up at all.

So this is where BLE comes in...

The idea is that it would scan for BLE devices and pick up phones being present directly. Of course BLE is designed to not allow you to track people, so needs a bit more, and it needs a simple way to tell it which phones are which DEFCON level.

The idea is a button, you press it, and press it repeatedly to pick a level that will flash. The device would be BLE discoverable so show on a phone, and the phone then connects and bonds with the DEFCON device. It then remembers the phone and the level. Because (I hope) the bonding will have an identity resolution key for the phone, it should be possible to passively scan and work out when each phone is present or not.

This makes for a really simple user interface - one button and bond from a phone.

Of course I may face issues with the libraries. A passive scan to find a device you know may not be possible as normally when found you connect to confirm the device is not a fluke random match (which, for this application I am not really too worried about). I'm also assuming a phone will tell my device a key for this - it may not, or may only if it thinks the device is something it expects to want to request a connection. But even so, I can try, and this should cover quite a lot of BLE learning.

So, watch this space :-)

Update1: Demo code works - but I need to advertise only when adding a phone, and as something an iPhone would want to connect to, this was pair using a BLE app not the main settings menu. And I need to work out scanning. Much to do.



Missing unix/linux/posix file open option

What I would like is a file open option for "create replacement file". The idea is that this makes a new inode in the same mount p...