2022. május 14., szombat

New Arrivals 6. - (special edition)

Today, I only want to write about one thing arrived, as it is a bit special to me and need some more attention.
This is a bit strange, nostalgic story.
In my childhood I was living behind the "iron curtain". There we have very little possibilities to get things from the western part of the world. I had obsession to music, the audio electronics in my teenage years. Even I was "working" as a DJ in the school. I had two cassette decks, built a mixing station for this.
I was eagerly need a headphone. My mother time-to-time had the opportunity to travel to the west. Once she bought a headphone for me (some no-name thing, but I was really happy with it).
Years elapsed, more and more Hi-Fi things arrived to the country. To support the music and Hi-Fi loving audience, a magazin appeared on the local market: http://www.hifimagazin.hu/
Once they was running a headphone test: http://hifimagazin.hu/HFMCD/HFM/CIKKEK/HFM2410.HTM
There were AKGs, Beyerdinamics, Sennheisers, etc. the good big names. Those were first unavailable in the country and also as a moneyless student, I can't afford them even if it would be on sale locally.
I just find the KWH HOK-80 on the list, what got good verdict, was available for the money acceptable to me, so I bought it based on the article.
It had great sound, but you had the feeling when you put it on, like your head would be in a machine vice.
You can't tolerate this "comfort" for a long time.
I was a gadgeteer kind of guy already these days. So I built the orthodynamic panels from this headphone to the one I got from my mother years ago. Case closed, I had a good enough headphone (Also built headphone amp for it).
Few years later after the "iron curtain" fallen, I got other interests, turned to the computers instead of the audio electronics. Once I landed the already unused mixing console and the headphone to a friend.
Never seen them again.
Two-three weeks ago (30 years after the story above) I read an article about some highend Technics loudspeakers https://longkft.hu/audioblog/technics-sb-afp1000/ (it was a repost on the facebook).
The article is talking about the east-german headphone I had previously also as the technology is the same as the one used in the Technics monster.
When I read it, the long forgotten story above pop into my mind.
Looked around on the eBay, and found a HOK-80 for a few bucks. Today arrived.

Even this one arrived in the original box, with the original documentation and warranty card.
What a surprise, the original east-german invoice was also in there.

165 east-german mark. I was looking around the exchange rates. If I'm not mistaken, it would be €33 today.

Nothing changed regarding the comfort. The vice feeling on your head is still there.
My son has a gamer headset. He completely destroyed the cabling, the switch and volume knob of it. Finally I bought a bluetooth one for him (can't hurt the cable). I just throw the headset to a drawer years ago with the thought "I'll repair it later" - never happened.
Now I picked it. It would be a good donor candidate for my new project. I want replicate, what I did in the '80s (sort of).

I will build the orthodynamic drivers into this Gigabyte headset's shell, add a proper, detachable headphone cable and done. This will be one of my next projects.

2022. május 7., szombat

Octoprint in docker

This is just a short title of this article. I would rather call it: "Octoprint in those chip shortage times"

Today it is not so easy or cheap to acquire a good platform for Octoprint. Raspberry Pi almost seized to exists. If you can buy it somewhere it cost a lot.

I'm a DevOps guy nowadays for profession. I fell in love with the containerized (and orchestrated, cloud based iaC) infrastructures. The Octoprint is a good candidate for this, as itself is unable to handle more than one 3D printer.

Actually I've several tasks in the lab, what need server side background computing. So, I just picked up an old (not too old) PC from my ceiling (the most important requirement to have a 64bit CPU already).

Installed a shiny new Ubuntu 22.04 LTE Server on it. There is only thing I installed during the setup process: OpenSSH. I don't install Docker from snap, what suggested by the install process. It caused problems to me, so I leave it out for now.

At the first login I switch to root console (sudo su). I do this for comfort. I asked for password once during this process.


Install docker from docker's repository (instead of Ubuntu)

curl -s https://download.docker.com/linux/ubuntu/gpg | gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/docker.gpg --import
chmod 644  /etc/apt/trusted.gpg.d/docker.gpg
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt update
apt install docker-ce docker-ce-cli containerd.io
apt upgrade -y

Static IP

I suggest to fix the IP address of the machine some way. Right now I'm using a pathetically shitty router from the provider, but at least it is able to add static lease to the DHCP service, so I choose this. On the other side I'm not so fortunate with it's DNS service. So with the naming I'll relay on the host file and not a DNS.


I'd like to be able to access the services with name, instead of IP address and port. To be able to achieve this, the first thing I install is the jwilder/nginx-proxy, what I use frequently for this task

docker run -d -p 80:80 --restart=always --name=proxy -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy


As I'm using mostly command line to manage docker, it is a good idea to have a kind of dashboard to see, what is happening. I'm using Portainer for this for a long time now. Here is the first time when it advisable to have a folder, or a named volume on the host to map as data into the container. Here I choose a folder for this. It will allow me later to mount some external storage (NFS in a NAS device in my case) to hold and backup this data.

So just add some folder for it (we will need one for Octoprint also, so I create it here also):

mkdir -p /data/portainer
mkdir -p /data/octoprint-geeetech

For security it is not the best choice, but as right now we don't know the user id of the Portainer  (Octoprint) container, so I gave access for those data folders for everybody inside the computer

chmod -R 777 /data

Install the Portainer:

docker run -d -e VIRTUAL_HOST=portainer.it-pro.local -e VIRTUAL_PORT=9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /data/portainer:/data portainer/portainer-ce

Now try out if our Portainer is working. You need to add the Portainer in the name resolution in some way. Either as a CNAME record to the DNS or the host file in your client machine. In my case it is the later one on my Windows machine (c:\windows\system32\drivers\etc\hosts)

This case I add the following:    portainer.it-pro.local

From your browser you can connect to the Portainer and setup your user:

Device file

If you connect more than one USB-CDC device (Serial over USB, most of the 3D printers fell into this category), you are in trouble. In Linux the devices are not stick to the device file. While you run a single Octoprint on a Raspberry Pi this is not a problem, while you only connect one printer, always get the same device file. In our case it is not evident. This is why I use a "trick" here. Create an alias (soft link) for the device. Giving a name to it, based on the USB Vendor Id (VID), Product ID (PID), and the serial number. Here I should give a small note. The CH340 series Chinese USB Serial converter chip frequently used in the 3D printers, can't be differentiated from each other, as it has no serial number. So if you have more than one 3D printers based on it, you still in trouble.
First connect your printer to the PC, and run the following command:

lsusb -v

This will give back all of the parameters your device have. You can collect the VID, PID and the serial number from it.

My printer report this:

Based on this, you can add the creation of your device alias to the udev rules:

echo 'SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A903RZMJ", SYMLINK+="ttyGeeetech"' >> /etc/udev/rules.d/99-usb-serial.rules

Reload the rules:

udevadm control --reload-rules

You can check with ls -la /dev/tty* if the device file is in it's place

The udevadm command wasn't work for me (probably disconnecting and reconnecting the printer does the trick), so rebooted the machine, what resolved it:


Last piece of the puzzle is the Octoprint itself:

docker run -d --restart=always -v /data/octoprint-geeetech:/octoprint --device /dev/ttyGeeetech:/dev/ttyACM0 -e VIRTUAL_HOST=geeetech.it-pro.local -e VIRTUAL_PORT=80 --name octoprint_geeetech octoprint/octoprint

One additional line added to the hosts file:    geeetech.it-pro.local

Now you can connect to the Octoprint from your browser:

Here come the regular Octoprint setup (I don't want to discuss it here because you can find this in more appropriate places over the internet).
And the result:

If you want to use more than one printers, you should setup the folder (for the octoprint instance), the sticky device file and the Octoprint docker container for each.

2022. április 13., szerda

CNC Router Reborn 2.

Its been a while I write about the CNC project. It is in the state, I eventually work on it, so it advance really slowly.

It is time to write about the current state.

What happened since last time:

  • Mounted the controller hardware (GRBL controller, stepper drivers, except the spindle controller into the PC box)
  • Cut the back panel to fit into the place of the original PC card back panels
  • Rewire the entire frame with longer cables (needed to be able to put the new controller case to the ground next to the CNC routers table)

The controller from inside:

The back panel (hole for the connectors still need to drill):

The new dymo heathshrink labels in action:

After I finished the cabling realized that one of the connectors miss the screw lock ring. Am I so idiot that it fall from the connector before assembly and I didn't realize it?

Nope. I just found on the floor:

What a shitty material those guys use. I fall from a meter to the floor and broke into pieces.

What's next:

  • Drill the connector holes to the back panel and assemble the whole motion control
  • Create mounting hardware for the spindle controller (probably 3D printed)
  • Create a front panel with vent holes for the 600W PSU
  • Put everything together and test is

2022. április 6., szerda

New Arrivals 5.


I bought an old UPS without batteries mainly for getting it's enclosure for later projects. It cost me $10 delivered

It is Hungarian made from the "good old days". Disassembled it. The build quality was a real surprise to me. No welds, pop rivets, just machine screws everywhere. No soldering at the connectors, just proper terminals. No junk parts, just well known manufacturers one.
Made some calculations from the easily salvageable parts:

1x Omron G7L-2A-TUB relay. Current cost: $12.57 

1x DELTA 04BEEG3SA mains inlet with filter Current cost: $10.53

2x RICH BAY RG-02 mains outlet Current cost: $15.65 (for the two)

Together: $38.75

I also have a big power transformer and the enclosure itself.

I think it was a good deal.

Finally my 110 Tool arrived

No idea yet, when will I work on the lab's network, where I need this.

Triax connectors

It took a long time to get the triax connectors into my hands for the Keithley 236, but finally got it. On the Aliexpress I found one seller, who sell 5 pcs connectors on the price of one at Farnell.

Triax cable

Neither widely available nor cheep is the required triax cable. Not the wire core - insulation - shield - foil - insulation type (what on many places called triaxial), but the wire core - insulation - shield - insulation - shield - insulation type where the two shielding electrically insulated from each other.

Usually it is sold in large quantity (you need to buy the whole roll). Fortunately I found an 8m piece on the FB marketplace locally, for a few bucks.

It was horribly stinky (felt like a complete ashtray), but I was able to clean it up. When my Keithley 236 find its place in the lab, I'll build proper cables for it.

Dymo heath shrink

I wasn't aware that this thing even exists. I'm still in the rebuilding of my CNC router. It has markings on the stepper axis cables. I wasn't able to imagine, how those markings are made. Now I know. Somebody on an FB group shown it. As I have a USB Dymo printer, I immediately ordered a few packs in different sizes. When I get there to finish those cables, I'll use this as a marker.

47pcs unknown small transformer

(bought for $0.4 each)

As I have similar transformers, my assumption was, that I just need to measure while connecting to the 230V mains and I can use them. As I'm cautious guy, first I measured the coil DC resistance, just to have some idea. It come out 380 mOhm / 50 mOhm (primary/secondary). It is way too low for such transformer.

I have a same mechanical size 230V/230V transformer with 5,5 kOhm / 6,3kOhm coil resistance.

So the question is: what a hell this transformers are good for?

SMPS? Kind of filter? Something else?

No idea yet. There is two direction to figure out:

1. Disassemble one and see, what is in there (type of core, number of windings, wire diameter)

2. Measure.

I definitely choose the second option. I intend to measure inductivity, how it works on various frequencies, what is the ratio between the two coils, what is the highest achievable efficiency, where the core saturates, etc.

This is just a rough idea right now, how to measure. I intend to collect the following instrument park for this: A proper LCR meter, four DMMs, a power amplifier, and an oscilloscope, DC Load (I don"t have an AC Load, so a DC load with schottky diodes and filter capacitor would be good enough)

Here is some basic idea, what I intend to do (bit more, but this is good for starting):


2022. április 4., hétfő

Pan & Tilt gimbal project?

In the last two weeks I didn't have too much time to work on my hobby projects or even to continue to build my lab.

To be honest I even didn't feel like working on any of my currently running projects. (There is the time to start a new unfinished project 😄)

There is something itching in my mind. I need an MCU controlled pan and tilt head for a mobile phone (camera). I would like to have it to generate a 360 view for a room, what I need for undisclosed reasons.

The original idea to build the pan and tilt head from 3D printed parts and Nema stepper motors. Control it from an ESP32 based 3D printer controller, like this:

Also add some Wi-Fi based web interface to the ESP32 and control the phone mounted on the pan and tilt head via blutooth.

This idea was forming in the last two weeks. Fortunately I didn't order the things I collected for this. Those are just sitting in my Aliexpress basket.

Yesterday I was thinking to start the ESP programming and the 3D design of the components.

Eventually I found something interesting

This is a Zifon YT-1000 pan & tilt head.
This also has wireless remote, costs bit more than $80 delivered.
This thing is a good candidate for my project. It lack of the automation I need, but has most of the capabilities I require.
Unable to control the phone, take all of the pictures I need, but almost there.
Here come the question. Is it hackable?
The answer located here:
From the post you can figure out that the wireless controller is a JDY-40-V1.2 wireless serial transceiver module.
No, it isn't available on the Aliexpress. It is sold by Electrodragon under the name EY-40:
I would have reservations about a market player I didn't know. But with Electrodragon I don't have, as I ordered my ESP8266 based wi-fi switches (before even sonoff existence) from them, and had no problems.
So now the pan & tilt head + remote modules are on the way to me.
The project is simplified itself to the ESP32 programming while replacing the motor control part with the EY-40 commands.

2022. március 13., vasárnap

New workshop 3.

In almost all of my free time on the last week, I worked on the lab benches. Sanded, drilled, oiled, built.

Here is the result:

Unfortunately, it is far form the end. But at least some progress.

At the long weekend I plan to move some things down, and also start to work on my big rack cabinets I have already.

New Arrivals 4.

I couldn't resist. I bought two additional VXI Mainframes.

Since I got the first, wanted one with the keypad and the display in the front. The one without it just looks ugly.

Actually I have been fortunate with this one. From inside it is clean almost the way it just left the factory:

The second unit, I mainly bought for the boards included. It has E1340A function generator, E1330B digital I/O, and two E1345A relay mux cards in addition to the regular CPU board and multimeter.
I wasn't so fortunate with this unit:

It looks like (how here in Hungary would say) somebody pull it out from a cows ass.
The frame bended at several places. The thing is extremely dirty, dead spiders and spider web inside, the power switch button broken off, the front panel joints are broken.
As I have altogether 5 units now. I decided to part this one out. I don't know If I sell the cleaned and tested parts, or just drop it in a box to use it as spare parts for the future.

The boards for the front panel binding posts are also arrived.

Just assembled one quickly:
Unfortunately my 3D printer has some issues, So I can't print the mounting hardware right now. Update is coming on this.

As I building my new lab, I know that I'll have some twisted pair cabling work. I not yet know which kind of crimping system will I use. So ordered a Krone tool and a 110 tool.
Only the Krone arrived yet.

When arrived I just realized, I already have one in my old lab (such an idiot!)
I also bought a few things for my lab in Conrad. Among the others, I also bought a brass solder cleaner "sponge", as perviously I boght a 2nd hand soldering station. The previous owner just used a complete kitchen steel sponge, not even understand how he was able to push it in the soldering iron holder. 😃