Creating a Circuit Board from Scratch

I've been gettitng into creating my own circuit boards lately. I recently used KiCad to design this audio DAC circuit board. I had the board manufactured by OSHPark and assembled it myself using a solder paste stencil and my DIY solder reflow (toaster) oven.

CS4334 Audio DAC Breakout Board

The circuit board plays audio from a typical 3.5mm headphone jack. Read more...

Author: Terence Darwen
Date: July 11th, 2021

BLE Heart Rate Monitor / Collector

Wanting to learn more about creating embedded Bluetooth Low Energy (BLE) firmware, I recently purchased a Nordic nRF52840 dev kit shown below.

Nordic nRF52840 DK Development Kit

I also purchased an inexpensive BLE heart rate monitor and a small OLED display from Adafruit to use with the nRF52840 to display realtime data from the heart rate monitor. Read more...

Author: Terence Darwen
Date: August 31st, 2019

In Depth Analysis of an ARM Cortex-M4 Program

I've been working with ARM Cortex-M4 microprocessors for a little over a year and a half now. Despite reading popular embedded books and blogs, I have yet to come across an end-to-end overview of the creation and execution of a program.

STM32F4 Chip

For my own education and reference I've created such a document myself and am posting it here as I hope it may be helpful to others as well. Read more...

Author: Terence Darwen
Date: January 24th, 2018

Various STM32 Projects

I've been working on a number of smaller STM32 projects to get to know the processsor and peripherals better. These include UART communication, DMA, audio output, using I2C gyroscopes and accelerometers, configuring various interrupts, clock speeds and more.

STM32F411 Discovery Board

I think these would be helpful examples for anyone beginning with the STM32 platform. These projects can be found in my GitHub repo here. They're well commented to explain exactly what the code is doing. Read more...

Author: Terence Darwen
Date: November 17th, 2017

Using DMA with the Tiva LaunchPad (ARM Cortex-M4F) for Audio Output

I've figured out how to use DMA on the Texas Instruments "Tiva LaunchPad" ARM Cortex-M4F microcontroller when using peripherals like an audio output DAC (digital to analog converter).

Tiva LaunchPad Logic Analyzer and DAC Annotated.jpg

The DMA controller on the Tiva LaunchPad is known as "micro-DMA" and is abbreviated as "μDMA". Chapter 9 of the TM4C123G datasheet contains a large amount of detailed information concerning μDMA.  Read more...

Author: Terence Darwen
Date: May 22nd, 2017

My Awesome Phase Vocoder

I've been spending a good amount of time lately working on a phase vocoder. A phase vocoder can be used to expand or compress the time length of audio without changing the pitch. It's a common technique used in music production.

STM32F411 Discovery Board

I have an early working demo version that I've created in C++ that I think sounds quite good. Read more...

Author: Terence Darwen
Date: February 14th, 2017