Files
0001-FireFly/README.md

116 lines
4.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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](https://creativecommons.org/licenses/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](https://https://togo-lab.io/?p=82).
ToGo-Lab Cloud [link](https://nextcloud.togo-lab.io/index.php/f/1176), actual internal link only.
Suggestions welcome. Open an issue or email [tgohle@togo-lab.io](mailto:tgohle@togo-lab.io).
---
## Repo layout
```
├── doc
│   ├── assets // pictures, diagrams..
│   └── logs // lab logs
├── firmware
│   ├── archive // archive, derived from...
│   │   └── ATTINY45_2014_MorseThrowie
│   │   ├── ATTINY45_2014_MorseThrowie.ino
│   │   └── pitches.h
│   ├── include
│ ├── FireFly_MorseBlinker // arduino IDE file
│   └── src
├── hardware
│   ├── CAD // CAD files for mechanical work
│   │   └── ToGo-Lab_FireFly_MorseThrowie.dxf
│   └── KiCad // KiCad project files
│   └── 0001-FireFly
│   ├── 0001-FireFly-backups
│   │   ├── 0001-FireFly-2025-09-07_180819.zip
│   │   └── 0001-FireFly-2025-09-07_181506.zip
│   ├── 0001-FireFly.kicad_pcb
│   ├── 0001-FireFly.kicad_prl
│   ├── 0001-FireFly.kicad_pro
│   └── 0001-FireFly.kicad_sch
├── License_-_CC_BY-NC_4.0.md
└── README.md
```
---
## 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
1. Visual check; no shorts.
2. Power at 35 V. Current < 10 mA idle.
3. Program firmware over ISP.
4. Verify Morse timing; adjust WPM in `config.h` if needed.
5. 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.