Implementing a TCP server for Space Applications in Rust using the Strategy Pattern

Even for space systems, TCP/IP is oftentimes an important component in some shape or form because the majority of development might still occur on ground where an internet connection is still available. The special thing about space is that instead of using newline and/or UTF-8 based data, the data is generally in binary format and packet based. The most prevalent of the space packet standards is probably the CCSDS Space Packet Protocol....

September 29, 2023 · 11 min

Packaging Python Projects in 2023

Learning clean package management with Pyhon is still a tricky subject even though there are a lot of resources available online. A lot of the resources found online only cover partial topics while others make recommendations which are becoming slowly obsolete, for example by still using setup.py. In this post, I will show how to set up a new package in Python from scratch with all features I consider useful and important for a good Python package....

September 4, 2023 · 11 min

Cross-Compile and Debug Rust Applications for the Raspberry Pi

After exploring Rust for smaller bare-metal systems like Cortex-M based microcontrollers, I am trying to learn using Rust when using a Linux runtime. The most common example for this is the Raspberry Pi, but there are a lot of other boards out there which support Embedded Linux, for example the Beagle Bone Black or Xilinx hybrid CPU / FPGA solutions like the Zynq 7020. Embedded Linux Boards: Raspberry Pi Image Source...

December 27, 2021 · 13 min

Rust driver for the 10-bit MAX11619 ADCs

In my last blog post, I described how I set up a small Rust ecosystem for the Vorago REB1 development board. This development board also has a MAX11619 10-bit ADC device by Maxim devices. I thought this was a good opportunity to develop my first device driver crate because there isn’t one for this device yet. The REB1 development board also has a 2K potentiometer connected directly to a channel of the ADC which makes testing convenient....

December 16, 2021 · 5 min

Bringing Rust to Space - Setting up a Rust ecosystem for the VA108XX MCU family

UPDATE 2024 I have recently converted the VA108xx Rust support into monocrates which can now be found here. I have also started working on the support for the VA416XX family of devices which can be found here. The new repositories also now use the embedded-hal v1 release. Blogpost The last few weeks I have been busy diving into the Rust ecosystem and learning the language through practical projects. I finishing the excellent Rust book and the Rust Embedded Book first and then tinkered with Rust on some STM32 MCUs....

December 15, 2021 · 7 min

Throwback - GSoC 2020 | Device handler development for the SOURCE project

This is an adapted version of a blog post initially posted on Wordpress as part of my GSoC project. It’s a perfect way for me to set up my own first blog which is based on this excellent guide. At that point of time, I was an aerospace engineer doing my graduate studies at the University of Stuttgart. I’m still active in the small satellite society KSat but I am doing more of a supporting role now that I started working the University as a PhD student....

December 14, 2021 · 10 min