e-tinkerer

A Place for my train of thought, mainly electronics, mcus and math

  • Fundamental data structures: Linked List

    This post covers an intermediate system/algorithm designer to a high-throughput data system using linked lists. For the same of brevity code examples are kept brief. Motivation The theory behind one of the most fundamental data structures linked list is by itself fascinating but to give a motivation let’s start with a real-life example. Recently I’ve had to deal with a lot of sensor data. By lot I mean 40Msps of 32bit data which is around 160MBps.

    Read more…
  • On filters and AHRS systems

    In this post we go thorough basics of attitude and heading reference systems (AHRS) and dicuss in detail the Madgwick’s algorithm (MA) which is an optimized solution for pose estimation. Note that the use of terms filter and algorithm become intertwined and their differences are left for the reader to decipher. Introduction In a recent project I was introduced to inertial measurement units (IMU) that eventually led to inspect AHRS in greater detail.

    Read more…
  • A perspective on test-driven development

    In this post we’ll take a look at a development guideline called test-driven development. To give the discussion a pratical perspective we’ll look at an example in embedded C. Embedded applications are notoriosly challening to test and debug. Here we use TDD framework for a implementing a simple data buffer structure. In Theory The paradigm Add a test Run all the tests Write some code Run tests Refactor code Repeat Motivation At first impression test-driven development (TDD) seemed like an excessive display of discipline in programming.

    Read more…
  • Cases of feature selection

    In this post I share a solution to one school submission on feature selection. Have a good day! Submission When we train our models with a determined number of features we increase the required computational resources needed to make a prediction. In some cases the features do not provide any meaningful data or the information is already given by another feature. We should discard these features whenever possible. There are multiple methods with which this can be done.

    Read more…