-
Birding #2: Crescent Beach State Park
While not necessarily a popular spot for birding, Crescent beach is a calm, quiet spot in the off-season that my wife and I like to frequent. The beach is even more unusual in the winter with half-plowed roads, a handful of parked cars, and a coating of snow that gives …
Read more... -
Birding #1: Capisic Pond
For an early start on my 2026 resolution to make birding a more consistent hobby, I took a Sunday morning visit to Capisic Pond. It's a small, thin strip of pond and park around a quarter-mile long, just a short drive from home. The Maine Birding Trail guide (an Xmas …
Read more... -
Mapping the 180k IPs of git repo crawlers
For the past few years I have been running a Gitea instance at code.bitgloo.com where I host git repositories for personal and professional projects. In the past couple of weeks, my server (a poor toaster NAS) began to get slammed at this domain: traffic was coming from seemingly …
Read more... -
I2S master emulation with SPI peripheral
Background
My journey to realize ultra-low-power audio sensing has been based around I2S MEMS microphones and ESP32 and STM32 microcontrollers. I first developed a more efficient A-weighting filter while I transistioned to the STM32 family, a choice made since ESP32 simply cannot do low-power data acquisition.
The next step is …
Read more... -
Monitoring idle time and maximizing MCU peripherals
I've been working on firmware for a board with numerous analog inputs, analog outputs, diagnostics collecting, and I/O with an Ethernet module. An STM32F3 microcontroller was chosen for the job, with ST's MX code generating providing the HAL and FreeRTOS (a big help in bringing up the board faster …
Read more... -
Setting up Ada for an STM32 microcontroller
Ada is an old programming language that prioritizes correctness and safety through specifications made at compile-time; for example, types can be constrained to a specific range (e.g.
Read more...0 .. 10), so if yourDelayfunction takes aMillisecondsargument between zero and 10,000, then the Ada compiler will ensure … -
Designing an efficient A-weighting filter
A-weighting is often used when measuring sound pressure (i.e. loudness) to make a recorded audio clip more representative of what would be perceived by the human ear. It works by increasing or decreasing the magnitude of audio frequencies according to what humans can hear. This leads to the A-weighted …
Read more... -
Alee
Alee aims to prove the effectiveness of programming microcontrollers in Forth for both education as well as production. It consists of two projects:
- Alee Forth, a compact, portable, and standards-compliant Forth implementation.
- Alee devboard, an Arduino-form-factor development board featuring an MSP430FR microcontroller with FRAM.
The word alee is a nautical …
Read more... -
DSP PAW
source repo: https://code.bitgloo.com/bitgloo/dsp-paw
hackaday: https://hackaday.io/project/190725-dsp-pawThe DSP PAW project provides a complete solution for hands-on teaching of digital signal processing (DSP). It began as my capstone project during university, continued as an undergraduate research project, and has further grown towards a …
Read more... -
stm-game
stm-game was a personal project meant for studying some low-power design concepts, in the form of a small, hand-held gaming device. This project also involved my first attempt at designing, ordering, and soldering together a PCB prototype.
The device is built around the STM32L011F4 in its TSSOP20 package. This microcontroller …
Read more...
