├── .github └── pull_request_template.md ├── .gitignore ├── .vscode ├── extensions.json └── launch.json ├── LICENSE ├── README.md ├── astro.config.mjs ├── bun.lockb ├── package-lock.json ├── package.json ├── prettierrc ├── public ├── animelogo.png ├── arrow2.svg ├── arrow3.svg ├── arrows.svg ├── arrows4.svg ├── bg.svg ├── bg2.svg ├── bg3.svg ├── cardnum.svg ├── favicon.svg ├── fonts │ └── BradleyHandITCTT-Bold.ttf ├── hardware │ ├── battery.png │ ├── breadboard.png │ ├── capacitor.png │ ├── cell.png │ ├── diode.png │ ├── leds.png │ ├── motor.png │ ├── photoresistor.png │ ├── potentiometer.png │ ├── push.png │ ├── resistor.png │ ├── resistors.png │ ├── shark.png │ ├── timer.png │ ├── transistor1.png │ ├── transistor2.png │ └── wires.png ├── orph.svg ├── tiling.png └── tutorial │ ├── add-text.png │ ├── art.png │ ├── art.png~ │ ├── battery.png │ ├── board-outline.png │ ├── button.png │ ├── capacitor.png │ ├── diode.png │ ├── draw-rectangle.png │ ├── drcbutton.png │ ├── easyeda-add-bat.png │ ├── easyeda-add-resistor.png │ ├── easyeda-art.png │ ├── easyeda-drc.png │ ├── easyeda-make-project.png │ ├── easyeda-pcb.png │ ├── easyeda-pcb1.png │ ├── easyeda-pcb1.png~ │ ├── easyeda-pcb2.png │ ├── easyeda-pcb2.png~ │ ├── easyeda-pcb3.png │ ├── easyeda-pcb4.png │ ├── easyeda-sch-to-pcb.png │ ├── easyeda-sch.png │ ├── easyeda-sch1.png │ ├── easyeda-silkscreen.png │ ├── easyeda-text.png │ ├── fabrication-toolkit.png │ ├── frontback.png │ ├── invisible.png │ ├── led.png │ ├── link.png │ ├── linked.png │ ├── motor.png │ ├── multiside.png │ ├── parts-placed.png │ ├── parts-unplaced.png │ ├── pcb.png │ ├── pcb1.png │ ├── pcb2.png │ ├── pcb3.png │ ├── pcb4.png │ ├── pcb5.png │ ├── pcb6.png │ ├── pcb7.png │ ├── pcb8.png │ ├── pcb9.png │ ├── photoresistor.png │ ├── plugins.png │ ├── potentiometer.png │ ├── pour.png │ ├── resistor.png │ ├── routed.png │ ├── routing.png │ ├── sch1.png │ ├── sch2.png │ ├── sch3.png │ ├── sch4.png │ ├── sch5.png │ ├── sch6.png │ ├── schematic-nc.png │ ├── schematic-wc.png │ ├── schematic.png │ ├── silkscreen.png │ ├── start.png │ ├── submit1.png │ ├── submit2.png │ ├── tht-vs-smd.png │ ├── transistor.png │ └── update-from-schematic.png ├── src ├── components │ ├── Card.astro │ ├── Footer.astro │ ├── Sidebar.astro │ ├── TOC.astro │ └── ThemeToggle.astro ├── layouts │ └── BaseLayout.astro ├── pages │ ├── 404.astro │ ├── advanced-tutorial.md │ ├── index.astro │ ├── leaders.md │ ├── next-steps.md │ ├── parts.md │ ├── resources.md │ ├── start.md │ ├── submit.md │ └── tutorial.md └── styles │ ├── global.css │ └── tutorial.css └── tsconfig.json /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | 5 | 6 | ## Submission Checklist: 7 | 8 | 9 | 10 | - [ ] I am a current high school, middle school, or home schooled student. 11 | - [ ] I am 18 or under 12 | - [ ] I have joined the [`#solder`](https://hackclub.slack.com/archives/C056AMWSFKJ) channel on [Slack](https://hackclub.com/slack/?event=onboard) 13 | - [ ] I made this board from scratch, even if I followed a tutorial 14 | - [ ] I wrote a `README.md` inside the project folder 15 | - [ ] Uploaded a `gerber.zip` your project folder 16 | - [ ] Created a folder called `src` and uploaded design files 17 | - [ ] Uploaded screenshot of your PCB and schematic to your README.md 18 | - [ ] PCB is under 100x100mm 19 | - [ ] If outside the US I've checked that I can afford the customs charges in my country (there is a chance that there will be customs - it isn't covered by Hack Club) 20 | 21 | 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # build output 2 | dist/ 3 | # generated types 4 | .astro/ 5 | 6 | # dependencies 7 | node_modules/ 8 | 9 | # logs 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | pnpm-debug.log* 14 | 15 | 16 | # environment variables 17 | .env 18 | .env.production 19 | 20 | # macOS-specific files 21 | .DS_Store 22 | 23 | # jetbrains setting folder 24 | .idea/ 25 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["astro-build.astro-vscode"], 3 | "unwantedRecommendations": [] 4 | } 5 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "command": "./node_modules/.bin/astro dev", 6 | "name": "Development server", 7 | "request": "launch", 8 | "type": "node-terminal" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 Hack Club 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # solder 2 | 3 | new ysws!! learn how to pcb + solder!! very beginner friendly!! good for clubs!! 4 | -------------------------------------------------------------------------------- /astro.config.mjs: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | import { defineConfig } from "astro/config"; 3 | import tailwindcss from "@tailwindcss/vite"; 4 | 5 | // https://astro.build/config 6 | export default defineConfig({ 7 | vite: { 8 | plugins: [tailwindcss()], 9 | }, 10 | }); 11 | -------------------------------------------------------------------------------- /bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/bun.lockb -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "solder", 3 | "type": "module", 4 | "version": "0.0.1", 5 | "scripts": { 6 | "dev": "astro dev", 7 | "build": "astro build", 8 | "preview": "astro preview", 9 | "astro": "astro" 10 | }, 11 | "dependencies": { 12 | "@tailwindcss/vite": "^4.0.15", 13 | "astro": "^5.5.4", 14 | "tailwindcss": "^4.0.15" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": true, 3 | "singleQuote": false, 4 | "tabWidth": 2, 5 | "useTabs": true, 6 | "printWidth": 80, 7 | "trailingComma": "es5", 8 | "bracketSpacing": true, 9 | "bracketSameLine": false, 10 | "arrowParens": "always", 11 | "endOfLine": "auto", 12 | "htmlWhitespaceSensitivity": "css", 13 | "embeddedLanguageFormatting": "auto", 14 | "overrides": [ 15 | { 16 | "files": "*.js", 17 | "options": { 18 | "parser": "babel" 19 | } 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /public/animelogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/animelogo.png -------------------------------------------------------------------------------- /public/arrow2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/arrow3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/arrows.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /public/arrows4.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /public/bg.svg: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /public/bg2.svg: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /public/bg3.svg: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /public/cardnum.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /public/favicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /public/fonts/BradleyHandITCTT-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/fonts/BradleyHandITCTT-Bold.ttf -------------------------------------------------------------------------------- /public/hardware/battery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/battery.png -------------------------------------------------------------------------------- /public/hardware/breadboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/breadboard.png -------------------------------------------------------------------------------- /public/hardware/capacitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/capacitor.png -------------------------------------------------------------------------------- /public/hardware/cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/cell.png -------------------------------------------------------------------------------- /public/hardware/diode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/diode.png -------------------------------------------------------------------------------- /public/hardware/leds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/leds.png -------------------------------------------------------------------------------- /public/hardware/motor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/motor.png -------------------------------------------------------------------------------- /public/hardware/photoresistor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/photoresistor.png -------------------------------------------------------------------------------- /public/hardware/potentiometer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/potentiometer.png -------------------------------------------------------------------------------- /public/hardware/push.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/push.png -------------------------------------------------------------------------------- /public/hardware/resistor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/resistor.png -------------------------------------------------------------------------------- /public/hardware/resistors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/resistors.png -------------------------------------------------------------------------------- /public/hardware/shark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/shark.png -------------------------------------------------------------------------------- /public/hardware/timer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/timer.png -------------------------------------------------------------------------------- /public/hardware/transistor1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/transistor1.png -------------------------------------------------------------------------------- /public/hardware/transistor2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/transistor2.png -------------------------------------------------------------------------------- /public/hardware/wires.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/hardware/wires.png -------------------------------------------------------------------------------- /public/orph.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/tiling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tiling.png -------------------------------------------------------------------------------- /public/tutorial/add-text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/add-text.png -------------------------------------------------------------------------------- /public/tutorial/art.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/art.png -------------------------------------------------------------------------------- /public/tutorial/art.png~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/art.png~ -------------------------------------------------------------------------------- /public/tutorial/battery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/battery.png -------------------------------------------------------------------------------- /public/tutorial/board-outline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/board-outline.png -------------------------------------------------------------------------------- /public/tutorial/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/button.png -------------------------------------------------------------------------------- /public/tutorial/capacitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/capacitor.png -------------------------------------------------------------------------------- /public/tutorial/diode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/diode.png -------------------------------------------------------------------------------- /public/tutorial/draw-rectangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/draw-rectangle.png -------------------------------------------------------------------------------- /public/tutorial/drcbutton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/drcbutton.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-add-bat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-add-bat.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-add-resistor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-add-resistor.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-art.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-art.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-drc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-drc.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-make-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-make-project.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-pcb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-pcb.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-pcb1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-pcb1.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-pcb1.png~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-pcb1.png~ -------------------------------------------------------------------------------- /public/tutorial/easyeda-pcb2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-pcb2.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-pcb2.png~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-pcb2.png~ -------------------------------------------------------------------------------- /public/tutorial/easyeda-pcb3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-pcb3.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-pcb4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-pcb4.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-sch-to-pcb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-sch-to-pcb.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-sch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-sch.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-sch1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-sch1.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-silkscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-silkscreen.png -------------------------------------------------------------------------------- /public/tutorial/easyeda-text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/easyeda-text.png -------------------------------------------------------------------------------- /public/tutorial/fabrication-toolkit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/fabrication-toolkit.png -------------------------------------------------------------------------------- /public/tutorial/frontback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/frontback.png -------------------------------------------------------------------------------- /public/tutorial/invisible.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/invisible.png -------------------------------------------------------------------------------- /public/tutorial/led.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/led.png -------------------------------------------------------------------------------- /public/tutorial/link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/link.png -------------------------------------------------------------------------------- /public/tutorial/linked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/linked.png -------------------------------------------------------------------------------- /public/tutorial/motor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/motor.png -------------------------------------------------------------------------------- /public/tutorial/multiside.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/multiside.png -------------------------------------------------------------------------------- /public/tutorial/parts-placed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/parts-placed.png -------------------------------------------------------------------------------- /public/tutorial/parts-unplaced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/parts-unplaced.png -------------------------------------------------------------------------------- /public/tutorial/pcb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/pcb.png -------------------------------------------------------------------------------- /public/tutorial/pcb1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/pcb1.png -------------------------------------------------------------------------------- /public/tutorial/pcb2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/pcb2.png -------------------------------------------------------------------------------- /public/tutorial/pcb3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/pcb3.png -------------------------------------------------------------------------------- /public/tutorial/pcb4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/pcb4.png -------------------------------------------------------------------------------- /public/tutorial/pcb5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/pcb5.png -------------------------------------------------------------------------------- /public/tutorial/pcb6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/pcb6.png -------------------------------------------------------------------------------- /public/tutorial/pcb7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/pcb7.png -------------------------------------------------------------------------------- /public/tutorial/pcb8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/pcb8.png -------------------------------------------------------------------------------- /public/tutorial/pcb9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/pcb9.png -------------------------------------------------------------------------------- /public/tutorial/photoresistor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/photoresistor.png -------------------------------------------------------------------------------- /public/tutorial/plugins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/plugins.png -------------------------------------------------------------------------------- /public/tutorial/potentiometer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/potentiometer.png -------------------------------------------------------------------------------- /public/tutorial/pour.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/pour.png -------------------------------------------------------------------------------- /public/tutorial/resistor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/resistor.png -------------------------------------------------------------------------------- /public/tutorial/routed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/routed.png -------------------------------------------------------------------------------- /public/tutorial/routing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/routing.png -------------------------------------------------------------------------------- /public/tutorial/sch1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/sch1.png -------------------------------------------------------------------------------- /public/tutorial/sch2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/sch2.png -------------------------------------------------------------------------------- /public/tutorial/sch3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/sch3.png -------------------------------------------------------------------------------- /public/tutorial/sch4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/sch4.png -------------------------------------------------------------------------------- /public/tutorial/sch5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/sch5.png -------------------------------------------------------------------------------- /public/tutorial/sch6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/sch6.png -------------------------------------------------------------------------------- /public/tutorial/schematic-nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/schematic-nc.png -------------------------------------------------------------------------------- /public/tutorial/schematic-wc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/schematic-wc.png -------------------------------------------------------------------------------- /public/tutorial/schematic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/schematic.png -------------------------------------------------------------------------------- /public/tutorial/silkscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/silkscreen.png -------------------------------------------------------------------------------- /public/tutorial/start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/start.png -------------------------------------------------------------------------------- /public/tutorial/submit1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/submit1.png -------------------------------------------------------------------------------- /public/tutorial/submit2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/submit2.png -------------------------------------------------------------------------------- /public/tutorial/tht-vs-smd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/tht-vs-smd.png -------------------------------------------------------------------------------- /public/tutorial/transistor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/transistor.png -------------------------------------------------------------------------------- /public/tutorial/update-from-schematic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/solder/8b38950effe5a6de36ee909f9ace7ccd13a54bcf/public/tutorial/update-from-schematic.png -------------------------------------------------------------------------------- /src/components/Card.astro: -------------------------------------------------------------------------------- 1 | --- 2 | export interface Props { 3 | quantity: string; 4 | title: string; 5 | content: string; 6 | image: string; 7 | } 8 | 9 | const { quantity, title, content, image } = Astro.props; 10 | --- 11 | 12 |
15 |
16 | 17 |

20 | x{quantity} 21 |

22 |
23 | 24 |

{title}

25 |

{content}

26 |
27 | -------------------------------------------------------------------------------- /src/components/Footer.astro: -------------------------------------------------------------------------------- 1 | 31 | -------------------------------------------------------------------------------- /src/components/Sidebar.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import "../styles/global.css"; 3 | import TOC from "./TOC.astro"; 4 | const posts = import.meta.glob("../pages/*.md", { eager: true }); 5 | const { title = "NAN", sections = [] } = Astro.props; 6 | 7 | // To array 8 | const postList = Object.entries(posts) 9 | .map(([path, post]: [string, any]) => { 10 | const slug = path.replace("../pages/", "").replace(/\.md$/, ""); 11 | 12 | return { 13 | slug, 14 | ...post.frontmatter, 15 | }; 16 | }) 17 | .filter((post) => post.show); 18 | 19 | postList.sort((a, b) => a.order - b.order); 20 | 21 | const currentPath = Astro.url.pathname.replaceAll("/", ""); 22 | 23 | // The animation 24 | const anim = { 25 | old: { 26 | name: "collapse", 27 | duration: "0.3s", 28 | easing: "ease-in", 29 | direction: "reverse", 30 | }, 31 | new: { 32 | name: "collapse", 33 | duration: "0.3s", 34 | easing: "ease-in-out", 35 | }, 36 | }; 37 | 38 | const collapse = { 39 | forwards: anim, 40 | backwards: anim, 41 | }; 42 | --- 43 | 44 |
47 | 78 |
79 | 80 | ← back to home 81 | 82 |
83 |
84 | 85 | 91 | -------------------------------------------------------------------------------- /src/components/TOC.astro: -------------------------------------------------------------------------------- 1 | --- 2 | const { title = "NAN", sections = [] } = Astro.props; 3 | const textColor = "text-gray-400"; 4 | const hoverColor = ""; 5 | --- 6 | 7 |
8 | 38 |
39 | 40 | 117 | -------------------------------------------------------------------------------- /src/components/ThemeToggle.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | --- 4 | 5 | 43 | 44 | 100 | 101 | 196 | -------------------------------------------------------------------------------- /src/layouts/BaseLayout.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import "../styles/global.css"; 3 | import "../styles/tutorial.css"; 4 | import Sidebar from "../components/Sidebar.astro"; 5 | import { ClientRouter, fade } from "astro:transitions"; 6 | import ThemeToggle from "../components/ThemeToggle.astro"; 7 | const { frontmatter, headings } = Astro.props; 8 | const majorHeadings = headings.filter((header) => header.depth < 4); 9 | 10 | const isChrome = 11 | navigator.userAgent.includes("Chrome") && 12 | navigator.vendor && 13 | navigator.vendor.includes("Google Inc"); 14 | --- 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | {frontmatter.title} 23 | 24 | 25 |
26 | 27 |
28 | 29 | 35 | 36 |
41 |

{frontmatter.title}

42 |
43 |
44 | 45 |
46 |
47 | 48 | 49 | 50 | 67 | -------------------------------------------------------------------------------- /src/pages/404.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 | const pageTitle = "Home Page"; 9 | --- 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Solder - make a PCB! 18 | 19 | 20 | 21 | 25 | 26 | 27 |
28 | 29 |
30 |

31 | 404 Page not found 32 |

33 |

34 | Did you mean to go to: 35 |

36 |
37 | 38 | 62 |
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 | drawing 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 | ![](/tutorial/multiside.png) 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 | ![](/tutorial/pour.png) 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 | 45 | 46 | 47 |
48 | 49 |
50 | 51 | 52 |
53 | 54 | 68 | 69 |
70 | 74 |

make your first circuit board

75 | 80 |

get a kit of electronics to assemble it for free!

81 |
82 | 83 | 88 | 89 | 90 | 91 |
92 |

Solder is a program by Hack Club, free for teens worldwide! Ends June 30th.

93 |
94 |
95 | 96 |
97 |

1. Learn about electrical components

98 |

2. Design your PCB

99 |

3. Submit what you made

100 |

4. We'll ship you your kit

101 |

5. Solder your project together

102 |
103 | 104 | {/* 105 |
106 |
107 |
108 |

whether it be making...

109 | 110 |
111 |

a simple keychain that lights up

112 |
a name badge for conventions
113 |
an xor logic gate from transistors
114 |
115 |

the internals of a 555 timer from scratch

116 |
117 | 118 |
119 | 120 |
121 | 122 | 123 |
124 |

you could do a lot with a few simple parts!

125 |
126 |
*/} 127 | 128 |
129 |
130 |

what's in the kit?

131 |
132 |
133 | 134 | 140 | 146 | 152 | 158 | 164 | 170 | 176 | 182 | 188 | 189 | 195 | 201 | 207 |
208 | 209 |

... 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 |
  1. Learn about different parts and how to make a circut board in the tutorial [above].
  2. 264 |
  3. Design your PCB!! I recommend using KiCad - it's free and open-source. Can't download it? EasyEDA is a free online alternative.
  4. 265 |
  5. Submit your design by adding a pull request of your design to the Github Repo [here]!
  6. 266 |
  7. Watch your mailbox for the kit we'll ship to you!
  8. 267 |
  9. Solder your project together!
  10. 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 | 306 | 307 |
308 |
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 | ![part](/tutorial/resistor.png) 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 | ![part](/tutorial/photoresistor.png) 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 | ![part](/tutorial/capacitor.png) 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 | ![part](/tutorial/button.png) 43 | 44 | ### Vibration motors 45 | 46 | Vibrates when current is passed through! Use potentiometers or resistors to limit their speed. 47 | 48 | ![part](/tutorial/motor.png) 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 | ![part](/tutorial/potentiometer.png) 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 | ![part](https://hc-cdn.hel1.your-objectstorage.com/s/v3/a381d42773bcd403a74388d6688b6665c933234b_image.png) 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 | ![part](/tutorial/transistor.png) 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 | ![part](/tutorial/diode.png) 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 | ![part](/tutorial/led.png) 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 | ![](/tutorial/start.png) 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 | ![](/tutorial/submit1.png) 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 | ![](/tutorial/submit2.png) 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 | ![](/tutorial/sch1.png) 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 | ![](/tutorial/sch2.png) 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 | ![](/tutorial/sch3.png) 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 | ![](/tutorial/sch4.png) 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 | ![](/tutorial/tht-vs-smd.png) 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 | ![](/tutorial/sch5.png) 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 | ![](/tutorial/sch6.png) 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 | ![](/tutorial/pcb1.png) 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 | ![](/tutorial/pcb2.png) 97 | 98 | You should now have parts under your mouse, click anywhere to place them. 99 | 100 | ![](/tutorial/pcb3.png) 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 | ![](/tutorial/invisible.png) 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 | ![](/tutorial/pcb4.png) 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 | ![](/tutorial/pcb5.png) 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 | ![](/tutorial/pcb6.png) 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 | ![](/tutorial/pcb7.png) 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 | ![](/tutorial/pcb8.png) 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 | ![](/tutorial/add-text.png) 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 | ![](/tutorial/art.png) 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 | ![](/tutorial/silkscreen.png) 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 | ![](/tutorial/pcb9.png) 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 | ![](/tutorial/fabrication-toolkit.png) 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 | ![](/tutorial/easyeda-make-project.png) 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 | ![](/tutorial/easyeda-add-resistor.png) 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 | ![](/tutorial/easyeda-add-bat.png) 188 | 189 | Your schematic should look something like this when you're done! 190 | 191 | ![](/tutorial/easyeda-sch.png) 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 | ![](/tutorial/easyeda-sch1.png) 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 | ![](/tutorial/easyeda-sch-to-pcb.png) 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 | ![](/tutorial/easyeda-pcb1.png) 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 | ![](/tutorial/easyeda-pcb2.png) 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 | ![](/tutorial/easyeda-pcb3.png) 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 | ![](/tutorial/easyeda-pcb4.png) 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 | ![](/tutorial/easyeda-drc.png) 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 | ![](/tutorial/easyeda-text.png) 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 | ![](/tutorial/easyeda-art.png) 250 | 251 | When your satisfied, click insert image to PCB. Now look at the beatiful drawing you have on your PCB! 252 | 253 | ![](/tutorial/easyeda-silkscreen.png) 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 | --------------------------------------------------------------------------------