3.2 KiB
ToGo-Lab FireFly Morse Blinker
DIY kit: ATtiny-based Morse blinker. Through-hole. No mains. Simple on purpose.
Default license: CC-BY-NC-4.0
Intro
This is my “Hello World” hardware project on the new ToGo-Lab server. Years ago I built a tiny Morse throwie: ATtiny + one LED + one resistor, plus firmware. This version adds a supercapacitor and small solar cells. It uses the LED as a light detector, so it only blinks in the dark.
It's not a throwie anymore. Hang it anywhere with decent light (for charging) and dry conditions and let it blink Morse on its own during night.
Goal: a beginner-friendly DIY kit with clear docs and hackable firmware.
Checkout also the blog about this project Suggestions welcome. Open an issue or email tgohle@togo-lab.io.
Repo layout
0001_FireFly/
├─ KiCad/ # .kicad_pro, schematic, PCB, fabrication outputs
├─ CAD/ # 2D/3D mechanical drawings, panel outlines (if any)
├─ Program/ # firmware source, hex, Makefiles / Arduino sketches
└─ Documentation/ # assembly guide, quick start, FAQ, photos, BOM CSV
Hardware
- MCU: ATtiny45/85 (internal RC clock, no crystal).
- I/O: 1× LED + series resistor. Unused pins broken out to breadboard-style pads.
- Burning Attiny: external ISP programmer via Arduino IDE; PDIP-8 ATtiny45/85 footprint.
- Power: 3V DC (coin cell & & solar cell + supercapacitor with Schottky diodes to extend battery power).
- Safety: low voltage only. Observe polarity.
- PCB: hackable; access to unused ATtiny pins. (big pads for beginners, clear silks, LED polarity marks)
Firmware / Arduino IDE
- Follow
Documentation/ToGo-Lab_FireFly_ArduinoIDE_Program_Guide.md
. - Board core: any stable ATtiny45/85 core.
- Clock: internal. No fuse change required for first tests.
- Programmer: USBasp / AVRISPmkII / Arduino-as-ISP.
- Open the sketch in
0001_FireFly/Program/
.
Assembly
- Follow
Documentation/ToGo-Lab_FireFly_Assembly_Guide.md
. - First power-up: LED should blink test pattern. If not, recheck polarity and bridges.
Test / Bring-up
- Visual check; no shorts.
- Power at 3–5 V. Current < 10 mA idle.
- Program firmware over ISP.
- Verify Morse timing; adjust WPM in
config.h
if needed. - Optional: measure current.
BOM
- Follow
Documentation/ToGo-Lab_FireFly_BOM.csv
as source of truth.
Files to fabricate
- Gerbers and drill files from
KiCad/fab/
(board house-ready). - Project file:
0001_FireFly/KiCad/ToGo-Lab_FireFly.kicad_pro
.
Known constraints
- Through-hole only. No reflow.
- Minimal I/O to keep it beginner-friendly.
- Low power is nice but optional; optimize after the basic release.
Roadmap (tech only)
- v0.1-proto: breadboard + first PCB, single message, speed presets.
- v1.0: build guide, BOM with alternates, pilot 10 units.
- v1.1: docs polish, optional brightness setting, minor PCB tweaks.
Contributing
PRs and issues welcome. Keep it simple.
Photos of your build you send me go in Documentation/gallery/
with a short caption and license notice.