Update README.md

This commit is contained in:
2025-09-07 13:28:15 +00:00
parent 0f067e7015
commit 744dcdf25a

View File

@ -9,12 +9,11 @@
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. 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. 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. 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)
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). Suggestions welcome. Open an issue or email [tgohle@togo-lab.io](mailto:tgohle@togo-lab.io).
--- ---
@ -24,7 +23,7 @@ Suggestions welcome. Open an issue or email [tgohle@togo-lab.io](mailto:tgohle@t
0001_FireFly/ 0001_FireFly/
├─ KiCad/ # .kicad_pro, schematic, PCB, fabrication outputs ├─ KiCad/ # .kicad_pro, schematic, PCB, fabrication outputs
├─ CAD/ # 2D/3D mechanical drawings, panel outlines (if any) ├─ CAD/ # 2D/3D mechanical drawings, panel outlines (if any)
├─ Programm/ # firmware source, hex, Makefiles / Arduino sketches ├─ Program/ # firmware source, hex, Makefiles / Arduino sketches
└─ Documentation/ # assembly guide, quick start, FAQ, photos, BOM CSV └─ Documentation/ # assembly guide, quick start, FAQ, photos, BOM CSV
``` ```
@ -33,40 +32,19 @@ Suggestions welcome. Open an issue or email [tgohle@togo-lab.io](mailto:tgohle@t
## Hardware ## Hardware
- **MCU**: ATtiny45/85 (internal RC clock, no crystal). - **MCU**: ATtiny45/85 (internal RC clock, no crystal).
- **I/O**: 1× LED + series resistor. Unused pins broken out to breadboard-style pads. - **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. - **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). - **Power**: 3V DC (coin cell & & solar cell + supercapacitor with Schottky diodes to extend battery power).
- **Safety**: low voltage only. Observe polarity. - **Safety**: low voltage only. Observe polarity.
- **PCB**: hackable; access to unused ATtiny pins. - **PCB**: hackable; access to unused ATtiny pins. (big pads for beginners, clear silks, LED polarity marks)
> PCB notes: big pads for beginners, clear silks, LED polarity marks, ISP near board edge for pogo-clip.
--- ---
## KiCad ## Firmware / Arduino IDE
- **Version**: 7.x or newer recommended. - Follow `Documentation/ToGo-Lab_FireFly_ArduinoIDE_Program_Guide.md`.
- 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. - Board core: any stable ATtiny45/85 core.
- Clock: **internal**. No fuse change required for first tests. - Clock: **internal**. No fuse change required for first tests.
- Programmer: USBasp / AVRISPmkII / Arduino-as-ISP. - Programmer: USBasp / AVRISPmkII / Arduino-as-ISP.
- Open the sketch in `0001_FireFly/Programm/arduino/`. - Open the sketch in `0001_FireFly/Program/`.
- 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.
--- ---
@ -81,14 +59,12 @@ Two paths. Use what you like.
2. Power at 35 V. Current < 10 mA idle. 2. Power at 35 V. Current < 10 mA idle.
3. Program firmware over ISP. 3. Program firmware over ISP.
4. Verify Morse timing; adjust WPM in `config.h` if needed. 4. Verify Morse timing; adjust WPM in `config.h` if needed.
5. Optional: measure sleep current. 5. Optional: measure current.
--- ---
## BOM ## BOM
- `Documentation/ToGo-Lab_FireFly_BOM.csv` is the source of truth. - Follow `Documentation/ToGo-Lab_FireFly_BOM.csv` as 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.
--- ---
@ -113,5 +89,5 @@ Two paths. Use what you like.
--- ---
## Contributing ## Contributing
PRs and issues welcome. Keep it simple. Reproducible steps beat long essays. PRs and issues welcome. Keep it simple.
Photos of your build go in `Documentation/gallery/` with a short caption and license notice. Photos of your build you send me go in `Documentation/gallery/` with a short caption and license notice.