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.atsln
project solution file - In Atmel Studio, under
Tools
->External Tools
, add the appropriate executable and command for flashing a hex file$(ProjectDir)Debug\$(TargetName).hex
with AVRDUDE and your AVR programmer. This assumes the default Debug configuration. Build
->Build Solution
to 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 tinyblinkware
make
to compilemake flash
to flash
sudo apt-get install gcc-avr binutils-avr avr-libc
cd tinyblinkware
make
to compilemake flash
to flash
- Ray Sun - Student, B.S. EE, Caltech, Class of 2020
This project is licensed under the terms of the MIT license.