The ShiftRegister PWM Library enables usage of shift register pins as pulse-width modulated (PWM) pins. Instead of setting them to either high or low, the library lets the user set them to up to 256 PWM-levels. This post serves as a documentation page for the library and is to be extended over time. Continue reading ShiftRegister PWM Library
The widely used Arduino IDE offers many easy-to-use functions, one of them is
void digitalWrite(uint8_t pin, uint8_t val) . It sets one of the microcontroller’s pins to either high or low and serves well in many cases. However, it has a really poor performance, i.e. execution time. This post analyses both, speed and interior of the digitalWrite function, and proposes alternative, high performance solutions for setting output pins.
Continue reading Port Manipulation and Arduino’s digitalWrite Performance
This post is a tutorial on how to get started on programming your Arduino in Assembly or C/C++. In order to follow you need a Windows machine and a microcontroller programmer like the Atmel-ICE.
Continue reading Program Arduino in Assembly or C/C++
This blog post explains the technical details of my Ambient Light project. If you don’t know what this project is about, watch the following video first: