In this post, I write about wall profiles in 3D printing, and I will explain why they are essential to creating stable parts with minimal filament use. Also, I will show common mistakes that result in ugly prints and discuss this topic by designing a simple 3D-printed box. Preface I am no 3D printing expert,…
Category: Learn
The Hinges and its Secrets for Perfect PETG Print
A while ago, I published the models for three different strengths of print-in-place hinges. If these are printed with PETG or ASA, they are incredibly strong and durable. This post explains why these objects print so well with challenging materials. Preface I am no 3D printing expert, and the topics I discuss here are nothing…
Better Bridging with Slicer Guides
I got questions about a particular feature you find if some of my 3D models. In this short text, I will explain why I add it and why you should add features like this too. How the Features Look Like Please check out my latest modular lantern design if you want to see the technique…
Extreme Integers – Doom from Below
As a beginner or immediate C++ programmer, you heard never mixing unsigned and signed integer types or avoiding unsigned integers at all. There was also this talk about undefined behaviour. Yet, in embedded software development, there is no way around unsigned integers – so what is behind all these warnings? Wonderful that you strive to…
How to Create a Large 3D Printed Artwork
I recently built a relatively large (100cm × 80cm) 3D printed artwork, which features a painted relief of mathematical functions. Read how I prepared the data, converted it into 3D printable tiles and converted them into printable gcode. All the images and previews are from the proof of concept I created. The final artwork is…
Filtered RPM Measurement Using PIO
The Raspberry Pi RP2040 chip is a remarkable microcontroller. The programmable IO block (PIO) is only one of many great features of this chip. In this post, I show you a method of how to utilise PIO, to capture the speed of an attached PC fan with included software filter. Most fans have a feedback…
How to Assemble the MicroMaTch Connectors with a Hammer
I mentioned in one of my posts how to assemble the MicroMaTch connectors using a hammer, but never explained the rather simple method in detail. So I made a short video, explaining the exact technique I use. If you have any questions, missed information, or simply want to provide feedback, feel free to comment below…
Event-Based Firmware Example
If you read the previous articles about event-based firmware, modularisation and templates, you may wonder how to combine all these concepts in your firmware. I created a working firmware example, based on an event loop. In contrast to the minimal example code in my articles, this one contains everything you need to start a project….
Consistent Error Handling
Error handling in firmware is a difficult task. If you decide to ignore errors, the best you can expect is a deadlock, but you could also damage the hardware. When reviewing existing code, I often find boolean return values or a system of error codes. The problem with these systems is the lack of readability….
Use Enum with More Class!
You may be familiar with enum values, but do you know about enum classes? This great feature was introduced with C++11 to solve several problems with the regular enum declaration. Now I will explain the enum class declaration and demonstrate its practical uses. Although the examples I provide are intended for the Arduino Uno, the…