Hi, I’m Albert

This is where I post about projects and leanings from the past and present in the hope that someone else (my future self included) will find them useful. You can contact me on social media, or email at “mail” on this domain.

  • Vetek TCS-D Scale Repair

    Vetek TCS-D Scale Repair

    I was asked to have a look at this digital scale. The LED in the bottom left corner came on green when power was connected, but nothing happened when the ON/OFF button was pressed. After some measuring, I found there was no 5 V rail. The power to the two 5 V regulators is enabled through Q2 and Q1, an “inverted Darlington” pair. Q2, a S9013 NPN transistor is grounding the base of Q1, a S9012 PNP transistor that in turn connects 8 V to the input of the 5 V regulators. I replaced the S9013 with a 2N5551 from…

    Read more

  • DIY Display Dimmer: Physical Brightness Control for Monitors

    DIY Display Dimmer: Physical Brightness Control for Monitors

    My USB-C port replicator does not pass on brightness commands to my external monitors. The idea of a hardware solution was floating around in the back of my mind for a while. Until my friend made exactly this. I decided, if he was no longer fiddling with the screen’s built-in menu, neither was I! HDMI (and Displayport, DVI, and modern VGA connectors) have a control channel called DDC, Display Data Channel. It is simply an I2C bus with defined commands for things like brightness, contrast and input switching. For my use case, I need to control the brightness of two…

    Read more

  • Garmin Forerunner 210 Strap Repair

    Garmin Forerunner 210 Strap Repair

    I have a problem with e-waste. For example, I can’t stand throwing away this perfectly working GPS watch simply because the strap is not replaceable. Sadly, this seems to be a common problem with the Garmin Forerunner 210. As far as I can tell, spare parts were never available for this model. I bet quite a few ended up in the bin over the years. On the bright side, I did find a few ways to repair it. I’ll be recreating this one: I took a piece of plastic that seemed reasonably soft and not too brittle and cut it…

    Read more

  • Getting Started with CH32V003 Firmware in Rust

    Getting Started with CH32V003 Firmware in Rust

    I have been working on a small project using the WCH CH32V003 and thought it would be fun to make a version of the firmware for it in Rust. I started by having a look around for hardware support and getting started guides. As it turns out, there is a HAL and hardware support by the ch32-rs project. Also, the chip is also supported by probe-rs (also see other posts tagged probe-rs). However, when it came to getting started guides, I found little other than the examples folder in the ch32-hal project. So here we are. I’m going to rely…

    Read more

  • Proxmox: Bridge port enp1s0 does not exist

    I was adding a new NVMe drive to a previously unused slot on my little home server running Proxmox. After putting it back together, my services, like Home Assistant and Pihole, never came back online. Running systemctl status networking, I could see the error message: Long story short: Adding a new drive changed the enumeration of the network interface, it is now enp2s0. Solution:I edited /etc/network/interfaces and changed enp1s0 to enp2s0.Running ifup vmbr0 now ran without error and networking was working again. 🎉

    Read more

  • Installing TivaWare on Mac, in 2024

    I recently dug up my old autonomous car project based on a Texas Instruments Tiva C EK-TM4C123GXL Launchpad. The process of getting it up and running on a new(er) mac was fairly straightforward. First, I installed Code Composer Studio: TivaWare, the SDK for Tiva C is still available for download at https://www.ti.com/tool/SW-TM4C. Unfortunately, the installer is Windows-only, but as I could find in an old thread on TI E2E, the file is simply a self-extracting ZIP. The tip from that thread about changing the file extension to .zip did not work for me, but I was able to extract it…

    Read more

  • IKEA Floalt Light Panel Repair

    Finally, I have come full circle on this repair that started five years ago when one of my IKEA FLOALT light panels (L1529, 60×60 cm) suddenly started flickering. It has long been gathering dust, but I finally dug up this old Reddit post with a suggested repair that I had bookmarked: So credit where credit is due, I did not come up with this repair on my own but I figured I could take some more photos and add another mention of it on the Internet so hopefully more panels can be fixed and saved from being thrown away. The…

    Read more

  • BLE in Embedded Rust

    I wanted to make a Bluetooth widget and I wanted to learn more Rust, so I went about looking what options there are for enabling BLE in an Embedded Rust project. First off, I could probably have done this on a Raspberry Pi and saved myself a few headaches, but I specifically want to get into “bare-metal embedded”, not “embedded-Linux embedded”. Hardware-wise, the most well-supported option in the community at the time of writing (fall 2021) seems to be the Nordic nRF52. I already got the nRF52840 devkit to work through the Knurling Sessions, so that’s what I was going…

    Read more

  • Bringing Back the Stellaris Evalbot

    TLDR; https://github.com/albertskog/stellaris-evalbot-fw In my pile of old development kits is this little robot from Texas Instruments. The microcontroller on it is the LM3S9B92, an old (and, I seem to recall, fairly buggy) ARM Cortex-M3 chip. It must have gathered dust for around ten years at this point, but I did not want to throw it away. Instead, let’s see if we can bring it back to life! I found some 4-11 year old projects on Github but was not able to make them compile. I also had some old training material from the course where I got the bot, but…

    Read more

  • Doing Knurling Sessions 2020 Q4 in 2021 Q2

    I’m going through Knurling Sessions 2020 Q4, an excellent course/project from the Knurling project. It was originally available only to sponsors of the project but is now open to everyone for free. I decided to use the latest version of all crates instead of following the instructions to the letter. Here are some notes on things that have changed as of May 2021. 2.2.1.1. Hello World: while editing config.toml to set up the first project, the instructions show a flag that is no longer in the app template; probe-run no longer supports the –defmt flag, just skip it. 2.2.1.3. Internal…

    Read more