Files
0001-FireFly/README.md
2025-09-07 13:18:41 +00:00

117 lines
4.2 KiB
Markdown
Raw 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.
Its 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://togo-lab.io/)
Suggestions welcome. Open an issue or email [tgohle@togo-lab.io](mailto:tgohle@togo-lab.io).
---
## Repo layout
```
0001_FireFly/
├─ KiCad/ # .kicad_pro, schematic, PCB, fabrication outputs
├─ CAD/ # 2D/3D mechanical drawings, panel outlines (if any)
├─ Programm/ # 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.
- **Programming**: 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.
> PCB notes: big pads for beginners, clear silks, LED polarity marks, ISP near board edge for pogo-clip.
---
## KiCad
- **Version**: 7.x or newer recommended.
- Open `0001_FireFly/KiCad/ToGo-Lab_FireFly.kicad_pro`.
- Run ERC/DRC and fix errors before fabrication.
- Plot: Gerbers + drill. Add a README in `KiCad/fab/` with board thickness, finish, mask color, and min track/space.
- Optional: panel outline DXF/SVG in `CAD/`.
---
## Firmware
Two paths. Use what you like.
### A) Arduino IDE
- 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/Programm/arduino/`.
- Set message and WPM in `config.h`. Build and **Upload Using Programmer**.
> Timing: internal RC. Unit may run at 1 MHz (CKDIV8) by default—adjust `F_CPU` or disable CKDIV8.
### B) avr-gcc + make
- Toolchain: `avr-gcc`, `avr-libc`, `avrdude`.
- `cd 0001_FireFly/Programm/avr/` then `make all``firefly.hex`.
- Flash: `make flash` (edit `PROGRAMMER` and `PORT` in the Makefile).
- `config.h` holds CPU clock, WPM, brightness.
---
## 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 sleep current.
---
## BOM
- `Documentation/ToGo-Lab_FireFly_BOM.csv` is the source of truth.
- Columns: `Designator,Qty,Manufacturer,MPN,Alt1,Description,Notes`.
- Keep alternates for LED and MCU. Note lot/date codes in commit messages for production.
---
## 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. Reproducible steps beat long essays.
Photos of your build go in `Documentation/gallery/` with a short caption and license notice.