Sunday, 11 October 2026

Setting up Home Assistant on the RPi5

Home Assitant installation:

Here's the RPi5 with the Compact M.2 hat alongside it. This "hat" is designed to fit inside that official RPi5 case without modification.


This is it all installed and ready to go. That M.2 SSD is a "2230" size ie 30mm length (many are 80mm), so that it fits in the case. The capacity is "only" 256GB, which is more than adequate for Home Assistant.


I used the Raspberry Pi Imager tool to load the correct image for Home Assistant 18.3 and after a bit of inevitable buggerage it installed and is up and running. But now what? I need to install some devices etc for it to monitor and possibly even control....

EMS gateway installation:

This gateway ECU connects to the Worcester Bosch boiler control board and the Home Assistant (RPi), translating the messages from their proprietary format to something HA can understand and vice versa.

As mentioned previously, I ordered this BBQKees ECU a week ago and it arrived (from Holland) soon enough. 

As for installation, it has Wifi, so I don't need to run a network cable to it from the RPi, which is situated under the stairs next to the main modem/router/mesh stuff. But it needs its own PSU (supplied) and has to wire into the WB controller.


The PSU is routed in through the side of the cabinet.


There's limited space (depth) behind the pull-down panel on the front of the boiler, so I've removed this dummy panel to gain a few more mm of depth. This must have been provided for an optional programming unit or somesuch.


The 2-wire serial bus connects to the 2 wires at the bottom of that green 7-way connector block. There's already some twin-and-earth cable that an unknown cowboy (not me for a change) has used to wire the original wall-mounted thermostat to the boiler.


Done - and the orange connector is where it plugs into the gateway. I've actually mounted the ECU with its back facing outwards in the hope it will be slightly better ventilated, having noticed the cooling slots.


There - you can't see the vandalism unless you open that cover panel.


Zigbee gateway:

In order to control the radiator TRVs, I need a Zigbee interface and aerial. This looks like some form of witchcraft - or possibly a form of bedroom aid. It glows blue when you plug it in (fnaaaar) but once it's installed (it was seamless), it has no light.


This is the original WB "Easycontrol" CT200 thermostat. It has wifi and talks to the external WB website to acquire stuff like the time and local weather. Now that I've also wired the gateway into the boiler, it's about to find that it has been elbowed aside by the Home Assistant.


I've chosen the Sonoff TRVs. These are the Gen 2 version. They communicate with the Home Assistant using that Zigbee aerial. The power is provided by 3 AAA batteries (provided) that are said to last about a year in typical operation.

Here's the TRV I fitted to the dining room radiator. It comes with a variety of adaptors to suit most of the common TRV bodies. This one was a Danfoss "TV" model before I replaced the mechanical (wax) head.


Setup was quite simple if you had read the included instructions (ahem). You connect up the batteries (by pulling out a slip of plastic), then turn the set temperature down until it reads OFF. It then searches for Zigbee contacts. Similarly, in HA, you open the Zigbee card in the settings area and it finds and sets up any new devices it finds.

So now that I have (initially) got the boiler, thermostat, Zigbee aerial and 2 TRVs connected up, I have the basis of a home automation system.

Next I may need to make them do something vaguely useful:
  • Set up the TRVS and room thermostat to regulate their local temperatures.
  • Bugger about with the boiler settings eg mess with set temperatures, max power levels etc.
  • Create some dashboards to show metrics such as water and gas used, boiler duty cycles etc.
  • Allow thermostats to be set from the dashboard (for the TRVs and the CT200)
  • Install the TV remote control so I can control the LG smart TV (only because I can).
  • Install Music Assistant so I can use a music streamer box to stream music from my NAS, Google Music and internet radio to the workshop audio system.
  • Set up some schedules for the thermostats eg turn the heating in the office and kitchen off (or down) during the night and the bedroom heating on (or up) at night.
  • ...and so on.

Thursday, 8 October 2026

TIG torch body - alternative sources

There's little point planning to create a pressure sensitive TIG button if there's no means of using it beyond the torch that came with the Arc Captain TIG200PACDC, particularly as they no longer seem to supply it. This leads me to suspect they may have had technical or supply problems with it, although we may never know for certain.

However, browsing the AliExpress site, it appears that the handle and its subcomponents are available through various sources. I'm sure it must have its heritage elsewhere and have been "benchmarked" (cloned) by various Chinese manufacturers.


So, obvs it would have been rude not to get hold on one of these things. And equally obvs it took a couple of weeks to arrive but finally, here it is.


That torch trigger looks familiar:


And indeed it's pretty much identical in form fit and function. One slight difference is that the PCB is single-sided, with through hole compts. My original example has a double sided board and a surface mounted switch.


So on the face of it, it would be possible to recreate this torch assembly using a torch body like this, with the module replaced with the pressure controlled circuit. I suppose that is encouraging.

Meanwhile, I'm trying to get support from Arc Captain to figure out what's preventing my machine from working with a remote controlled torch. That is turning out to be an adventure in its own right....

Wednesday, 7 October 2026

Home assistant for the Worcester Bosch boiler? Raspberry Pi 5 and SSD.

We've had a Worcester Bosch Greenstar Highflow 440CDi combi boiler for a decade or so. This is a floor standing boiler that's a bit larger than most of their range. The reason for this isn't because it's an ancient old beast but instead because it is a so-called "High Capacity" model. The actual primary heat exchanger is nothing out of the ordinary 

The installation and service manual gives a pretty good idea of the construction and internal appearance.


In particular, what differentiates this model from more normal wall mounted models is a "heat store" and a slightly larger water-water heat exchanger. The heat store is simply a small water reservoir that keeps a volume of (hot) system water up at temperature to reduce the delay in hot water appearing. You can turn this off and on from the dedicated Bosch "EasyControl" remote thermostat.

The promise behind the larger water-water heat exchanger is that you can run multiple hot water consumers simultaneously with less chance of losing temperature control eg run 2 showers / baths at the same time. In practice, this means the plate-type heat exchanger simply has 20 plates instead of the more normal 14 plates. Big deal.

The heat store comprises a 45 litre tank that is held at system temperature (perhaps 70C, depending on where the controller is set). When hot tap water is required, the incoming cold water passes through the plate heat exchanger, which means there's no delay waiting for the gas-fired heat exchanger to fire up.

Bosch sell a range of associated products such as the Wifi-connected thermostatic radiator valves (TRVs) but of course, being Bosch, they have it all tied down so that you have to use their products and can't integrate it easily with systems such as Opentherm, Home Assistant etc. 

I want to be able to access and edit the myriad settings within the boiler. Currently, it's only possible to make a few changes to some of the main parameters. For instance, I can set the flow and hot water temperatures from the front panel using the yellow knobs - but there's no numerical indication of the resulting values. Similarly, I can change the room setting temperature and schedule at the wall-mounted EasyControl thermostat but again, there are no other parameters I can see or change.

Currently, the boiler is "modulated" by simply turning it on and off using a simple hysteretic scheme within the thermostat, with the boiler flat out at full power when it's enabled. A more intelligent algorithm might modulate the flow temperature closer to what is actually needed to maintain room temperature and little more. In this scheme, you might expect the boiler to remain on longer but at lower temperature, resulting in reduced losses from the pipework and the boiler itself. There's also the option to account for changing outside temperatures using external sensors or internet data. 

From what I can tell, many more possibilities have been explored and implemented within the Home Assistant / Worcester Bosch user community. However, this requires getting free access to the internals and also a means of monitoring and editing the parameters.

3rd party bridge - BBQKees:

Luckily, there are 3rd party products that provide a means of accessing the internal functions of the Bosch controller. This acts as a bridge between the external (open source) devices and the proprietary Bosch controller. The Bosch system uses a 2 wire "EMSbus" serial link which communicates with external devices.

One common means to bridging to the Bosch controller is the BBQKees "Gateway E32 V2 KIT (Ethernet + WiFi Edition V2 KIT)" This is made a Dutch company and seems to have reverse engineered the Bosch protocol.


The red connector plugs into the Bosch control board and it communicates by wifi or ethernet to your main system controller, which may be a platform such as the Raspberry Pi running Home Assistant.

I looked into this briefly back in 2018, more out of curiosity than anything else. It struck me as more of a geek thing than a serious application - or to put it another way, I couldn't see any sensible use for it in my domain at the time.

The Raspberry Pi Foundation offer an imager that loads a range of OSs suited to your specific RPi model. I've got a selection of Pis going back to the original but for this application I've got myself a Version 5 with 4GB RAM and an 8GB microSD card.

There's a new version of Home Assistant coming out very soon (tomorrow?) but for now, I'll install the current v18.3 (2026-09-27). If it actually goes easily I can always come back later and update it to the new version.

Naturally nothing is easy, so there was some buggerage required before it installed. I don't have any means of plugging in the ethernet connection, so I need to use the wifi instead. To do this, I need to let it know the wifi credentials:

  1. Name a USB stick CONFIG
  2. Create a folder called network
  3. Create a file called my-network (no .txt suffix) containing the following, changing the network name and password to suit:
[connection]

id=my-network
uuid=5f3c2a1e-8b4d-4e6f-9a2c-7d1e0b3f4a5c
type=802-11-wireless

[802-11-wireless]
mode=infrastructure
ssid=YourNetworkName

[802-11-wireless-security]
auth-alg=open
key-mgmt=wpa-psk
psk=YourPassword

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

Then insert the USB stick into one of the RPi ports and reboot.


Looks as if that went OK. Now come back later and see if it completed updating to the latest version. This should give me the basic Home Assistant platform, ready to interface with the BBQKees bridge when it arrives next week. I can then start to play with the boiler and look at possible extensions to the system, such as wifi-linked radiator TRVs from suppliers such as Tado. Obvs, the Bosch TRVs only work within their closed, proprietary system. Fuck 'em.

That went well, although the 8GB of microSD card ended up close to full with just the std Home Assistant installation, so when I got to the point of trying to install actual apps or do a dummy run backup, I found there wasn't enough space left at around 1.2GB.

So I've ordered an "M.2 HAT+ Compact" 


and a WD SN740 256GB SSD M.2 2230 30mm NVMe PCIe 4.0 Gen 4 x 4SSD to go with it. 

The idea is that the small (30mm long) M.2 SSD will fit within the red and white Pi case.


256GB should be more than adequate but it's the smallest 2230 size SSD I could find. It should also be a fair bit faster than the microSD card it will replace.

Anyway, let's see how that turns out when it arrives tomorrow. Those two items come in at £102, on top of the £160 I've already coughed up for the Pi 5 kit and that kit didn't even include a microSD card....

Just think - the RPi was conceived as a low cost starter kit for school kids. Now it costs more than an entry level PC and several times as much as other SBCs...

Monday, 5 October 2026

Bantam CNC - Shield for Z axis limit switches

The Bantam uses proximity sensors for homing and limit switches. These are the yellow boxes in the photos. They are eddy current sensors, as opposed to magnetic sensors (a common misconception) ie they work with nonmagnetic materials such as stainless steel, aluminium and brass, as well as steel.

Another job I "never quite got round to" is shielding them from swarf. As they are positioned directly below the toolpost, it shouldn't be a surprise to find that they are prone to false triggering due to said swarf, usually at the most inconvenient moments.


Here's the underside of the saddle, showing the bracket that carries the sensors. FYI - the adjustable (sliding) black plastic bracket contains the home switch target, which is simply a stainless steel grub screw on the underside face.


You can see the problem illustrated here, where the far limit switch is located - although this isn't a proximity switch, there's evidently a lot of swarf flying about.

I'm imagining a shield, wrapped around the front corner of the saddle that hangs down from the underside of the saddle, sheltering the sensors from falling swarf. I'd like to be able to see the sensors from the front of the machine so I can see their LEDs, so this perhaps dictates how far the thing will extend down.

So first, I need to model the functional features of the saddle. 

Make a test piece to check it fits the features - The Stupid Fat Bloke can usually be counted to fuck something up when tasked with something simple like measuring up features on a part.


Oof, looks as if that wasn't a cockup - that happens from time to time. On with the model creation....

Here's a skirt type shield that clears the ballscrew, encoder body and limit switch, while covering the proximity sensors, as best as I can tell. It's held on by the four 1/4" BSW threads on the side and the front, as well as locating in the hole where the cross slide leadscrew used to reside - this will also remove a path for dust to get into the area where the X axis (magnetic) encoder lives:


Export it into Orca slicer. This orientation should hopefully avoid layering and messy transitions where the rafts and supports join on the exterior visible surfaces, or where surfaces are at small angles to horizontal - the skirt is at 15 degrees to the vertical in this orientation, so should be fine:

Let's wait a mere 7.25 hours to find out how that looks / fits - let's call that tomorrow....


It was ready and waiting this morning. Looks like a good result.

And it fits very nicely.


We will call that a result.

Sunday, 4 October 2026

A few random 3D printed parts - ducted fan shroud, chuck guard and coolant screen base

While there's a bit of a hiatus on the TIG button front and an endless wait on the arrival of the laser welder, I knocked up a few items I've not quite got round to making so far.

Fan shroud:

The Shizuoka control cabinet has a fan on the front panel/door for cooling purposes. Obvs it needs to draw cool air in at one location and blow hot air out at another. In an almost logical fashion, I've got it set up so that the cool air inlet is at the bottom next to the fan and the hot air exhaust is at the top, just above the VFD. I had a filter lodged in the exhaust grille at the top but it wouldn't really be suited to keeping swarf and coolant out, if any actually came its way. I've been meaning to do something about this "for some time".


Without the filter, you can see right into the cabinet. Not ideal.

So I quickly knocked up a ducted shroud thing in Fusion to fit over the existing grille:


Printed it off in grey PLA+:


Fits nicely. Won't bother with any fixings or adhesive, as it's a nice fit and isn't likely to be dislodged.

Chuck guard:

The chuck on the 4th axis is getting splattered and slightly rusty. Also I'm probably getting swarf inside it due to the opening behind the chuck throat. Time to protect both:



Looks good to me.

Chip screen base:

Some time ago I bought one of these coolant / chip screens for use on The Shiz, to protect me from splashes of coolant and nasty hot chips - and potentially from flying fragments from broken cutters. It's a length of 3/4" Jeton coolant hose with a magnetic base and a piece of clear acrylic sheet about 200 x 300mm. Along with the rest of the coolant hose that was actually being used for coolant control, this suffered UV damage and finally the top (orange) segment became brittle and snapped off where the screen was attached.


So some months ago I made up a replacement that I printed on the original 3D printer. 

Stupidly I made the wall thickness rather thin where it had most stress, so not surprisingly it failed there, leaving me prone to getting splashed by coolant and burned by blue chips.



Time to make another one, this time a little more robust where it matters:


Here it is, fresh off the printer, cleaned up and ready for action. I used 100% infill for max strength:


Fits nicely and looks more robust.


Looks good to me:


Ah well, that was pretty quick and simple. The larger parts took 3.5 hours each to print and the screen segment took 70 minutes. All drawn up and made within the day. Good stuff.

Monday, 28 September 2026

Is the amperage remote control circuit actually working?

First, tack some wires on the back of the board. This is the floating DC rail that powers the daughterboard. It's a 68k resistor, simply because it has 2 ends and the resistance between them is pretty high ie I can ignore the effect on the measurement. It's easy to clip the probes onto and if one end comes off, the other may prevent them jumping where they shouldn't be.



The supply on the floating (torch side) rail is around 8Vdc. That sounds reasonable. With a forward voltage on the arc enable opto of around 1.5V and a 2k resistor, we'd see about 3mA on the LED, which sounds reasonable. This is also the current that would need to be sunk by a remote enable circuit.


The output from the daughterboard varies with the torch-mounted control pot - but not by much. The voltage varies from 0.26Vdc at min setting to 1.59Vdc at max setting. 



Twiddling the pot on the front panel has no influence, nor does enabling the arc using the torch-mounted microswitch. 

So the bad news is that it seems to be functioning in general terms ie not the culprit that is causing the machine not to respond to the remote amperage control input. Bollocks. 

Whether it's supposed to be at such a low voltage or not isn't clear. It's plausible that a 0-1.6Vdc signal into the microcontroller's ADC may be as designed. But even if the voltage was down a bit on the ideal level, it's unlikely that the micro would be expecting much more than 3-5V max, yet the pot has zero effect on the arc current, even then.

Tits. Sounds as if the issue isn't a hardware / component malfunction. I can't be 100% sure but it's looking that way from where I'm sitting.

Time to reflect. And most likely to reassemble the machine. I've put in a support request but naturally China is on full holiday mode, as it's currently between Mid Autumn Festival and Golden Week, so I won't see any action until most likely the end of next week. Hmm. Do I have a TIG welder that can't be remotely controlled?

Setting up Home Assistant on the RPi5

Home Assitant installation: Here's the RPi5 with the Compact M.2 hat alongside it. This "hat" is designed to fit inside that o...