Wago All the Way

Illustration

As someone who like to annoy folks doing an actual electrical work, I discussed topic of Wago connectors multiple times. First part of discussion is inevitably my (correct) pronouncation of Wago. It’s with with Wag as in Wagner, not as in wage. After that initial vorspeiz, topic inevitably goes to the superiority of the mighty Wire Nuts.

If you are from Europe, you might wonder what the heck is a wire nut? Well, do you remember old times when people just twisted wires together and wrapped them in some electrical tape? Wire nut is that same thing, just with plastic. And I personally find them lacking.

During cleaning of in-wall heaters (American thing, don’t think too hard about the wisdom of placing a furnace into a wooden wall structure), I found wire nuts a really problematic choice. To properly clean the heater, you really need to disconnect wires. With wire nuts you either untwist them, forcing you to unbend wires when you want to reconnect them. Or, you cut the wire nut and just later reterminate the connection with a new wire nut. Both of these choices usually lead to shorter and shorter wires each time - since even unbending wire that was once in a wire nut more often than not leads to breaking it. And, since most heaters have stranded wire, mess is even greater than what you get with a stranded wire.

If you use Wago to terminate those connections, you solve all your problems as wago accepts both stranded and solid wire. Now you can disconnect a solid wire from connector whenever you need cleaning. And reconnecting them again is a breeze, without any damage occuring in the process.

In junction box you have even easier time. Not only you can fold wires neatly in groups but you can also measure voltage. Every Wago connector has a hole just big enough for multimeter probes to fit.

How do the “wire nut” people measure voltage? Well, they try not to. I’ve seen electricians try 100 different things before resorting to an actual measurement. And I don’t blame them - I would do the same if measuring stuff required me to unbundle all the wires.

That said, connection with wire nuts can be better. Multiple people tested them and, under the full load, difference can be a staggering few degrees. It’s a meaningless difference.

I’ve also heard that Wago is not durable - mostly because it’s not pure copper. Having gone through period of dealing with issues between aluminium and copper connections, Americans are justifiably wary of issues that can arise when mixing materials. But not all “silvery” materials are aluminium. They might be copper with oxidation protection layer. Guess what, if you check a wire nut, you won’t see exposed copper there either. I guess logic there is that, in case of the wire nut, it’s an oxidation prevention. In case of Wago, it’s a durability issue.

The National Electrical Code is the only relevant source of truth. And Wago connectors meet UL 486C requirements. Same as wire nuts. Even their maximum temperature of 105 °C is the same.

Using one or other might be a matter of cost (wire nuts are cheaper). Or it might be matter of preference (wire nuts are belowed here). But it cannot be matter of performance. As long as they have the same (and sufficient) rating, wire nuts and wago connectors are interchangeable.

Me? I am going to continue making my live easier by replacing every electrical circuit I touch with something that’s actually user-friendly.


PS: If you were wondering how Wago 221 got their name, convert 105 °C to °F.

How Big Should a Linux EFI Be

My “standard” partition scheme is always, EFI, Boot, Swap, Data. I have been toying with an idea to swap EFI and Boot around but I stuck with the same order for a while now. However, sizes have changed over the time. One that changed the most is EFI.

Under Linux, assuming you have a separate Boot partition, you can have EFI really small. I’ve ran it at 32 MB for a while, not observing any negative issues. Until I did.

While most of the time Linux doesn’t really use EFI partition for much, things get interesting with firmware updates (fwupdmgr update). The only way for Linux (or any other OS, for that matter) to pass files to UEFI is a common partition. That common partition can only be FAT32 EFI. And, depending on your system, those files might need over 64 MB.

Translated, your EFI needs to be able to have more than 64 MB. How much more? Playing with power of two values is an unofficial standard and thus 128 MB is the next good spot.

But, is that future proof? Considering BIOS images are 32 MB these days (256 MBit), it’ll take a while before 128 MB is not enough

I am almost certain that more space will be needed at undefined time in the future. However, I won’t lose any sleep about it for at least couple of years.


PS: If you are dual-booting Windows, I would say doubling the partition might be a good idea as Windows does have a larger footprint on EFI partition.

When Standard Is Not a Standard

Illustration

Illustration

Having a standard is a beautiful thing. While US sockets are really shitty in general, I love how standardized they are. Every single apartment I ever lived in had the same double outlet setup. Its welcoming smiley face just awaits a device to power.

Except that this is not the standard orientation.

The standard orientation is actually upside-down of what everybody is used to. Well, when I say “the standard”, I say this loosely since it’s not part of NEC (National Electrical Code) as such. But, if you go to any hospital or industrial setting, chances are that you will find it in the “correct” orientation.

If you want to hear more then you ever cared about this, you can watch Technology Connections dealing with this exact topic. In any case, I am not watching that video ever again as it made me cry for Schuko.

In any case, I was mounting some stuff on the DIN rail and I had a choice to make. The way I planned to route wires and the text on the socket itself were both pointing toward “the standard” orientation. So I ran with it.

Illustration

Do you see the problem here?

While orientation of the socket itself is not really defined, position of live and neutral wires is. In “the standard” orientation, the hot goes on the left and the neutral wire goes on the right. But here, my second socket actually has the neutral on the left. And yes, I did check that screw feeds into the socket straight up.

Since the other way of finding the neutral - its longer slot - points toward the neutral on the right, it’s obvious that markings are in fact incorrect. Manufacturer, instead of fixing the mold, just decided to sell devices nonetheless. I mean, US outlet is as shitty as it gets so it’s not like swapping the live and the neutral wire will make it any worse.

And, in reality, there is no real issue if you swap these wires at the outlet side. Heck, my belowed Schuko goes either way and even burned one is way safer than any US outlet. Outside of a few contrived examples involving houses with ancient wiring without ground, or really specific dumb equipment, which wire is live and which one is neutral doesn’t really matter.

But I find it amusing that product having such a strong opinion about the ground pin position can be so nonchalant when it comes to position of its current carrying wires.


PS: And yes, if I didn’t have two of them side by side, I would have probably missed wire labeling issue.

Updating Framework's QMK Firmware

New BIOS for Framework 16, brought also a problem. Every boot I got a message that my keyboard firmware is outdated. It was true, but also annoying warning as it paused the boot process. Normal person would just update keyboard but I had a few customizations and thus could not do the same.

What customizations? Well…

  • Entering QMK firmware by holding CapsLock (keyboard) or NumLock (numpad)
  • Key to mute microphone
  • Disabling airplane mode key
  • Reconfiguring numpad to allow volume and media controls
  • Using brightness as a NumLock signal
  • Simplifying background light setup

Could I live without those? Yes, but I still would prefer not to. So, I had to redo my changes on top of v0.3.1 which was simple enough as I just pretty much cherry-picked my changes directly. Maybe for the next version I also squash a few of them but I was lazy this time.

Short flash later and my numpad had a newer firmware with the same behavior. Happily I proceeded to flash the keyboard but in my excitement, I forgot to change my command line from framework/numpad to framework/ansi. Thus, I flashed my numpad firmware onto my keyboard. Annoying mistake but easily corrected by just reflashing the correct firmware on top of it. Or so I though.

My keyboard still didn’t work even after the correct firmware has been flashed. Some keys did produce something but it was never a correct letter. Did I brick my keyboard? Well, fortunately for me, with QMK answer is never yes.

QMK flashing doesn’t erase the full EEPROM when new version is loaded. So, if you end up corrupting the whole thing by flashing something very incompatible, you cannot just flash new firmware and be ok. What you need is to erase the old firmware all together. There are a few tools to do it, but I like this one.

Once EEPROM was erased, flashing my keyboard firmware worked like a charm.

Using ZFS in Docker

I have most of workloads on my server setup in Docker. It makes for self-documenting configuration, easier move to other machine, and less dependencies on the underlying OS. But one workload I kept on server itself - reporting.

The way my scripts were written, they required proper ZFS access. Now, I could adjust script to loopback via SSH to OS itself, but there was an easier way.

Docker allows for device exposing, and in the case of ZFS, all you need is to point container toward /dev/zfs:

    devices:
      - /dev/zfs:/dev/zfs

Now your scripts in container will have proper ZFS access.