1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
---
description: "Big 3D printed RGB LED seven segment display clock"
created: 2023-11-14
---

[TOC]
## Links
- [Firmware source code - GIT](https://git.node5.net/firmware/seven-segment-display/) My custom C++ firmware check this out
- [youtube.com - Segmented Displays by Posy](https://www.youtube.com/watch?v=RTB5XhjbgZA)
- [Wikipedia Seven-segment display](https://en.wikipedia.org/wiki/Seven-segment_display) Contains standard segment naming
- [Segment design SVGs](http://www.michieldb.nl/other/segments/)
## Parts
- [WS2811 Aliexpress White PCB Ordinary, 5m 60 IP30](https://www.aliexpress.com/item/2000165819.html)
# Design / planing / idea phase
I got further interested in 7-segmented displays after a fellow hacker made a project with it,
and i wanted to explore my fondness of this delightful concept.
I decided to make a clock with it, but this is a concept that has been done before.
So i wanted some twist on the concept, and remembered this wonderful video:
[youtube.com - Segmented Displays by Posy](https://www.youtube.com/watch?v=RTB5XhjbgZA).
Hence i chose a design (Classic black) optimized for displaying numbers, but also one that still retained the boxy look.
Credit to the designer [Michiel de Boer(Posy)](http://www.michieldb.nl/).
TODO Wire diagram
## Diffusion

I tested both clear and white PLA with different layer heights by printing squares. Then i moved onto the distance.
I determeined 2 layers of white PLA at a distance of 1.5 cm. was a good compromise.
## CAD
### Files
- Project box
- [Box - FreeCAD](CAD/Box/7 segment display box.FCStd)
- [Box - STL](CAD/Box/7 segment display box.stl)
- [Lid - STL](CAD/Box/7 segment display box lid.stl)
- Digit
- [Digit - FreeCAD](CAD/Digit/7 segment display.FCStd)
- [Digit top diffuser - STL](CAD/Digit/7 segment display top diffuser.stl)
- [Digit bottom - STL](CAD/Digit/7 segment display bottom.stl)
### Digits
I used FreeCAD to design a bottom and top piece based on the SVG files.
### Box
I used [this GRABCAD model](https://grabcad.com/library/arduino-dc-barrel-jack-2-1mm-for-kicad-1)
License: [GRABCAD Non-Comercial Licenses](https://help.grabcad.com/article/246-how-can-models-be-used-and-shared)
TODO Add picture of DC barreljack
## Wiring

## Firmware
### Fading effect
<video controls style="width: 100%">
<source src="Minute fade.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
I chose to add a slow fade effect as to not disturb ones peripheral vision.
### Color change timelapse
<video controls style="width: 100%">
<source src="Timelapse.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
The color changes hue overtime, but it does so slowly, as to not be noticeable.
I've later changed this color hue to be derived from the time of day,
so it will always have the same color at the same time of day.
This change was easy to implement, due to my use of [HSV](https://en.wikipedia.org/wiki/HSL_and_HSV) See
[this commit](https://git.node5.net/firmware/seven-segment-display/commit/?id=99da4c6eb43516c266fb33dc84d43d5d6f655464)
Now your brain can become wired to think, wow the clock is red, it's pretty late, i should go home.
### Hour change animation
I've also added a rainbow vomit animation once an hour, that intentionally grabs your attention,
to make you more aware of the passing time. As it's easy to lose track of time.
|