generating board files
Posted: Mon Aug 10, 2026 1:41 am
For my research designing data loggers for biologists studying songbirds I build a lot of custom "boards" (tags). A typical tag is 0.5g and goes a year on a 5.5mAh battery that is included in the 0.5g. I used quotes around "boards" because many of these are development designs to test specific sensors or memories -- I have a sort of nucleo base (processor + custom stlink + current sensing interface) that accepts daughter cards for prototyping. Each iteration is a new board because pins change etc.
Rather than editing demo board files, I leveraged the fmpp framework that Chibios provides, but extended it somewhat. The basic chibios framework takes an xml file defining pin names and configurations. I extended this to also take an optional Pull Up/Down value for configuring the low power modes. I had codex write a tool that pulls in the board template files from chibios, merge my custom xml, and generate the usual board.c, board.h, and also a board_standby.h file that defines pulls for low power modes.
I should also say that all my software builds are orchestrated by cmake, so this tool is integrated into cmake. You can see the code and documentation here:
https://github.com/tag-designs/software ... ards/tools
Geoffrey
Rather than editing demo board files, I leveraged the fmpp framework that Chibios provides, but extended it somewhat. The basic chibios framework takes an xml file defining pin names and configurations. I extended this to also take an optional Pull Up/Down value for configuring the low power modes. I had codex write a tool that pulls in the board template files from chibios, merge my custom xml, and generate the usual board.c, board.h, and also a board_standby.h file that defines pulls for low power modes.
I should also say that all my software builds are orchestrated by cmake, so this tool is integrated into cmake. You can see the code and documentation here:
https://github.com/tag-designs/software ... ards/tools
Geoffrey