Tagged: avr
Challenge: Can you figure out how this single part boost converter works?
If you think this is easy, then I think you are missing something. This is hard. You need to know your hardware intimately to figure this one out.
Free Less Is More Hacker tee-shirt to the first correct answer in the comments. More details and demo video below…
Blinking Blue- Powering a 3.7 volt LED from a 2.4 volt coin cell with a $0.02 charge pump
Everyone loves blue LEDs and everyone loves coin cell batteries, but if you want to power a blue LED from a coin cell you will need some help. Here is a super-cheap and easy way add a to boost your LED voltage with only an additional capacitor & diode, and a little software.

AVR Coding Challenge: How many ways can you twiddle this bit?
The canonical way to set the interrupt bit on AVR is the sei
(enable interrupt) instruction, but there are many creative and devious ways to set a bit.
Before you click more, see if you can think of every possible way to set the I
bit in SREG
, then read on to see if I missed any!

Getting Real – Using Blind Send SPI to Turbocharge the Adafruit DotStar Libraryspi,
Last time, we experimented with spiritual blind-sending as a way to theoretically speed up SPI on AVR. While there were lots of fancy oscilloscope traces and impressive demo code, there is nothing like an actual, real, practical application to get people excited. Read on to see how much faster we can make the already highly optimized AdaFruit DotStar library with a little blind-sending action… (spoiler alert – the answer is lots more faster!)
Continue reading

SPI with a Blindfold On- speed up by letting go and trusting the machine
Constantly checking to see if the coast is clear feels responsible, but it wastes cycles. Sometimes it is better to leap (or load) without looking. With a little hand-coded assembly, we can run our AVR processor lock-step with the SPI hardware and blindly dump new bytes into it at precisely the right moment. Because we don’t spend any time reading and testing status bits, we can increase the maximum throughput by more than 20%. If the prospect of screamingly fast yet perfectly safe SPI turns you on, read on…
Continue reading

AVR Timer-based One Shot Explained
Last time, we made one-shot pulses using the AVR’s built in hardware timer module. Today we are going to dive deep into the datasheets to see how this technique is able to coax the normally free-running timer into generating a single pulse. Along the way, we will learn about the low level rules that govern the operation of the timer, and use a trick or two to get around those rules. Read on!…
The Perfect Pulse- generating precise one-shots on AVR8
It is possible to generate one-shot pulses on an AVR that…
- Are as narrow as a single clock cycle (63 nanoseconds!)
- Are precise to a single clock cycle
- Will run to correct completion no matter what else the processor is doing 1
- Do not require you to turn off interrupts at all (!)
- Do not require any assembly code
These pulses are generated in pure hardware. They require a couple of instructions of interruptible code to fire. Once fired, they are completely autonomous and depend only on the system clock to run to completion.
Sound cool? Read on!