Four-Point (Three-Gradient) Linear Interpolation Extension for One Dimensional Data

Background In developing digital signal processor for Deepstomp (do-it-yourself digital multi-effect pedal platform), I have to optimize all computation in fix point math since the employed signal controller is just a cheap 32-bit processor with no floating point unit  (ARM Cortex M3 microcontroller). The most important effect especially for electric guitar is distortion effect, which can be simulated using sigmoid […]

Read more

Deepstomp: Low-Cost High-Performance DIY Multi-Effects Pedal/Stompbox Platform

Introduction The advance of today’s digital electronics bring a new hopes for many things, because now there are many choices for low cost and high performance DSP microcontrollers. For example, a small board, popularly called “blue-pill”, is advertised in an online store for only US$ 2.25 (Figure 1.-upper part). It has 72MHz 32-bit processor core with some DSP instruction sets […]

Read more

Getting 15-Bit Resolution by Multi-Channel Expansion Oversampling of 12-Bit ADC

Introduction: Increasing The Resolution of Analog-to-Digital Conversion by Oversampling Every analog-to-digital conversion is designed for specific resolution depending on the bit (binary digit) width of the conversion. For example, a 10 bit ADC with 5V reference would have 5V/1024 resolution or about 4.883 mV. The intrinsic error related to the resolution is the digital-quantization error  of ±0.5 bit (or 2.441 […]

Read more

High Precision 16-bit Audio Output Using Dual 8-bit PWM with Auto Calibration

Introduction: PWM (Pulse-Width Modulation) for Digital Audio Conversion Pulse width modulation (PWM) technique has been widely used for converting digital audio stream into audio signal since it is very simple and easy to implement. Many low-cost micro controllers include dedicated PWM controllers as their standards, and many engineers use it for many purposes. In microcontroller, the PWM controller is implemented […]

Read more

Writing Simple Software Serial Function in Arduino

Introduction: Hardware Serial Vs Software Serial Arduino hardware and software development platform provides both hardware serial and software serial communication libraries. Hardware serial communication uses the microcontroller’s internal serial interface hardware that manage the digital signaling on its pin, even computing the parity bit for data transmission or for checking the received data if required (configured),  so the CPU can […]

Read more