63 |
64 |
65 |
--------------------------------------------------------------------------------
/src/pages/advanced-tutorial.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: ../layouts/BaseLayout.astro
3 | title: "Advanced Tutorial"
4 | show: True
5 | order: 3
6 | ---
7 |
8 | ## Front and Back Layers
9 |
10 | The PCBs we are making has 2 layers. You can tell if a pad or trace is on the front or back by it's color: Red means front and blue means back.
11 |
12 |
13 |
14 | You can also place components on both sides. To change the side which a component is on, click F. If you want to start drawing from the other side, click V and draw your traces normally. At last, traces can also switch sides in the middle of routing: press V to add a via, which will take your trace to the other side of the board.
15 |
16 | 
17 |
18 | In the PCB above, we can see that the battery holder is blue, so it's on the backside. The text of the resistors are of a darker yellow, so they are also on the back side.
19 |
20 | ## Ground Pours
21 |
22 | Routing all that GND traces is getting booring. How about we fill all the empty space with copper and get done with it?
23 |
24 | Select _Draw Filled Zones_ on the right, and press on one end of your board to start drawing. You will be prompted a menu, where you should check both "F.Cu" and "B.Cu". On the Net menu, select GND and press ok. Now you can continue drawing a area around your PCB!
25 |
26 | 
27 |
28 | After that's done, press B to fill your zone, and voila! Your ground pour is done, and you won't need to route your ground.
29 |
30 | Just one last thing: Press Control+Shift+X and place some vias all around your ground pour to conntect both sides of your board.
31 |
32 | ## A Keychain Hole
33 |
34 | If you want to add a keychain hole to the PCB, press control+shift+x to place a via, then press E and enter 5 for via hole, and 5.5 for via diameter! Now you have a plated hole :D
35 |
--------------------------------------------------------------------------------
/src/pages/index.astro:
--------------------------------------------------------------------------------
1 | ---
2 | import "../styles/global.css";
3 |
4 | import Footer from "../components/Footer.astro";
5 | import Card from "../components/Card.astro";
6 |
7 | import BaseLayout from "../layouts/BaseLayout.astro";
8 | import ThemeToggle from "../components/ThemeToggle.astro";
9 | const pageTitle = "Home Page";
10 | ---
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | Solder - make a PCB!
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
... and a grant to manufacture the printed circuit board you designed!
210 |
Plus, a soldering iron (and solder) if you don't have one!
211 |
212 | {/*
213 |
214 |
... want to make something more complex?
215 |
choose an add-on kit!
216 |
217 |
218 |
219 |
220 |
LEDs
221 |
222 |
25x 5mm LEDs (request for specific colors!)
223 |
25x 220Ω resistors
224 |
10x 6mm push buttons
225 |
226 |
this is enough to make a 3x3x3 led matrix!
227 |
228 |
229 |
Cool Parts :tm:
230 |
231 |
2x buzzers
232 |
2x vibrator motors
233 |
8x potentiometors
234 |
2x 4-pin rainbow LEDs
235 |
236 |
fun stuff here
237 |
238 |
239 |
Transistors
240 |
241 |
22x 2N2222 transistors
242 |
22x 2N3906 transistors
243 |
2x 10uF capacitors
244 |
20x 4.7k ohm resistors
245 |
6x 100 ohm resistors
246 |
2x 100k ohm resistors
247 |
2x 10k ohm resistors
248 |
4x potentiometers
249 |
250 |
this is enough two whole 555 timers!
251 |
252 |
253 |
*/}
254 |
255 |
256 |
257 |
258 | {/*
259 |
260 |
how this works
261 |
262 |
263 |
Learn about different parts and how to make a circut board in the tutorial [above].
264 |
Design your PCB!! I recommend using KiCad - it's free and open-source. Can't download it? EasyEDA is a free online alternative.
265 |
Submit your design by adding a pull request of your design to the Github Repo [here]!
266 |
Watch your mailbox for the kit we'll ship to you!
267 |
Solder your project together!
268 |
269 |
*/}
270 |
271 |
Submission Requirements
272 |
273 |
you must be in high school (or younger)
274 |
the PCB/design/art needs to be original
275 |
the PCB needs to fit within 100x100mm
276 |
use the components given in the kit
277 |
add spice - something unique with flavour - to your PCB!
278 |
279 |
280 |
281 |
You could be making...
282 |
283 |
something to go on a keychain - maybe a cat?
284 |
a name badge - for hackathons, or even conventions :3
285 |
some cool logic gates with transistors
286 |
a fidget toy!
287 |
288 |
289 |
290 |
Club leader at your school?
291 |
Run a workshop!
292 |
We'll send you a kit for every member that submits, straight to your club - and you can assemble it together too! Send some pictures of your club doing Solder for some special swag!
293 |
294 |
295 |
296 |
Teacher?
297 |
Run a Solder workshop in your class! Get your students to learn about electrical components, let them make their own PCB, and we'll ship you some kits for them to assemble what they made :D
298 |
Email acon at hackclub dot com for more info or to sign up!
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
--------------------------------------------------------------------------------
/src/pages/leaders.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: ../layouts/BaseLayout.astro
3 | title: "Leaders"
4 | show: True
5 | order: 4
6 | ---
7 |
8 | Hey you! Are you a leader of a Hack Club?
9 |
10 | ### Run a solder workshop!
11 |
12 | But why?
13 |
14 | - Solder is built with beginners in mind - but you could also make a lot of advanced, cool, wacky things with simple parts!
15 | - After you run the initial workshop and your members ship their designs, I'll ship you a giant box with everyone's kits, together! You can then run another meeting with just soldering the kits, together.
16 | - Fast review + fulfillment times!
17 | - I'll send you a super secret special limited edition exclusive sticker :eyes:
18 |
19 | The only prerequisite: make an accepted submission yourself first!
20 |
21 | To start, message @acon in slack, and join the #solder-leaders channel!
22 |
--------------------------------------------------------------------------------
/src/pages/next-steps.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: ../layouts/BaseLayout.astro
3 | title: "Next Steps"
4 | show: True
5 | order: 5
6 | ---
7 |
8 | If you're on this page, you've probably just recieved your solder kit. Congrats!
9 |
10 | ### How do I solder?
11 |
12 | What you need:
13 |
14 | - Your PCB and parts you want to assemble
15 | - a soldering iron
16 | - solder wire
17 | - a well-ventilated space
18 |
19 | Video tutorials:
20 |
21 | - https://www.youtube.com/watch?v=3jAw41LRBxU
22 |
23 | ### After assembly
24 |
25 | Test that it's working, and send a video to #solder!!
26 |
27 | ### More things to do
28 |
29 | Hack Club has a ton more amazing programs for you to learn + get resources from.
30 |
31 | Here are some of my favourites:
32 |
33 | - [Hackpad](https://hackpad.hackclub.com/): make a keyboard, get a grant to build the keyboard!
34 | - Find the full list of programs [here](https://ysws.hackclub.com/)!
35 |
36 | Was this your first time doing electronics? Unsure what to build next?
37 |
38 | Here's a fun list of ideas you could make:
39 |
40 | - something with microcontrollers
41 | - ttl with ic components
42 | - breaking out bare chips / devboards
43 |
44 | Some hardware projects I personally think would be cool for you to make:
45 |
46 | - a 3D printer!!! Infill
47 |
--------------------------------------------------------------------------------
/src/pages/parts.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: ../layouts/BaseLayout.astro
3 | title: "Learn about Parts"
4 | show: True
5 | order: 2
6 | ---
7 |
8 | In electronics, we deal with two main units: voltage (V), which is the difference of potential between two points (think of the force pushing electrons to go from one point to another), while current (I) is the amount of electrons passing through a given point.
9 |
10 | In the beginner world, there is always a common ground, called VSS, GND or 0V. It's a point where there is no potential, so all the electrons want to go there. Thus if you connect a point that has 5V to GND, electrons will naturally flow from 5V to GND.
11 |
12 | Now onto the components! All these come in the kit.
13 |
14 | ### Resistors
15 |
16 | - [SparkFun explainer](https://learn.sparkfun.com/tutorials/resistors/all)
17 |
18 | One of the fundamental parts of electrical design is resistors, which are used to limit the current flow. They are used in places where we want to stop components from using up too much electricity, and getting hot then burning itself. Each resistor has a certain resistance value, measured by ohms (Ω).
19 |
20 | They are characterized by it's resistance, given by the formula R = V / I, which is also known as Ohm’s law.
21 |
22 | If you put two resistors in series, their resistance combine: It is equivalent to one resistor that has the resistance of the sum of the two original resistors. When two or more resistors are parallel, their total resistance is given by the formula 1/Rtotal = 1/R1 + 1/R2 + 1/R3 + ...
23 |
24 | 
25 |
26 | ### Photoresistor
27 |
28 | Photoresistors are basically the same as resistors, but their resistance decreases when they are subject to light, and increases when they are in the dark.
29 |
30 | 
31 |
32 | ### Capacitors
33 |
34 | Capacitors are like tiny batteries, they charge up when you apply a voltage across them, and their internal voltage increase. And discharge when the outside voltage is lower then their internal voltage.
35 |
36 | 
37 |
38 | ### Buttons
39 |
40 | Buttons do what they do! Press em and they will conduct a current. They have 4 pins, but each pair is actually connected together so it's actually 2 pins.
41 |
42 | 
43 |
44 | ### Vibration motors
45 |
46 | Vibrates when current is passed through! Use potentiometers or resistors to limit their speed.
47 |
48 | 
49 |
50 | ### Potentiometer
51 |
52 | Potentiometers have 3 terminals, and act as a variable resistor. By connecting the two ends, they act as a constant resistor, but the pin in the middle is special, it has variable resistance from one end of the potentiometers to the middle pin. If you want adjustable resistance, just wire up one end of the potentiometer, and use the middle pin as output.
53 |
54 | 
55 |
56 | ### Transistors
57 |
58 | A transistor is a device that allows you to use change in voltage to switch things on and off. They are kind of like a valve, but instead of controlling water they control electricity. They are divided into NPN and PNP types, and they have three pins, called emmiter, collector and base (also called gate).
59 |
60 | 
61 |
62 | In the case of a NPN transistor, the emmiter is where the electrons exits, the collector where the electrons enters. The gate is basically the switch. If the voltage on the gate is higher then on the emitter, the transister will allow electricity to pass. Inversly, if the the voltage gate is lower or equal to the emitter, the transistor will not allow electrons to pass.
63 |
64 | But the switches are not perfect, electricity will also conduct from the gate to the emitter, so if you don't put a resistor on the gate, you might cause a short circuit. The current allowed to pass through the gate is also important. Each amp of current that can pass through the gate will generally allow ~100 amps of electricity to pass from the collector to the emitter. Calculate the current on the gate with ohms law! Also don't make your circuit depend too much on this, the 100 will change to 60 or 140 depending on temperature!
65 |
66 | The PNP transistor is the inverse of a NPN transistor: The base needs to be at a lower voltage than the emitter for electricity to flow. When the base is at the same voltage as the emitter, it doesn't allow any electricity to pass through.
67 |
68 | 
69 |
70 | ### Diodes
71 |
72 | Diodes are simple electrical components that only allows electricity to flow in one direction. When you see a diode on the schematic, it is often represented with a small triangle with a bar, which represents that electricity can only flow in the direction the triangle is pointing to.
73 |
74 | 
75 |
76 | ### LEDs
77 |
78 | LEDs are the same as diodes (They are called Light Emitting **Diodes** after all), but they emit light when electricity flows through it! Remeber to add a 220 ohm resistor on one end, so the LED doesn't burn itself.
79 |
80 | 
81 |
82 |
--------------------------------------------------------------------------------
/src/pages/resources.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: ../layouts/BaseLayout.astro
3 | title: "Resources"
4 | show: True
5 | order: 3
6 | ---
7 |
8 | Here are some additional resources!
9 |
10 | Youtube:
11 |
12 | - [Leo's bag of tricks](https://www.youtube.com/watch?v=SGvOmwZvhVk&list=PLLs0XGQCqp0peSsgkpm8hsWLC5C9hUg8x&index=2) - electronics fundamentals
13 | - [Ben Eater](https://www.youtube.com/c/BenEater) - lots of good transistor-transistor logic stuff
14 | - [EEVblog](https://www.youtube.com/@EEVblog) - great electrical engineering channel w/ all kinds of content
15 | - [PACE soldering guide](https://www.youtube.com/watch?v=vIT4ra6Mo0s&list=PL926EC0F1F93C1837) - learn how to solder
16 | - [Afrotechmods](https://www.youtube.com/@Afrotechmods) - super good electronics introduction channel
17 |
18 | Web:
19 |
20 | - [Falstad Circuit Simulator](https://www.falstad.com/circuit/circuitjs.html) - simulate your circuits
21 | - [so.so: how's my PCB?](https://libsharedobject.so/howsmypcb.html) - PCB routing recommendations
22 | - [r/PrintedCircuitBoard wiki](https://www.reddit.com/r/PrintedCircuitBoard/wiki/schematic_review_tips/) - tips for schematic and PCB design
23 |
24 | Books (Try googling title + pdf to get the book!):
25 |
26 | - [The Art of Electronics](https://en.wikipedia.org/wiki/The_Art_of_Electronics) - Superb book, but might be a tiny bit hard to understand
27 | - [Practical Electronics for Inventors](https://openlibrary.org/books/OL6806252M/Practical_electronics_for_inventors) - good book incase The Art of Electronics is too complex
28 |
29 | more to be added!
30 |
--------------------------------------------------------------------------------
/src/pages/start.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: ../layouts/BaseLayout.astro
3 | title: "Getting Started"
4 | show: True
5 | order: 1
6 | ---
7 |
8 | ### Join [#solder](https://hackclub.slack.com/archives/C08L288G22Y) on Slack!
9 |
10 | If you're not already on the Hack Club Slack, get in here: https://hackclub.com/slack/ - join thousands of other technical teens, ask for help, and learn about the latest Solder updates!
11 |
12 | When you finish your project, you'll also need to post it in the [#solder-ships] channel. Join it and check out what others are making!
13 |
14 | ### What's a PCB?
15 |
16 | PCB stands for printed circuit board!
17 |
18 | It's a board that links all the electronics together via copper wires that run through it. Think of it as a breadboard - but the wires are built into it and all you need to do is _solder_ your components on.
19 |
20 | See also: [SparkFun's article](https://learn.sparkfun.com/tutorials/pcb-basics/all) explaining PCBs!
21 |
22 | ### KiCad Quick Start
23 |
24 | Complete beginner? No worries!
25 |
26 | This tutorial aims to teach you how to design a printed circuit board (PCB for short) from scratch.
27 |
28 | To design PCBs, we use **KiCad**! It's free and open source. **Download it here: https://www.kicad.org/download/**
29 |
30 | If you're not able to download anything, [EasyEDA](https://easyeda.com/) is a web-based alternative.
31 |
32 | **After downloading KiCad:**
33 |
34 | Open up the app, and you will be presented with a small popup; click apply. And now you are presented with the main menu.
35 |
36 | You first need to create a new project: Go to File > New Project and create it. It should look like this:
37 |
38 | 
39 |
40 | If it looks like that, congrats - you've just started your first PCB project!
41 |
--------------------------------------------------------------------------------
/src/pages/submit.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: ../layouts/BaseLayout.astro
3 | title: "How to Submit"
4 | show: True
5 | order: 3
6 | ---
7 |
8 | ### 1. Create a Github Repo!
9 |
10 | **Include a README.md with:**
11 |
12 | - Description of your project
13 | - Bill of materials (What parts did you use? Have a list of those items, plus their quantities!)
14 | - Screenshots of the schematic, PCB, and 3D view of your board!
15 | - Your slack username (for verification)
16 |
17 | **Also include in the repo:**
18 |
19 | - Gerber and drill files of your board!
20 |
21 | [Here's an example of a Github repo](https://github.com/cheyao/Open555) that @cyao made of Open555: a 555 IC, entirely with THT transistors!
22 | 
23 |
24 | ### 2. Ship it on Slack!
25 |
26 | If you're not already on the Hack Club Slack, join here: https://hackclub.com/slack/!!
27 |
28 | Head on over to [#solder-ships](https://hackclub.slack.com/archives/C08N2CN8E2C)!
29 |
30 | Post what you made - _ship_ it by sharing it with the world, via a slack message!
31 |
32 | **In the slack message, include:**
33 |
34 | - Github repo link
35 | - Screenshot of your schematic, PCB, and 3d view of the PCB
36 | - Description explaining what your circuit does!
37 |
38 | **Other things you could include:**
39 |
40 | - Let me know if this is your first PCB / time using KiCad!
41 | - Why did you decide to make that specific design?
42 | - Was there a particularily challenging part?
43 | - What did you learn while making it?
44 | - Advice for others?
45 | - Anything else you want to mention!
46 |
47 | [Here's an example of a ship post](https://hackclub.slack.com/archives/C08N2CN8E2C/p1744198018400559) that @cyao made!
48 | 
49 |
50 | Anyone will be free to respond with feedback in thread.
51 |
52 | After either @acon or @cyao (on Slack) reacts with the ✅ emoji, it's approved! We'll DM you with a shipping form to fill out to get your kit :D
53 |
54 | ---
55 |
56 | ### Here from a workshop?
57 |
58 | Your club leader (or teacher) will give you a form to fill out!
59 |
60 | If you're in the Slack, you should still post it in #solder-ships. You'll get great feedback, and have others check over if your circuit is working! It'll also confirm whether your submission got accepted or not.
61 |
62 | ### Club leader?
63 |
64 | DM @acon on slack to get a form for your members to fill out to ship, instead of going through the Slack flow!
65 |
66 | Post a picture of your club meeting doing Solder in #solder-ships to get a special item shipped to you :D
67 |
--------------------------------------------------------------------------------
/src/pages/tutorial.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: ../layouts/BaseLayout.astro
3 | title: "Tutorial"
4 | show: True
5 | order: 2
6 | ---
7 |
8 | For this tutorial we are just going to make two button controlled LEDs. There are two parts of making this: first the schematic, then the PCB!
9 |
10 | The software we are going to use is KiCAD, an free and open source software that is super easy to use, but you will need to install it. Can't or don't want to install an application? Jump to the [EasyEDA guide](#easyeda-tutorial)!
11 |
12 | ## KiCAD Tutorial
13 |
14 | Firstly, [download KiCAD from their website](https://www.kicad.org/)!
15 |
16 | ### Keyboard shortcuts
17 |
18 | KiCad has a lot of keyboard shortcuts that are useful to know! Here's a list:
19 |
20 | - a: add a component
21 | - p: place an item (electric and ground)
22 | - r: rotate item
23 | - m: pick up item and move it
24 | - g: grab the item and move it, including attached wires
25 | - w: begin drawing a wire connection
26 | - delete: delete item
27 |
28 | ### Making the Schematic
29 |
30 | A schematic is basically a diagram of the electrical circuit that expresses what parts you use and how they are connected via wires.
31 |
32 | Note _where_ you place your parts in the schematic doesn't convey IRL positioning - place it where it's convenient!
33 |
34 | Click here to open the schematic editor:
35 |
36 | 
37 |
38 | For making three button controlled LEDs, we need to add our parts in! In KiCad, press A to _add_ a part. A pop-up should appear; first, search for LED, then press _ok_ to add! Place it anywhere.
39 |
40 | 
41 |
42 | Repeat this for adding a battery (Battery_cell) to power the device, and two resistors (R) for the LEDs. Press R to rotate items. It should look something like this when you're done!
43 |
44 | 
45 |
46 | We're using CR2032s as batteries, which are 3V! So, on the + side of the terminal, it will be 3V, and on the opposite side, it will be ground.
47 |
48 | When connected to the battery, the LEDs (called Light Emitting Diodes) will emit light! The use of resistors is essential - they prevent too much electricity from passing through the LEDs. Without a resistor, the hungry LEDs would gobble up as much electricity as possible, and end up too hot and burn itself. (No, there won't be any fires, they just make a small pop and turn black.) The resistors we're using are 220ohms!
49 |
50 | Time to add wires! Wires are basically paths that electricity will flow through. We would like to wire the positive end of our battery (the end where there is a +: Where electricity departs) up to the back of the LEDs. Then at the we wire the output of our LEDs up to the resistors. (You can change the order of the LED and resistor!) After that we will want to wire the other end of the reistor to the ground of the battery.
51 |
52 | To do this, hover your mouse over one end of a symbol, and press W to start wiring. Drag the wire around and wire your parts together. You should have something like this:
53 |
54 | 
55 |
56 | Great job! Now it's the time to associate footprints to the symbols. Footprints define the what the copper connections on the physical PCB look like. There are two big types of component footprints: THT and SMD.
57 |
58 | 
59 |
60 | THT components need a hole on the PCB to be mounted (Normally a yellow circle on kicad), they will also have iron legs sticking out of the component, they are easy to solder. SMD components doesn't need a hole on the PCB to be mounted, are typically smaller and super hard to solder. You generally don't want to solder these by hand.
61 |
62 | We will be using the THT footprints. Press the following button on the top bar of KiCad:
63 |
64 | 
65 |
66 | You should be presented with a table of all the components you have placed. Press a symbol's row, find the corresponding footprint using the following table, search it up in the top bar and double click the right entry on the right hand side. Repeat this for each component.
67 |
68 | | Symbol | Footprint |
69 | | --------------- | ------------------------------------------------ |
70 | | R | R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal |
71 | | LED | LED_D5.0mm |
72 | | SW_Push | SW_PUSH_6mm |
73 | | Battery | BatteryHolder_Keystone_3034_1x20mm |
74 | | NPN | TO-92L_HandSolder |
75 | | PNP | TO-92L_HandSolder |
76 | | C | CP_Radial_D8.0mm_P5.00mm |
77 | | R_Potentiometer | Potentiometer_Vishay_T73YP_Vertical |
78 | | Conn_01xN_Pin | PinHeader_1xN_P2.54mm_Vertical (**Replace N!**) |
79 | | Motor_DC | PinHeader_1x02_P2.54mm_Vertical |
80 | | R_Photo | R_LDR_5.1x4.3mm_P3.4mm_Vertical |
81 |
82 | 
83 |
84 | After that, click _Ok_! Your schematic should look the same, but now the footprints are connected.
85 |
86 | Save the schematic - you're done with it! Now, onto the PCB!
87 |
88 | ### Making the PCB
89 |
90 | Now go back to the starting KiCAD window, and press this button to open the PCB editor:
91 |
92 | 
93 |
94 | After that, click Update PCB from schematic at the top of the screen - this gets what you made in the schematic into the PCB:
95 |
96 | 
97 |
98 | You should now have parts under your mouse, click anywhere to place them.
99 |
100 | 
101 |
102 | If you don't see any parts, but there are blue lines, expand the "Layer Display Options" menu on the right side and check "Normal".
103 |
104 | 
105 |
106 | This PCB is a design of your IRL circuit board, so this time the placement of components will matter - where you place them is where they turn out on the final product, so think carefully where they should go!
107 |
108 | Click on a component and press M to drag them around, and press R to rotate. If you want to place a component on the back side, press F to flip. Here is the placement I'm going with:
109 |
110 | 
111 |
112 | Remember to not block where the battery slides in with parts!
113 |
114 | Now, go on the right menu bar, and select "Edge.Cuts". This is the outline of your board! Using the polygon tool, you can draw an outline for your board. I'm going for a cat-like shape!
115 |
116 | I highly recommend drawing a more detailed SVG (ie: Figma), then import it in by File > Import > Graphics.
117 |
118 | 
119 |
120 | Great job! The only thing left is wiring the board. Click the wire symbol on the right sidebar, then click on any component pad. It should dim the entire screen, and show you which direction you need to go with a thin blue line and highlight the destination:
121 |
122 | 
123 |
124 | **Attention**! Wires and pads of different colors (except golden) can't be connected together directly! You must via to the other side.
125 |
126 | If you want to start routing from the back side, select "B.Cu" on the right menu bar.
127 |
128 | Continue until there are no thin blue lines (called ratlines) on the screen! Because my design is simple, I only need to wire on one side. The final product should look something like this:
129 | 
130 |
131 | Good work! You're almost done with the PCB. Let's run the DRC to make sure the PCB works. Go to Inspect > Design Rules Checker to open the pop-up, then run it. If you get any silkscreen errors, that's alright, but make sure there are no more errors!
132 |
133 | 
134 |
135 | If there are, please resolve them! Otherwise, it's time to pretty up the PCB! With the _Draw Text_ button on the right of the screen you can add some text to the PCB:
136 |
137 | 
138 |
139 | Be sure to set the layer as "F.Silkscreen"! After that, it's time for some graphics. Grab a picture on google or draw one yourself, then open up Image Converter in KiCAD. Load a source image, and drag the black white threshold slider on the right to tweak the output.
140 |
141 | 
142 |
143 | When your satisfied, check _Footprint_ as the output format, then click _Export to Clipboard_ and paste in the PCB window. If you see "G\*\*\*" written on your drawing, just click on it and press delete. Now look at the beatiful drawing you have on your PCB!
144 |
145 | 
146 |
147 | If it's too big or too little, press M and use the ruler tool to measure the desired size. Now go back to the converter window, then change the output size to the measured size and copy then paste again.
148 |
149 | Lastly, we only need to generate the final fabrication file! Go back to the main KiCAD window, and click "Plugin and Content Manager".
150 |
151 | 
152 |
153 | Search up "Fabrication Toolkit" and install it. Now go back to the PCB editor, you should see a new button appear, click it and click generate
154 |
155 | 
156 |
157 | Contgrats on making a PCB! You should find a .zip of your project in the "production" subfolder of your project's directory - thats the file that you need to send to the manufaturers! All that's left is to ship your project :D
158 |
159 | Make a Github repo, and add all your files in!
160 |
161 | One last step before submission - please take a screenshot of your schematic, PCB, and 3D view (Press Control+3), then put it inside your README.md of your project! (Create a README if you don't have one.)
162 |
163 | Now, head on to the How to Submit to go through the submission flow!
164 |
165 | ## EasyEDA Tutorial
166 |
167 | EasyEDA is a free web based PCB design software, go start using it [here](https://easyeda.com/)! Click design online, then Std edition to start.
168 |
169 | ### Making the Schematic
170 |
171 | A schematic is basically a diagram of the electrical circuit that expresses what parts you use and how they are connected via wires.
172 |
173 | Note _where_ you place your parts in the schematic doesn't convey IRL positioning - place it where it's convenient!
174 |
175 | Click here to open the schematic editor:
176 |
177 | 
178 |
179 | For making three button controlled LEDs, we need to add our parts in! In EasyEDA, go open the Common Library on the left side, find a resistor, and click on the triangle on it's bottom right. Select "R-Axial-0.6" and place two of them!
180 |
181 | 
182 |
183 | Repeat this for adding a two LEDs, this time selecting "LED-TH-5mm". Press R to rotate items. If you want to add buttons, select "K4-6×6_TH" in the switch/key part. And for the transistors, find the transistor symbol and select one of the TO92 options from the drop down menu.
184 |
185 | Now we need to add our battery holder: Click on the Library button on the left hand side, select LCSC and then search for C964834. Now click place.
186 |
187 | 
188 |
189 | Your schematic should look something like this when you're done!
190 |
191 | 
192 |
193 | We're using CR2032s as batteries, which are 3V! So, on the + side of the terminal (Side with 1 written on it), it will be 3V, and on the opposite side, it will be ground.
194 |
195 | When connected to the battery, the LEDs (called Light Emitting Diodes) will emmit light! The use of resistors is essential - they prevent too much electricity from passing through the LEDs. Without a resistor, the hungry LEDs would gobble up as much electricity as possible, and end up too hot and burn itself. (No, there won't be any fires, they just make a small pop and turn black.) The resistors we're using are 220ohms!
196 |
197 | Time to add wires! Wires are basically paths that electricity will flow through. We would like to wire the positive end of our battery (the end where there is a +: Where electricity departs) up to the back of the LEDs. Then at the we wire the output of our LEDs up to the resistors. (You can change the order of the LED and resistor!) After that we will want to wire the other end of the reistor to the ground of the battery.
198 |
199 | To do this, hover your mouse over one end of a symbol, press W and click on it to start wiring. Drag the wire around and wire your parts together. You should have something like this:
200 |
201 | 
202 |
203 | Save the schematic - you're done with it! Now, onto the PCB!
204 |
205 | ### Making the PCB
206 |
207 | Now and press this button to convert your schematic to a PCB:
208 |
209 | 
210 |
211 | This PCB is a design of your IRL circuit board, so this time the placement of components will matter - where you place them is where they turn out on the final product, so think carefully where they should go!
212 |
213 | Click on a component and you can drag them around, you can also press R to rotate. If you want to place a component on the back side, you can change it's layer on the top right. Here is the placement I'm going with:
214 |
215 | 
216 |
217 | Remember to not block where the battery slides in with parts!
218 |
219 | You should see a violet rectangle, click on it and press delete.
220 |
221 | Now, go on the floating layers and objects menu, and select "BoardOutLine". This is the outline of your board! Press W and you can draw an outline for your board. I'm going for a cat-like shape!
222 |
223 | I highly recommend drawing a more detailed SVG (ie: Figma), export it as DXF then import it in by File > Import > Graphics and select mm as units, then "BoardOutLine" as the layer.
224 |
225 | 
226 |
227 | Great job! The only thing left is wiring the board. Switch back to the TopLayer on the layers and objects menu, click W to enter wireing mode, then click on any component pad. It and show you which direction you need to go with a thin white line:
228 |
229 | 
230 |
231 | **Attention**! Wires and pads of different colors (except gray) can't be connected together directly! You must via to the other side by pressing V and adding a via.
232 |
233 | If you want to start routing from the back side, select "BottomLayer" on the layers and options menu.
234 |
235 | Continue until there are no thin white lines (called ratlines) on the screen! Because my design is simple, I only need to wire on one side. The final product should look something like this:
236 |
237 | 
238 |
239 | Good work! You're almost done with the PCB. Let's run the DRC to make sure the PCB works. Press the DRC button on the top right to run it and the results will be on the left side. Make sure there are no more errors!
240 |
241 | 
242 |
243 | If there are, please resolve them! Otherwise, it's time to pretty up the PCB! With the _Text_ button (Or press S) on the pcb tools menu you can add some text to the PCB:
244 |
245 | 
246 |
247 | Be sure to select the layer "TopSilkScreen" beforhand! After that, it's time for some graphics. Grab a picture on google or draw one yourself, then open up File > Import > Image. Load a source image, and drag the sliders tweak the output.
248 |
249 | 
250 |
251 | When your satisfied, click insert image to PCB. Now look at the beatiful drawing you have on your PCB!
252 |
253 | 
254 |
255 | If it's too big or too little, press M and use the ruler tool to measure the desired size. Now go back to the converter window, then change the output size to the measured size in the importer.
256 |
257 | Lastly, we only need to generate the final fabrication file! Select Fabrication > One-click order PCB, and then press generate gerber. You will get a .zip file, that's your fabrication file! (Don't unzip it!)
258 |
259 | Contgrats on making a PCB! You should find a .zip of your project in the "production" subfolder of your project's directory - thats the file that you need to send to the manufaturers! All that's left is to ship your project :D
260 |
261 | Make a Github repo, and add all your files in!
262 |
263 | One last step before submission - please take a screenshot of your schematic, PCB, and 3D view (Press Control+3), then put it inside your README.md of your project! (Create a README if you don't have one.)
264 |
265 | Now, head on to the How to Submit to go through the submission flow!
266 |
267 |
--------------------------------------------------------------------------------
/src/styles/global.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&display=swap");
2 | @import "tailwindcss";
3 |
4 | html {
5 | scroll-behavior: smooth;
6 | margin: 0;
7 | }
8 |
9 | body {
10 | font-family: "Archivo", sans-serif;
11 | background-image: url("/bg2.svg");
12 | background-repeat: repeat;
13 | margin: 0;
14 | }
15 |
16 | html[data-switcherloaded="true"] body {
17 | transition:
18 | background-color 0.5s ease,
19 | background-image 0.5s ease,
20 | color 0.5s ease;
21 | }
22 |
23 | /* Default theme is light, .dark class is applied for dark mode */
24 | html.dark body {
25 | background-color: #141f2e;
26 | background-image: url("/bg3.svg");
27 | color: white;
28 | }
29 |
30 | /* Keep the media query as a fallback when no preference is saved */
31 | @media (prefers-color-scheme: dark) {
32 | html:not(.light) body {
33 | background-color: #141f2e;
34 | background-image: url("/bg3.svg");
35 | color: white;
36 | }
37 |
38 | html:not(.light) .about-solder {
39 | color: #e5aeae;
40 | }
41 | }
42 |
43 | .about-solder {
44 | color: #ff6860;
45 | }
46 |
47 | html:not(.light) .about-solder {
48 | color: #ff9d9d;
49 | }
50 |
51 | .bobbing {
52 | animation: bobbing 1.5s infinite ease-in-out;
53 | }
54 |
55 | /* Define the bobbing animation */
56 | @keyframes bobbing {
57 | 0%,
58 | 100% {
59 | transform: translateY(0);
60 | }
61 | 50% {
62 | transform: translateY(-10px);
63 | }
64 | }
65 |
66 | button {
67 | transition:
68 | transform 0.1s ease-in-out,
69 | box-shadow 0.2s ease-in-out;
70 | }
71 |
72 | button:hover {
73 | transform: scale(1.1); /* Slightly enlarge the button */
74 | }
75 |
76 | @keyframes pop {
77 | 0% {
78 | transform: scale(1);
79 | }
80 | 50% {
81 | transform: scale(1.03);
82 | }
83 | }
84 |
85 | .hover\:animate-pop:hover {
86 | animation: pop 0.3s ease-in-out;
87 | }
88 |
89 | .popping {
90 | transition: transform 0.16s ease-in-out;
91 | }
92 |
93 | .popping:hover {
94 | transform: scale(1.1);
95 | }
96 |
97 | h1 {
98 | display: block;
99 | font-size: 2em;
100 | margin-top: 1em;
101 | margin-bottom: 0em;
102 | margin-left: 0;
103 | margin-right: 0;
104 | font-weight: bold;
105 | }
106 |
107 | h2 {
108 | display: block;
109 | font-size: 1.5em;
110 | margin-top: 0.83em;
111 | margin-bottom: 0.83em;
112 | margin-left: 0;
113 | margin-right: 0;
114 | font-weight: bold;
115 | }
116 | h3 {
117 | display: block;
118 | font-size: 1.4em;
119 | margin-top: 1.5em;
120 | margin-bottom: 1em;
121 | margin-left: 0;
122 | margin-right: 0;
123 | font-weight: bold;
124 | color: #ff607a;
125 | }
126 | h4 {
127 | display: block;
128 | margin-top: 1.33em;
129 | margin-bottom: 1.33em;
130 | margin-left: 0;
131 | margin-right: 0;
132 | font-weight: bold;
133 | }
134 | h5 {
135 | display: block;
136 | font-size: 0.83em;
137 | margin-top: 1.67em;
138 | margin-bottom: 1.67em;
139 | margin-left: 0;
140 | margin-right: 0;
141 | font-weight: bold;
142 | }
143 | h6 {
144 | display: block;
145 | font-size: 0.67em;
146 | margin-top: 2.33em;
147 | margin-bottom: 2.33em;
148 | margin-left: 0;
149 | margin-right: 0;
150 | font-weight: bold;
151 | }
152 |
153 | table {
154 | width: 70%;
155 | border-collapse: collapse;
156 | margin: 20px 0;
157 | }
158 |
159 | th,
160 | td {
161 | padding: 10px;
162 | border: 1px solid #ddd;
163 | text-align: left;
164 | }
165 |
166 | th {
167 | background-color: #3498db;
168 | color: white;
169 | }
170 |
171 | img {
172 | max-width: 45rem;
173 | }
174 |
175 | hr {
176 | margin-bottom: 2rem;
177 | }
178 |
179 | div.markdown a {
180 | color: #609aff;
181 | }
182 |
183 | div.markdown a:hover {
184 | color: #ff607a;
185 | }
186 |
187 | div.markdown li {
188 | display: list-item;
189 | }
190 |
191 | div.markdown ul {
192 | display: block;
193 | list-style-type: disc;
194 | margin-top: 1em;
195 | margin-bottom: 1em;
196 | margin-left: 0;
197 | margin-right: 0;
198 | padding-left: 40px;
199 | }
200 |
201 | div.markdown ol {
202 | display: block;
203 | list-style-type: decimal;
204 | margin-top: 1em;
205 | margin-bottom: 1em;
206 | margin-left: 0;
207 | margin-right: 0;
208 | padding-left: 40px;
209 | }
210 |
211 | div.markdown p:last-child {
212 | padding-bottom: 5rem;
213 | }
214 |
215 | img[alt=part] { width: 200px; }
216 |
--------------------------------------------------------------------------------
/src/styles/tutorial.css:
--------------------------------------------------------------------------------
1 | p {
2 | margin-top: 1.15rem;
3 | margin-bottom: 1.15rem;
4 | }
5 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "astro/tsconfigs/strict",
3 | "include": [".astro/types.d.ts", "**/*"],
4 | "exclude": ["dist"]
5 | }
6 |
--------------------------------------------------------------------------------