Tutorial: ESP32 with ESP-IDF and C++ in Windows

Why ESP-IDF, C++, and Windows First of all, choosing the ESP-IDF frameworks is the best choice in terms of complete supports for all ESP32 peripherals’s functionality, because it’s the official framework released by the chip’s maker (Espressif). This choice is very important for long term projects, where “investing in time” is unavoidable to manage many things. Secondly, it might be […]

Read more

Linear Interpolation Extension Employing Three-Gradient

Speed and Memory Size Optimization When developing digital signal processor for Deepstomp, we employs a cheap 32-bit processor without floating point unit. Consequently, we have to optimize all computation in fix point math. The most important effect, especially for electric guitar, is distortion effect. It is simulated using sigmoid or sigmoid-like functions such arctan, tanh, or some others. Those functions […]

Read more

Programming The Lock Bits Using Arduino ISP with AVRDUDE

Intoduction: Protecting The Arduino Uploaded Program Codes If you want to sell the final product developed with Arduino, then you need to protect the firmware from cloning. Similarly, you need the protection as well when selling an embedded software by selling the programmed microcontroller chip. Fortunately, there is a lock bits fuse that that is programmable using the ICSP interface. […]

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

State Machine and Cooperative Multitasking Model: Simplify Complex Processes Programming for Microcontroller

Introduction: Microcontroller Software Design for Complex Processes Designing a software for complex tasks or processes will be easier if we organize the whole tasks into smaller functional tasks, where the tasks communicate each-other through common variables. For a functional task, a concept of state machine has been established for defining and describing the process details, which could ease the implementation […]

Read more

Fold-Back Distortion: Producing “Phew” Effect Using Software and Hardware (Analog Electronic Circuit)

Introduction: What is Fold-Back Distortion? I was introduced to a term of  “fold-back distortion” in the past by an article from an old book which I forget what the title is, but the book contains schematic diagrams of many circuits collected from old publication of Elektor magazine (www.elektor.com). The article presents the circuit’s schematic diagram and how it works. I […]

Read more

Digital Control for Laboratory Power Supply Using Arduino

Figure 1. Arduino Duemilanove Board for Power Supply’s Digital Control Digital System for Display and Control As the second part of the first article Adjustable 1-30V Laboratory Power Supply, the digital control and display for our power supply will be presented here. The microcontroller used in the circuit is ATMEGA 328, a member of Atmel’s AVR microcontroller family. We use […]

Read more