Category: Blog

  • How to close an unresponsive SSH session

    If you work on embedded Linux systems, those Docker container thingies, play around with Raspberry Pi or anything in between, you may occasionally find yourself on your main computer connected to the target via SSH when it suddenly hangs or gets rebooted, rendering your SSH session unresponsive. Sometimes when this happens, the SSH session gets…

  • Strict Aliasing – yet another way for C-code to blow up

    Recently, I got to learn about Strict Aliasing in C. It is yet another thing that can cause your C code work perfectly fine today and then blow up because of Undefined Behavior down the line. One example of what not to do is casting an array of uint8_t (like a payload from a communications…

  • Embedded Rust Toolchains

    I recently started learning Embedded Rust. As I mentioned at the top of the last post, there are a couple of toolchain options: OpenOCD + GDB probe-rs + cargo-embed Turns out there is also a third one that I just discovered: probe-rs + probe-run This was a little confusing at first, I was unsure what…

  • Embedded Rust: Timer Timeout Problem

    TL;DR: When doing timing critical stuff, use the –release flag to get a faster binary!For example: cargo embed –release. I’m learning Embedded Rust on a STM32 Bluepill board (with a STM32F103 microcontroller). At the time of writing there seems to be two toolchain options: The “official” Embedded Rust way, using OpenOCD and ARM-compatible GDB. Up-and-coming…

  • NB-IoT and LTE-M Covarage Maps

    Here are some links to coverage maps for NB-IoT and LTE-M in Scandinavia. The GSMA also has a global deployment map here:https://www.gsma.com/iot/deployment-map/ Denmark Telia – https://www.telia.dk/privat/hjalp/dakning-og-drift/iot-dakningskort/ Finland Telia – https://www.telia.fi/asiakastuki/verkko/verkko/verkkokartta Norway Telia – https://telia.no/dekningskart Telenor – https://www.telenor.no/bedrift/iot/dekning/#map Sweden Telia – https://www.telia.se/privat/support/tackningskartor

  • Talk: Cellular Connectivity for IoT

    In 2018, I had the great honor to speak at the NDC conference in Oslo.  At the time, I was working with cellular connectivity for IoT at nordic mobile operator Telia, and I titled the talk accordingly. NDC is mainly a developer conference, so the talk was intended as an introduction to cellular IoT for…

  • LED bed light

    I have been working on my own custom wakeup-light on and off for several years (part 1, part 2, part 3). After getting Philips Hue lights, however, I have not gotten around to setting it up in my new apartment. So recently, when the need came along, I figured the quarter round rod I used…

  • Kodama Trinus 3D-printer upgrades

    At work, we recently got the Kodama Trinus combined 3D-printer and laser engraver. I’m pretty happy with the overall quality of the printer so far, but for our use I immediately identified some areas of improvement: No power switch – the only way to turn the printer off is by unplugging the cord. No lights…

  • Alarm Clock v0.1.0

    We wanted to try banning phones from the bedroom (you should try, I recommend it!). Clearly, a suitable hardware replacing the alarm clock app was needed. Having thought about building my own alarm clock for a while, I quickly determined it was not a viable option to just go buy one – there simply did…

  • Autonomous RC Racing

    Here is a project I have been working with on and off for about a year – Alvin the autonomous RC car. The robot is built to comply with the rules of two Swedish robot competitions, Robot SM and Stockholm Robot Championship, where the objective is to race three other robots around a track without…