avatar

Bouni's blog

random bits and pieces

Automating KiCAD with KiBot and Gitea Actions

2025-07-04
KiCAD is my favourite PCB design program. I use it for Hobby projects as well as in my day job. I even wrote a rather successful plugin called kicad-jlcpcb-tools for it that lets the user select parts from the JLCPCB catalog and assign them to the footprints. Furthermore it generates the fabrication data consisting of a zip with all Gerber files and the Excellon drill file as well as a BOM CSV file and a CPL CSV file. These three files can be uploaded to JLCPCBs website to get an instant quote for the PCB including assembly.

RaspberryPi Wallboard

2025-07-02
Back in 2017 I built two displays for my fire brigade that show alarm data in case of an alarm. These use a 40" Samsung TV + a RaspberryPi 3B. A friend already had a working solution , so I adapted his work. It is a minimal approach that uses a matchbox-window-manager + midori The displays worked fine for all the years but recently I wanted to upgrade the installed RaspberryPi OS from Stretch to Bookworm.

Attiny1616 and UPDI followup

2025-04-10
In my last post Attiny1616, PlatformIO and UPDI I descriped how I use UPDI to programm an Attiny1616 using platformio . Since then a few things happened and I thought its a good chance to write up my improvements. UPDI circuit šŸ”—I realized that it would come in handy if I could program my boards with no 24VDC supply connected to the borad, just the 5V from USB. So I put in a diode in order to supply the 5V from USB to the uC.

Attiny1616, PlatformIO and UPDI

2024-11-27
I recently started a small side project at work in which I was in need for a microcontroller. In almost every project I did in recent years I used a ESP32 out of convenience or need for wifi. However in this project Space was an issue, so huge module like that was not very appropriate. I just need a few I/O pins and maybe a serial port for debugging, that’s it.

Get OMRON 1S Servo drives working with Linuxcnc EtherCat

2024-09-20
I have access to a lot of EtherCat components, among them the brand new OMRON 1S series servo drives. Obviously I wanted to get them working in LinuxCNC but there were no drivers for them. There were drivers for the OMRON G5 series drives however. So I compared the PDOs used in that driver with the PDOs of the 1S series. Turns out they are identical šŸ¤“ I cloned the git repo of linuxcnc-ethercat and began to tinker around.

Barth Elektronik STG-850 Open Source programming

2024-09-17
I’m planning to use a Barth Elektronik STG-850 mini-PLC for a project. The main reason to pick this PLC was the size of just 93x45x15mm, the low price of 150€ (low for an industry grade PLC) and the claim to support ā€œOpen Source programmingā€ using the Arduino IDE. In the meantime that claim is no longer on their website and the manual for it is gone as well. There is a GitHub repo that was linked in that manual which provided the integration into the Arduino IDE. Unfortunately there was no activity since 2017 and the manual said a Arduino version 1.8.3 is needed.

LinuxCNC with EtherCat on a Beckhoff CX2040 [Part 2]

2024-09-05
In my previous post on this topic I successfully managed to get LinuxCNC with EtherCat running on a Beckhoff CX2040. That was over a year ago and since then I didn’t have the time to dig deeper into the matter. Until now, and a lot has changed in the meantime …

A new home server [part 1]

2023-12-11
Back in 2016 when we completed building our house I installed a home server in my basement networking rack which I always refer to as the ā€œopen woundā€ 😁 That’s because It is mounted on a laser cut sheet of zinc coated sheet metal that forms a rack mount shelf and looks hacky as hell. These pictures are from day 1 and some things have changed in the meantime.

Split docker compose files

2023-09-29
All my services that I selfhost are docker containers which I manage using docker compose . Until recently I had all of them in one big docker-compose.yaml file which started to be a hassle to manage. For a while I looked for ways to split the file into multiple files but nothing really statisfied me. I even mad an attempt to to have a bash script that makes use of the -f parameter to merge multiple files which kind of worked but had some strange side effects such as containers were not added to networks every now an then and depends_on didn’t work.

Omada Controller with caddy as reverse proxy

2023-07-04
I switched from Mikrotiks wAP accesspoints to TP-Link Omada EAP650s a while ago (check out my blog post ). As explained in that post, I started self hosting Omada controller which is the management software for these APs. But I never mangaged to get it working behind caddy , my webserver / reverse proxy. So it ran as a docker container on my home server with exposed ports without HTTPS. In my home environment that’s not a big deal but it always felt wrong.