BLDC Driver

I got very bored and decided to create a brushless DC motor driver pcb. It was pretty fun going through all of the design considerations, so here we go. Architecture The BLDC driver is intended to be run by a MicroMod controller. This is mostly because the club I’m at uses MicroMods extensively, and I wanted to put this in that same ecosystem. Despite what the schematic implies, power does actually come from the power section, it’s just that power symbols in KiCad are global and don’t show up on hierarchal schematics....

2024-12-19 · Shin Umeda

Modifying GCC

Quite a while ago, I’ve integrated my exceptions work into a fork of GCC. At that point, I was already modifying GCC to suppress the libunwind symbols, so putting all of my code into GCC was a no brainer. Moreover, it isn’t actually that hard to build GCC. Editing GCC GCC is built via the autoconf build system. Autoconf is a collection of scripts that is somewhat like CMake, but written entirely in shell script and is intended to be portable for any system that runs shell scripts and has a C compiler....

2024-11-10 · Shin Umeda

Exceptions

For the past couple months, I’ve been trying to get exceptions to work on AVR as a hobby project. After several months of work, I’ve done it. Exceptions work, you can just include <vector> and it just works. How to use it Currently I put prebuilt toolchains on github. My changes are currently a bunch of patches to gcc 13.2.0, binutils, and a few others. What I actually did I’ve reimplemented libunwind, the personality function, and also cfi macros by replacing them with my own stuff....

2024-06-03 · Shin Umeda

Bitstruct

I was looking at I2C code, and noted that there was an awful lot of manual bit manipulation. Unfortunately the native solution in c++, bitfields, are non-portable and for that reason is discouraged in code bases. For that reason, I have written a library called bitstructs, which aims to do what bitfields do but portably. What are bitfields Bitfields are a bit of an obscure feature in C++, aimed at embedded developers....

2023-12-24 · Shin Umeda