Multiband distortion with a touch of DIY

Spoiler: skip to the end for a video where all this makes (some) sense. As a wannabe metalhead-guitarist/bassist, I was long curious about how to get a certain gnarly bass tone, that pops up again and again in modern metal & djent. Recently, watching one of Rabea Massad’s videos, I seem to have stumbled on … Read more

Making your e-drums neighbor-friendly(ish)

Drums are awesome instruments. I mean, you hit stuff with wooden rods and dope sound comes out. It’s the pinnacle of human engineering.  They are, however, quite noisy, which makes them unsuitable for urban living spaces that cram more people per square-meter than Bangladesh. Luckily, electronic drumkits are a thing, and even more luckily, they don’t sound … Read more

Type-safe scripting with C++ (and other weird explorations)

The why and the what(-the-f***) Let’s start this short tale with some background.  For reasons unclear, I’ve started working on my n-th abandonable side-project. Much detail isn’t necessary here: it’s basically a C++ library for performing simple math operations— averaging, sum, standard deviation, autocorrelation and the like. Each operation is implemented as Functor: instantiate it, … Read more

Bare-metal? Unit-tests? Why not!

Ok, so I’ll try to keep this brief.  Some context Unit testing is a good thing, and you should be doing it (don’t worry: that was just me talking to myself, since I miserably fail to follow my own advice). “Well, why?”, you might ask. Simply put, it’s a nice way of ensuring that your … Read more

The VFD Series – Part 1: The ups and downs of SPWM

I’ve given up on trying to post periodically here. Let’s see if this brave act of reverse psychology has some effect on my productivity. Introduction Recently, I’ve started working on firmware for a three-phase frequency inverter. While this is absolutely no technological revolution on the grand scheme of things, it’s certainly new ground for me … Read more

AS5030 magnetic encoder: capturing a PWM signal with an ATSAMD21

It seems that I can’t avoid periodically ostracizing this page. Welp, let’s try to make it up. Context: the AS5030 magnetic encoder IC In a project I’m currently working on (more about it in later posts, perhaps), I needed a halfway decent way of measuring the angular displacement of a small, manually-turnt wheel. I had … Read more

Getting OpenProject up and running

Ok, so I was looking for a self-hosted project management tool. Something that would fill the gap that the late (and discontinued?) DotProject left in my heart. After lots of Googlin’, I came across OpenProject. Though they offer hosting plans, you can host the tool for free on your own server. Installation looked like it … Read more

openVPS: Poor man’s motion capture

The Why and The What Flying tiny drones indoors is cool, no questions asked. And stuff gets all the more interesting when you can accurately control the drone’s position in space — enabling all sort of crazy manouvers. However, using regular GPS for such applications is often a no-go: antennas may be too heavy for the … Read more

libFilter add-ons

Following my last post on my minimalist filter library, I just got off my butt to add some high-pass filtering capabilities too. That’s specially useful when you’re trying to remove trends from datasets – this happens a lot for instance in biomedical applications, e.g. ECG, where some breathing artifacts come up as low frequency trends … Read more

Minimalist low-pass filter library

So, the other day I needed to compute some low-pass filters on the fly on an Arduino Mega. By “on the fly” I mean that the filters’ parameters would eventually be recomputed mid-operation, so setting some equation with static const parameters would not cut it. Using a static filter, is, however, the most common application scenario. If … Read more