Firmware for TinyBlink ATtiny85-based LED keychain PCBs
This repository contains an avr-gcc project for the TinyBlink series of printed circuit board (PCB) keychains, which currently includes RuddBlink and MoleBlink. TinyBlink is based on Atmel's ATtiny85 MCU, driving the ubiquitous 74HC595 shift register connected to 8 LEDs.
TinyBlink began as a personal project by Ray, an electrical engineering student at Caltech, to address the following questions
- Can a PCB keychain be compact, aesthetic, inexpensive, and easy to solder by hand, all at once?
- Can you, as a student or hobbyist, encourage those without electronics background to learn basic electronics skills?
- What can you do with 8 kB of flash and 512 B of SRAM?
as well as a means of learning AVR C development.
TinyBlinkWare provides a full C API for development of LED pattern code on TinyBlink.
The API consists of
hal/- A hardware abstraction layer (HAL) for the TinyBlink hardwaremiddleware/- TinyBlink middleware drivers, for e.g. animationsapp/- Application specific code and pattern data
A main loop exercising various features of the API for pattern generation, animation display, and brightness control is present.
- Install Atmel Studio 7.0
- Install AVRDUDE. You can also use an Arduino installation.
- Open the
tinyblinkware.atslnproject solution file - In Atmel Studio, under
Tools->External Tools, add the appropriate executable and command for flashing a hex file$(ProjectDir)Debug\$(TargetName).hexwith AVRDUDE and your AVR programmer. This assumes the default Debug configuration. Build->Build Solutionto compile- To flash, under
Tools, select the external tool that you added previously.
- Install
make, e.g. GnuWin32 - Install avr-gcc, AVRDUDE, and other AVR utilities as you see fit. Refer to the
Makefile. You can also use an Arduino installation. - Add these tools to your system PATH.
- Ensure that the AVRDUDE system configuration file is in the same directory as the executable.
cd tinyblinkwaremaketo compilemake flashto flash
sudo apt-get install gcc-avr binutils-avr avr-libccd tinyblinkwaremaketo compilemake flashto flash
- Ray Sun - Student, B.S. EE, Caltech, Class of 2020
This project is licensed under the terms of the MIT license.