Retrofitting 1983 Shizuoka AN-SB CNC milling machine, Bridgeport mill, Colchester Bantam lathe and 1982 Tree UP-1000 CNC lathe with modern controls - and other workshop stuff
Yes, that's the correct terminology to describe what's being done here.
And the plan is to try it out for real using a real set of requirements for an actual circuit and real world PCB outline. First, define the requirements:
Create an opamp-based circuit to control a TIG welder from the hand held torch that does the following:
runs off 5V nominal single supply 4.5...5.5V.
double sided board. 1.6mm FR4
uses a pressure sensitive resistor (PSR) https://www.amazon.co.uk/sourcing-map-Pressure-Accuracy-Instruments/dp/B0FWCNF4G5?th=1 mounted on the torch handle to convert finger pressure to an output voltage and hence remote control of the amperage setting of a TIG welder by the operator.
the output voltage increases with pressure.
the output is a fairly linear function of the applied finger pressure.
finger pressure should be low enough to avoid fatigue after prolonged use but not overly sensitive
when the pressure exceeds a lower limit, a digital output is generated that can be used to enable a TIG welder. This should be a relay, to provide low voltage isolation from the analogue signal, to help avoid emc issues between them
the output sensitivity (volts per N of force) can be adjusted with a potentiometer.
the threshold for the relay should also be adjustable with a pot as a % of the full scale that results from the sensitivity setting
I will provide a DXF of the PCB outline and define the required position and dimensions of the edge connector fingers and any critical components , such as the PSR itself
create a design in Kicad that is suitable for production at JLCPCB and LCSC, checking real-time availability of stock and ensuring low pricing while making compt selections
run their DFM design rules to check for layout issues
place all components on top side of the PCB
place component silk screen ident on top side only
provide test points on top side for each net
select industrial or better temp range compts (0...85C)
no tantalum caps or poor dielectrics such as Z5U - only X7R, COG, NPO etc
take care to include HF noise filtering, particularly on external connections, as this is working close to an electric arc
use copper fill to provide a solid ground plane to assist with HF noise withstand
....
I have already created the board outline in Fusion. I need to define the shape and position of the edge connector fingers and also the position of the PSR itself.
That edge connector has a 2mm pitch for the pads and they extend about 7mm into the board, although 5mm would be adequate. My example has pads on both sides but they are only needed on the top side. The other torch body I got from AliExpress has a single sided board. Although the plastic mouldings are slightly different ie incompatible without modification, the PCBAs appear to be interchangeable, so my board should hopefully fit other torches - including the Startech design that I suspect they are "based on".
So next, time to update the Fusion model for the PCB to show the pads' position, then task up Adom Flow AI(!!) with creating a complete PCBA.
Yes, sucker for punishment. After that complete fiasco trying to run Adom's Hydrogen AI tool with Fusion Electronics, I'll have another go at reproducing John Lauer's demo board - but this time in Kicad.
I've already got the Hydrogen GUI / Bridge installed on my machine, along with the integrated Claude Code / Visual Studio Code function. So it's relatively simple to get it to do an automated, hands free installation of Kicad on my machine and set it up to design a circuit and PCBA.
Again, in my case I want it to use the JLCPCB / LCSC database of compts, so that it only selects compts that are available through my preferred CEM that would be tasked with manufacturing and assembling the PCBA (JLCPCB in China). For now though, I'll stop before the ordering stage (it's only a proof of function test) but I want to see all the different stages being completed successfully.
My starting prompts were:
set up the KiCad and JLCPCB route on my PC
replicate the example used by John Lauer - a 12V / 5v buck converter
That's all I gave it, although clearly that original demo came with its own set of parameters and conditions. I'm not bothered to know what those were at this stage - I want to see if it actually completes the process and if so, does it resemble his example and does it look fit for purpose. Then I may get it to develop a schematic and PCB layout for my TIG button circuit, possibly even taking it through production of a small number of boards at LCSC for actual use here.
Terminology:
For reference:
The design tool is Adom AI Flow. Adom and Hydrogen are the levels around it:
Adom is the company and the overall platform. Everything carries its name: the wiki (wiki.adom.inc), Adom Bridge, Adom Fields.
Hydrogen, or "Adom Hydrogen", is the desktop app on your PC: the window with the chat on the left and dashboards such as the AI Flow timeline on the right. It's the workspace, not the design tool.
Adom AI Flow (the adom-aiflow command) is what ran the design. It takes the board from the prompt through parts, schematic, simulation, placement, routing, pours, current and heat checks, silkscreen and fab files, and it produced the timeline and the run video.
KiCad (or Fusion, in John's second build) is the actual circuit-board editor AI Flow drives, through Adom Bridge. Adom Fields did the current and heat solve.
So for this board you'd say "it was designed with Adom AI Flow in KiCad, run from Hydrogen". There.
And off it went....
No intervention required from me, no crashes, all my monitors etc remained fully functional throughout, other apps continued to work OK etc while it worked in the background.
You can see the steps in the design process here, part way through. Again, I've not looked at what these steps entail in any detail but they appear to be reasonably convincing:
Having the Kicad window open allowed me to see the process evolving - schematic, layout, simulation, verification etc.
I kicked it off at 2:35pm here and it was all done and dusted by 4:54pm ie 2 hours and 20 mins.
It created an AI-generated video of the process that I've uploaded to my channel here:
What's the final result?
Here's the layout in 2D with all layers visible:
Top side copper:
Bottom side copper:
The silk screen ident is a bit of a mess, with text on top of pads, so it's not clear at this stage how it passed the JLCPCB DFM rule check. I was actually going to take this further, I'd kick somebody's ass and get them to fix that. But more on this shortly....
And then to the really horny bit - the 3D view.
And flipped over to see the bottom side:
...at which point you realise that half the silk screen characters are on the wrong side of the board, hence there's no text actually placed on the copper pads. Not a lot of use for fault finding or manual placement but at least you can now understand why it passed the DFM check.
How does it compare with John's original design?
Here are John's (top) and mine (bottom):
Beyond the appearances, we have some other differences - and a lot of similarities.
Here's Claude's comparison of the two designs. Note - the table headings are shifted to the left for some reason only known to Blogger:
John, Fusion
Yours, KiCad + JLCPCB
Fab target
His "3rd party fab" rules (0.5 mm-class text)
JLCPCB 2-layer rules (0.8 mm minimum text)
Parts
Original parts, including the Abracon AMPLH5030S inductor
JLCPCB/LCSC parts, including the YOUCHI HCMA-0530 inductor; 9 swaps checked against both datasheets
Placement
His KiCad placement
The same placement, with J7, TP7, TP10 and R7 nudged to pass the newer checks
Heatsink vias at U1
6 (after one rework)
3, plus 2 more at its GND pin; this routing's switch-node trace takes the rest of that pocket
Peak current density
53 A/mm²
40 A/mm²
Hottest rise, still air
U1 +49 °C; page summary says 57 °C against a 55 °C budget
U1 +10 °C and L1 +46 °C by AI Flow's estimate (Fields solve peak +46 °C), all under 55 °C
Silkscreen
Framed tags on every contact and corner pin, values beside every reference, identity on the bottom
No frames; nets and references at 0.8 mm, most values left off, small parts' references on the bottom
Time, prompt to finish
2 h 42 min
About 1 h 51 min of AI time
His heat figure and mine aren't strictly comparable. His Fusion solve also counted heat through the vias and uses Fusion's copper, and the two boards use different inductors.
The most visible difference is the silkscreen. His Fusion board has framed contact tags and a value on every part; yours is plainer because JLCPCB's 0.8 mm minimum doesn't leave room for that on a 28 × 20 mm board.
Conclusion:
It's a bit premature to give out gold stars but at first sight the result looks almost plausible. The tracking looks OK from a distance.
As a proof of function, this is a lot more convincing that yesterday's carry on. I've not used Kicad before and perhaps I don't need to learn how to use it. Although I've done a lot of layouts with Mentor, Altium and EasyEDA (JLCPCB's free tool) in the past, each CAD system takes some learning and Kicad is no toy.
So I may need to try it out for real on my TIG button. Previously, I'd used Claude to design the circuit and do Spice simulations and I was expecting to use the autorouting feature within EasyEDA rather than manually route the board myself. Autorouters tend to be best used for digital buses etc rather than analogue and power electronics circuits but this is a simple, small circuit so what could possibly go wrong?
Let's try out Adom's AI electronics design tool. On the face of it, you can get it to design a complete PCBA from a fairly broad specification and submit it to your favourite CEM's portal, then receive it through the post a week or so later.
The demo project is a buck converter, built using Fusion Electronics (was Eagle before it was acquired by Autodesk). Reviews are "mixed", so although I've never used it myself, I'm a bit uncertain what I'll find.
This product actually runs natively in Linux, so the installation creates a Linux-within-Windows environment called WSL2 ("Windows Subsystem for Linux").
You then connect up your preferred AI agent - in my case this is Claude Code, for which I have a subscription.
And here it is - recognisably Claude Code running in a VSC panel:
Click the logo top left and select Setup Steps under the Admin subsection title. This confirms it's finished:
Select the Fusion bridge (tab on right side of panel).
I have a mid range
PC (Ryzen 5600, 32GB RAM, integrated graphics with initially 0.5GB, then
increased to 4GB video RAM, 6 cores, 12 threads, 250GB SSD). 2 of the 3
monitors are driven by a USB-C dock (with Displayport drivers). But it didn't
like the extra monitors and dock and I wasted several hours trying to stop the
graphics freezing up and Fusion not displaying anything of any obvious
relevance.
Conclusions:
I used the same
prompts given in the demo and after some further messing about, it went off and
pretty much recreated the example board (a simple 12V > 5V buck regulator on
a double sided board). However, I was unable to manipulate the 3D assembly and
Claude had to spend a fair while buggering about trying to figure out why. No matter what I did, with restating Fusion, opening just the 3D PCB assembly etc I couldn't get the thing to pan, tilt, zoom etc. What a pile of crap Fusion Electronics is.
And along the way I had to mess about endlessly with crashed / frozen graphics, messing with display settings etc all to no avail. To
be fair to Adom, the problems were almost certainly due to the Fusion
Electronics element – the graphics issues persisted after disabling the Adom
add-on and running on a single monitor.
I’ve never used Eagle/Fusion, partly
due to the scathing reviews. Apparently Kicad is more robust and is also
supported by the Hydrogen bridge, so I will put this ridiculous Fusion Electronics
fiasco behind me, several hours of my life I will never get back etc etc.
What next?
I’ll get Claude to install Kicad on my machine,
along with the Adom app adom-jlcpcb that checks live stock levels at JLCPCB’s
manufacturing partner (LCSC), so I know the parts they choose will be available:
I want to be able to simply order the assembled PCBA. Then I’ll try again….
Background:
This whole product seems to be a example of how all this
AI technology could be used. As Claude responded:
The
rapid-fire development speed you are seeing is because John Lauer has turned AI
agents on his own codebase. He is essentially using the exact technology Adom
is building for hardware engineering to build the software itself. Adom’s
internal toolchain explicitly relies on a network of coordinated autonomous
agents—like Claude Code, Codex, Kimi, and Antigravity—wired directly into their
development environment, VS Code extensions, and terminal systems. How this
AI-driven development pipeline works under the hood includes:
Autonomous Coding &
System Tweak: The agents aren't just giving autocomplete suggestions. They
have permissions to actively open files, install extensions, execute
workspace commands, run build scripts, and live-test the UI.
The "One Human,
Many Agents" Setup: Lauer acts more like an orchestrator or a
"central broker" directing a swarm of AI threads. While his name
is stamped on hundreds of recent commits and package updates across Adom's
repositories, AI agents are writing vast swathes of the actual code under
his direction. [1, 2, 3]
AI Flow Tools: Adom even
built a dedicated utility called adom-aiflow strictly to optimize how
their custom AI agents navigate and build their software packages.
It's a
meta way to build a company: he is using a swarm of AI software agents to
accelerate the development of an AI workbench (Hydrogen), which will eventually
dictate how robotic workcells build physical hardware. He is practicing exactly
what he preaches regarding "Shenzhen speed in the cloud".
If the
CEO John Lauer’s name is vaguely familiar, it may be due to his previous work
developing Chillipeppr which is a browser based g-code sender http://chilipeppr.com/tinyg And as
Claude reported the myriad bugs to Adom’s swarm, updates were also being
generated. I’m more used to software engineers working 9-5 (or possibly 10-6),
whereas these agents are at it 24-7.
So, let's try again, this time with Kicad instead of Fusion and see if there's a cigar....
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.
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.
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....
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
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.
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.
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:
Name a USB stick CONFIG
Create a folder called network
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.
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...
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.