summaryrefslogtreecommitdiff
path: root/docs/projects/blobcat-pcb.md
blob: 841e752986853858485a237d33e970124f3b014e (plain)
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
# blobcat PCB

2023-07-06

![Yellow PCB standing, colorful LEDs in marquee mode. Printed on PCB:
"TechJI 2023" and "owo :blobcat:"](img/blobcat-pcb/marquee.gif)

▲ There are ten more LEDs on the back.

Fun? Yes. Stupid? 100%. This is my second attempt at purely artistic PCBs
(the first failed).

TechJI is the organization I work in since 2021. I will retire from
director this month, so I'm designing this as a farewell gift.

Repo: [blobcat-pcb on Codeberg](https://codeberg.org/fkfd/blobcat-pcb)

Oh, yes, and this makes a great SMT soldering exercise for beginners
because all the parts are nowhere near out of stock (I don't know who'll
die first — me or NE555).

## Artistic design

![Board outline](img/blobcat-pcb/outline.png)

Board outline is based on [this svg of
:blobcat_paw:](https://github.com/DuckOfDisorder/BlobCats/blob/main/SVGs/BlobCats/BlobCat_Paw.svg).

I would have printed the pattern in black, if black silkscreen wasn't 10x
more expensive.

## Structural design

You can snap the board in two and solder them up. The solder joints
provide structural support and electrical conduction from batteries to
circuitry. I took the idea from a project I saw earlier, but forgot which.

## Logic design

I <s>referenced</s> copied [FrostAutumn's design on LCSC
OSHWHub](https://oshwhub.com/frostautumn/bie-zai-zhuo-li-fa-dian-v1-1).

- NE555 in astable mode provides clock signal for CD4017
- CD4017 outputs high level to exactly one LED
- Each rising edge, a different LED turns on
- Effect: marquee
- Speed adjustable with RV1

![Schematic for NE555 and CD4017](img/blobcat-pcb/logic.png)

## Power design

At first I wanted to use only one CR2032, just like FrostAutumn's design.
Datasheet says NE555 needs 4.5V, so I'll need a boost converter. With the
converter comes a lot of annoying stuff, like inductors, so I just said
"fuck it" and threw away the converter idea.

Now the board is powered by two CR2032s.

## DIY Manual

<details markdown="1">
<summary markdown="1">__If you want to build your own, expand this__</summary>

### BOM

All R, C, and D are 0603.

- U1: [NE555 SOIC-8](https://item.szlcsc.com/729488.html)
- U2: [CD4017 SOP-16](https://item.szlcsc.com/331800.html)
- R1: 2.2k (anything between 1k to 5k should work)
- R2: 10k (or somewhere near that)
- RV1: [500k](https://item.szlcsc.com/139843.html)
- C1: 10nF
- C2: 1uF
- R10-19: 120 (120 to 180 is safe)
- D10-19: LEDs, arbitrary colors, note that each reference is two LEDs
- SW1: [SPDT, 6 pins](https://item.szlcsc.com/3178990.html)
- BT1,2: No idea what the package is, I just happen to have some

### Fabrication

The fab may charge extra because they might mistake the battery board for
a separate design. I negotiated out of paying for it.

### Assembly

When soldering, use flux generously.

- Snap board into main board and battery board
- File down the four snapped bits
- Solder main board (the side with more parts first)
- Solder battery board (make sure BT1,2 don't jiggle)
- Rotate battery board by 90 degress
- Insert into main board
- solder 4 pairs of copper strips at crossing
- Insert CR2032 batteries
- Turn on SW1

#### Note on LEDs

LEDs typically have a green marking on the front side. It is the cathode.
On the PCB, a U shape surrounds the LED. The valley is the cathode. It
appears more yellow because it is connected to the ground plane.

You should use the same color for each pair, because they share the same
voltage. If you solder red and blue, only red will light up, because it
requires less voltage.

### Troubleshooting

- It doesn't work at all

Probe voltage across VCC and GND. If too low, check soldering on BT1,2 and
SW1. Make sure BT1,2 lay completely flat and don't jiggle.

If still no, check soldering on U1,2, C1,2, R1,2 and RV1. Gently nudge
pins with tweezers. Does it jiggle? If so, rework.

- An LED doesn't work

First, check polarity.

If the LED on the other side works, check if they're the same color. If
you're not sure, replace.

If neither LED works, check the resistor (R10-R19) and U2.

### Bugs

#### Battery

CR2032 batteries exceed lowest board outline, assembly tips slightly.

When using v0.4.2, solder BT1,2 (battery holders) a few millimeters above footprint.

Fixed in v0.4.3.

#### Filled zones

Thermal reliefs work too well. When soldering BT1,2 and copper strips, you
need to be patient. Heat will dissipate into filled zones. __Do not touch
the board surface__; it will scald you. Use a clamp if possible.

#### Important!

Do not put blobcat v0.4.2 on a conductive surface. It will short BT1.

</details>

## Dangers of overcomplicating

In earlier iterations, I massively overcomplicated the project by:

- routing 20 pairs of LEDs instead of 10
- driving LEDs with BJTs for fear of frying CD4017

I managed to route them, but it was a pain. What's worse, I discarded the
design, which technically marks my efforts moot. All this work for
nothing.

I don't know what the complexity of routing N parts is, but it definitely
is higher than O(N).

Don't overcomplicate your projects, kids!

![Copper layers of overcomplicated design](img/blobcat-pcb/v0.2-cu.png)

Copper layers in ▲ v0.2; ▼ v0.4

![Copper layers of current design](img/blobcat-pcb/v0.4-cu.png)