aul12.me

Welcome to my personal webpage.

My name is Paul Nykiel, i'm an engineer and software developer with interests in
robotics, embedded systems and systems engineering.

26 Jun 2020

Toolbox-Plane Update - Part 2: Simulation, Si and More

As a result of the Corona pandemic i had a lot of time available during the period between the winter and the summer semesters. Some of this time was spent by implementing new features for our Toolbox-Plane flight computer. The flight computer is a Rasperry Pi which runs all high-level aspects of the plane such as sensors fusion, route planning and some parts of the feedback-control. Additionally it is the centre of our communication network: the flight computer communications with the flight controller, the power distribution board, the primary remote and the base station.

23 Jun 2020

Toolbox-Plane Update - Part 1: State Estimate

As a result of the Corona pandemic i had a lot of time available during the period between the winter and the summer semesters. Some of this time was spent by implementing new features for our Toolbox-Plane flight computer. The flight computer is a Rasperry Pi which runs all high-level aspects of the plane such as sensor fusion, route planning and some parts of the feedback-control. Additionally it is the centre of our communication network: the flight computer communications with the flight controller, the power distribution board, the primary remote and the base station.

18 Jun 2020

Comparing the Inference Performance of Neural Networks with and Without Quantization

In my post “Getting started with the Google Coral EdgeTPU using C++” i described that models for the Google Coral EdgeTPU module need to be quantized to 8-bit fixed point numbers, instead of the commonly used 32 or 64-bit floating point numbers. This reduces the resolution of all values used in the model, that are the weights, the intermediate results and the predictions. Therefore the quality of the predictions of the neural networks is in most cases worse than without quantization.

04 Jun 2020

An introduction to I²C

I²C is a protocol which defines a bus used for the communication between multiple integrated circuits, such as processors and sensors. In this context a bus refers to a connection between multiple entitys using only one shared communication channel.

28 Apr 2020

Using PostmarketOS on my Tablet for Lecture Notes

I still own one of the original Samsung Galaxy Tab 10.1 tablets, the old one which has been released in 2011. Obviously it does not receive any official android updates anymore, and there are not many custom ROMs available, for a good reason: the performance of the tablet is not sufficient for a recent android version. As our lectures for the university a purely digital this year i had the need to annotate the slides available as there are no printouts of the scripts available. Thus i decided to revive my old tablet for writing notes and annotating PDFs.

10 Dec 2019

Comparing the inference speed of different tensorflow implementations

Machine learning started of as the research to emulate the human brain [1], in recent years the models developed moved further away from the structure of the human brain [2]. On the other hand state of the art models are now able to perform certain tasks better than humans [3], these rapid improvements in the last five to ten years lead to the utilisation of deep neural networks outside of the research domain [4]. Today most of the large tech companies, such as Google and Facebook, are using neural networks as part of their products.

29 Sep 2019

On GUI Frameworks

This is a rant. In 1984 Apple released the Macintosh, the first widely available computer that featured a graphical user interface [1], this was 35 years ago. 35 years in which developers had the opportunity to implement GUI-Frameworks and Libraries, which will make it easy to develop applications with GUIs. And here we are, it is 2019, and this is still not the case.

20 Jul 2019

SoPra Review

The SoPra (“Software Projekt”) is a module at Ulm University which requires groups of students to develop a software project over the course of a year. The module is mandatory for all students doing a computer science, software engineering or similar software development oriented programs. This includes “Informationssystemtechik”, the program i am doing. I did the project in the last year with a group of five fellow students and took the chance to try some new strategies, for the software development itself as well as for the project management. In this blog post i will review the differenct aspects and summarize my experiences. If you are interest in the actual code, it is available on github: github.com/SoPra-Team-10.

27 May 2019

Generating CMake projects from STM32CubeMx

For configuring an STM32 microcontroller there is arguably no easier way to configure the chip and periphery than using STM32CubeMx (in the following refered to as CubeMx). Sadly it is only possible to export the code to a small selection of proprietary IDEs, it is neither possible to use the Code with one of the important C/C++ IDEs (CLion, QtCreator, Code::Blocks, Visual Studio,…) or to use any editor (vim, emacs, nano,…) and an external build tool to build the project. This also limits the ability to integrate the build process in some form of continuous integration.

29 Apr 2019

Toolbox-Plane PCBs

After having several problems with our last PCB-Stack used in the Toolbox-Plane (in no particular order: large size, problems with the mcu not starting, non standardized platform) we decided to design three new PCBs for our plane.

05 Apr 2019

New website!

As you might have guessed after visiting this site i have a completly new website! After i had more or less abandonded my old website (i still believe the concept is really cool, so it still is available at aul12.me/old) i tried to develop a new website from scratch but pretty soon realized i’m not a designer. So in the third iteration i started using Jekyll as a static site generator.