diff --git a/website/src/components/SideBar.tsx b/website/src/components/SideBar.tsx index bd67fecc..c65d9371 100644 --- a/website/src/components/SideBar.tsx +++ b/website/src/components/SideBar.tsx @@ -13,11 +13,6 @@ const SideBar = () => { DIY Guide -
-
-You can see 4 neopixels and the OLED missing the ground traces. Thus we would like to add a ground pour. Click on the Add Filled Zone button on the right hand side:
-
-
-
-Click on one corner of your board. You will get a new window, where you select GND in the middle, and check both F.Cu and B.Cu on the left side:
-
-
-
-Click ok, and then draw the outline around your Edge.Cuts (It can be bigger then it, but then it won't be that pretty :P). When you have finished, press B to fill. You should press B each time you make a change so the fill can get updated (well not each time, but you get what I mean). The end result is like this:
-
-
-
-Oh no! Do you see the empty areas on the back of the board? Those are places where the ground pour can't reach. To fix this, you need to add some vias.
-
-
-
-Click on that button, and place a few vias on the parts where the ground pour is missing (and feel free to put some even the in places where it isn't missing). And don't forget to press B again to refill! Your end product should look like this:
-
-
-
-
-## Switch Matrix
-
-[If you want, here is a detailed explenation of how key matrices works.](https://pcbheaven.com/wikipages/How_Key_Matrices_Works/)
-
-Now you aren't satisfied with the number of keys you have? With switch matrices you can have more switches on less pins! (Wow this is a good sales pitch, hire me adafruit :3)
-
-First, open up your schematic and place the switches in a grid shape:
-
-
-
-If you want a non-symetric shape for your keys, it's fine to delete any switch you don't want.
-
-Now add diodes. Their schematic name is `D`. Place them at one end of the switch (any end, but it should be the same for all the switches), **pointing away from the switch**:
-
-
-
-Now, connect each row of diode heads together to form a row, and connect the each row to a GPIO pin. Do the same with the each column of switches (on the side without the diode) to form a column. Connect each column to a GPIO pin too.
-
-
-
-Now you do the same things assigning the footprints, but for diodes you will use D_DO-35_SOD27_P7.62mm_Horizontal as the footprint.
-
-
-
-Congrats! You got a working key matrix. Nothing really changed for the PCB routing part. Just as a side note, don't put the diodes directly on the switches (or they will collide in real life). I recommend putting them on the other side of the board (flip using F) and between the switches:
-
-
-
-NOTE: When making the bom, write 1N4148 instead of diode
-
-
-## Silkscreen Art
-
-Is your board too plain? Add some silkscreen art!
-
-First, you need to find the art. The best resource is google of course. I recommend you find a picture with well defined lines, and a good color contrast. This is needed since we will only have two colors: black and white. (Not even gray).
-
-PS. Find cute anime pics on pixiv.net UwU
-
-I'm taking this image as a example:
-
-
-
-Credit: https://www.pixiv.net/en/artworks/124874618
-
-It has a good color contrast and well defined lines, which is perfect to use as silkscreen art.
-
-Now that you have your art. Open up kicad and launch the image converter.
-
-
-
-Click the "Load Source Image" button on the right hand side and select your image, you should see something like thiis:
-
-
-
-As you can see, the image isn't that good. Now play with the "Black / white threshold" slider on the right, and maybe try ticking the "Negative" checkbox. You should be able to find a point where you are satisfied:
-
-
-
-If you can't find a good point, try finding another image, or open up a paint program, and make the contrast stronger.
-
-Now, at the bottom right, change the "Pcb Layer for Graphics" to "Front silk screen", and change the output format to "Footprint (.kicad_mod file)"
-
-
-
-Click on the "Export to Clipboard button", and go to your PCB editor. Click Control+V (Or Command+V on Macs), and place your silkscreen down. If your image is too small/big, try editing the size in "Output Size", and export to clipboard then paste again.
-
-If there is a "G***" text in your silkscreen, just select it and press del (or right click and delete).
-
-I placed mine on the back side of the PCB, and this is the final result:
-
-
-
-
-Pretty right? UwU
-
-
-## Jumper Wire Holes
-
-Do you want some jumper wire holes? You can create a split macropad, or have some components away from the PCB with this!
-
-Just add the symbol named "Conn_01xNUM_Pin" to your schematic (Replace NUM by the number of pins you want).
-
-Wire it up and associate the footprint SolderWire-0.1sqmm_1xNUM_P3.6mm_D0.4mm_OD1mm (Replace NUM by the number of pins you want)
-
-
-## Reverse Mount Neopixels
-
-I highly recommend you to look into how to make [a ground pour](#ground) first.
-
-To add reverse mounted neopixels, [download this footprint library and unzip it](https://download-directory.github.io/?url=https%3A%2F%2Fgithub.com%2Fcheyao%2Fmacropad%2Ftree%2Fmain%2FPCB%2Fthird_party%2Fneopixel.petty). You need to use the built-in SK6812MINI symbol with it.
-
-You already know how to wire neopixels from the general tutorial (aka DIN to DOUT, VDD to +5V and VSS to GND).
-
-The only difference is that you need to assign SK6812MINI-E footprint to the neopixel
-
-
-
-You can put them anywhere as usual, but if you want to put them under your switches, follow this:
-
-First, select the **center** of the neopixel, then move it to the **center** of the corresponding switch:
-
-
-
-Now click E, and enter +5.08 at the Y fiels on the bottom left
-
-
-
-Click ok and you should see your neopixel move down. Now click F to flip it onto the other side. (They will be shining towards the top, since they are reverse mounted).
-
-Repeate for all your leds, and you should be done!
-
-
-
-NOTE: You shouldn't route inside the white border of the neopixel, since it will be drilled out. KiCAD should prevent you from doing it, but you will need to move any existing traces.
-
-
-## Rotary Encoder
-
-So you want a rotating knob! Good idea!
-
-First, add the symbol RotaryEncoder_Switch to your schematic.
-
-
-
-The right side of the symbol acts the same as a normal switch, you can just wire it into your key matrix/together with your switches. Connect the middle pin (C) to GND, then the top and bottom pins (A and B) to a GPIO pin:
-
-
-
-Now, you should associate the symbol to the RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_CircularMountingHoles footprint.
-
-After that, just route your PCB as normal.
-
-
-## IO Expander
-
-Not enough IO pins? Want to add like a ton of rotatory encoders?? It's time for an IO expander!
-
-We are going to use the MCP23017 io expander chip. For the symbol select MCP23017_SO.
-
-
-
-First, connect VDD to +3.3V and VSS to GND. The reset pin should also be connected to +3.3V. Connect A0, A1 adn A2 to GND.
-
-Connect SDA to the SDA pin of the Xiao, and SCL to the SCL pin. You need to add pull-up resistors on SDA and SCL.
-
-Search for the symbol named `R` and place one on each SDA and SCL lines, and wire the other end of the resistors to a +3.3V symbol (Find it using P). Don't forget to add a +3.3V symbol to the Xiao!
-
-
-
-NOTE: In your BOM, you need to specify that the resistors are 4.7kΩ.
-
-Now you got 16 additional IO pins! (GPA0-7 and GPB0-7) Use them wisely :D
-
-When associating the symbols to the footprint. Select R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal for the resistors. The MCP23017_SO should already be pre-assigned, but it's corresponding footprint is SOIC-28W_7.5x17.9mm_P1.17mm.
-
-
-## Creating your case in FreeCad
-
-As a forenote, FreeCAD comes with a lot of quirks, so when you are blocked, google will be your best friend.
-
-
-### Plate
-
-First, download [FreeCAD](https://www.freecad.org/), and open the application. Click on "New File". You should have something like this:
-
-
-
-Here is the layout of the view you should see:
-
-
-
-Now, select the outer lines that surround the keys, and delete them (Del key or rightclick and Delete). You should have something like this:
-
-
-
-After that, go to the tree view, open up "layers" and then "0", then shift select all the items with the blue square icon:
-
-
-
-Click the draft to sketch button: (You might need to expand the toolbar menu by pressing ">>")
-
-
-
-Now, add "layers" and "0" in the tree view to your selection and click delete. You should be left with something like this:
-
-
-
-Switch to the "Sketcher" workbench in the workbench selector. Click (**NOT** double click) the Sketch in the tree view, and click on validate sketch.
-
-
-
-Click the "Find" button under "Missing coincidences", then click the "Fix" button. After this click "Close". You should see something like this:
-
-
-
-Tip: You can click the "Top" on the cube on the 3d cube present at the top right of your screen to re-orientate your view!
-
-Let's create the outline of the plate! First go back to KiCAD PCB editor and measure the dimensions of your board with the ruler tool. Click on one end of your Edge.Cuts and click again on the other end.
-
-
-
-
-Now we know that the width of the board is the absolute value of x (41mm in my case), and the height is the absolute value of y (62.702mm) in my case. Go back to FreeCAD, select the "Part Design" workbench and click this button to create a new sketch:
-
-
-
-On the left menu bar, select XY-plane and click Ok. Now click the small arrow next to the square at the top menu, and select Rounded rectangle.
-
-
-
-Draw the rounded rectangle around your keys, click to start drawing it and click again to end the rectangle. Click a third time to set the edge radius. The measurement doesn't matter at the moment.
-
-NOTE: **Never** start a drawing by clicking on the axis (The red or green line).
-
-
-
-Now select the dimension tool at the top.
-
-
-
-First, click on the quater circles at the edges and enter 5mm. (You can tweak this!)
-
-
-
-Click ok. Now click on the straight line at the top, click again and enter "width-2\*radius+10\*2" (replace width with your board width, radius with your radius. The 10 at the end is our margin). In my case it is "41-2\*5+10\*2".
-
-
-
-Now do the same with the line at the right, but replace the width with the height.
-
-After all these, click escape multiple times (sometimes the escape just doesn't register TwT). Click and drag the "Sketch" onto the "Body", you should have something like this:
-
-
-
-Double click Sketch001 again, now select the External Geometry tool and click on the bottom left and down lines:
-
-
-
-Now go to KiCAD, measure how far your Edge.Cuts is to the yellow Silkscreen of your bottom-left switch.
-
-
-
-Select the dimension tool again, click on the dotted wire on the left side, and the left edge of the case. Set the distance to the x distance you just measured + 10.5 (for me it's 3.99+10.5). Same for the bottom line and bottom dotted wire, y distance + 10.5.
-
-
-
-Now draw 4 circles on the edges with the circle tool:
-
-
-
-Use the dimension tool to set their diameter to 3.4mm (Click on the circles). And then set their distance to the edge by clicking on the center point, then one edge. It should be 5mm (margin/2) for both sides. You should have something like this:
-
-
-
-Now go to kicad and measure the distance from the edge of the PCB to the USB port.
-
-
-
-Then open back FreeCAD, select the rectangle tool and draw a rectangle at the top:
-
-
-
-Use the dimension tool to define a width of 18.5mm and height of 31mm. Click T and click on the top of the rectangle, then the top of the rounded rectangle. After that use the distance tool to set the distance from the left of the rectangle to the left edge of the rounded rectangle to x_distance_in_kicad+5.75mm
-
-
-
-Select the Trim edge tool:
-
-
-
-Then click two times the top side of the rectangle you just drew:
-
-
-
-Double click escape, and you are done with the sketch!!! (My fingers are going to break tbh)
-
-Now click on the pad button:
-
-
-
-And change the length to 3mm. Then rotate to the other side of the board! You can either use the middle mouse button+left mouse button, or the cube at the top-right. Go to the Model tab, select the sketch and click pocket button now
-
-
-
-
-Enter 10mm, check the Reversed radio button and press Ok
-
-
-
-Congrats! You finished the top plate.
-
-Click File > Save to save the freecad project, and click on the Body in the tree view, then go to File > Export to export, select STL mesh as file format.
-
-
-### Bottom
-
-First, create a new file, then a new sketch (Make sure you are in the Part Design workbench, still on the XY-plane). Add a rounded rectangle, and make it have the same dimensions as the previous one (Use the distance tool to set the size).
-
-
-
-After that, draw the four circles like last time. with the same dimensions. Then click C (This selects constraint coincident), click on any point of the rectangle, then the center of the xy axis:
-
-
-
-Double click escape, and click pad again. Enter 13mm:
-
-
-
-Now click the top side of the case, and click on Create Sketch again. This time create a rectangle with the rectangle tool at the middle:
-
-
-
-After that, use the external geometry tool and click on all 4 sides of our extruded case. Then use the dimension tool to set a distance between the edge of our rectangle and the edges of our extruded case of 9.5 mm.
-
-
-
-Double click escape, click the pocket tool and enter 10mm. You should have something like this:
-
-
-
-Click on one of the smaller sides of the case, and create a new sketch. Now go to kicad and measure the distance from the left edge of the PCB to the USB port.
-
-
-
-Now draw a rectangle (non-rounded) in freecad. Use the external geometry tool to click on the right and top edges of the case. Set the width of the rectangle to 18.5mm and the height to 7.5mm. Click T, then click the top of the rectangle and the top edge of the case. After that use the distance tool to set the distance from the right of the rectangle to the right edge of the case to x_distance_in_kicad+5.75mm
-
-
-
-Double click escape, and click the pocket tool, then enter 11mm.
-
-
-
-Turn to the back case of your case, click on the back surface, then create a new sketch. Draw 4 circles, define their diameter of 6mm. Use the external geometry tool to import the 4 small circles of our case. Then use the coincident tool (click C to activate) to make the circles coincident (click on the center of one circle, then the other one).
-
-
-
-Double click escape, and make a pocket of 3.1mm.
-
-And you finished your case!!! 🎊🎊 (I'm going to die writing all this) The steps to save it are the same.
-
-And finally to test fit the case! Export the 3d model of your PCB. Open a new FreeCAD file, click File > Import, and select all your components (case, plate and 3d PCB).
-
-Use the property editor to modify the position of the objects, so that they align: (The x, y, z fields, and rotate using the angle field)
-
-
-
-After all this, you can assemble a 3d model like this and verify that everything fits:
-
-
-
-PS. Yours should fit better, I make a tiny error to the measurements while creating the models :P. But I've corrected the sizes in the guide UwU
diff --git a/website/src/pages/hackpad/Errors.mdx b/website/src/pages/hackpad/Errors.mdx
deleted file mode 100644
index 2951a57a..00000000
--- a/website/src/pages/hackpad/Errors.mdx
+++ /dev/null
@@ -1,60 +0,0 @@
-# DRC error code compliation
-
-Oh no! You have DRC errors? Don't worry, we got you covered. Here is a compliation of most error codes: (Press Control+F to search)
-
-Try looking into the unconnected items tab too!
-
-- Warning: Silkscreen clipped by solder mask:
-- Warning: Silkscreen clipped by board edge:
-- Warning: Footprint component type doesn't match footprint pads:
-- Warning: Footprint has no courtyard defined:
-
-Ignore, this has no importance
-
-- Warning: Text height out of range:
-
-Ignore, this has no importance (Your text might not get printed properly tho)
-
-- Warning: Trace has unconnected end:
-
-Click on the text and you should see a trace with a yellow arrow on it. Delete that trace since it has no use. (Or maybe did you forget to connect it?)
-
-- Warning: PTH inside courtyard:
-
-It might be a false-alarm, but double check if you accidently put some component on top of another one.
-
-- Warning: Footprint 'xxxxxxxx' does not match copy in library 'xxx'
-
-Open Tools > Update Footprints from Library. Select everything inside "Update Options" and click Update.
-
-- Warning: Footprint 'xxxxxxxx' not found in library 'xxx'
-
-You are probably missing a library! Or try re-assigning the footprints.
-
-- Warning: Board edge clearance violation:
-
-Your traces/pads are too close to the edge of the board. (If you are using my neopixel footprint, ignore it. I might have put the pads a little tooo close to the borders, but it won't break anything. Sowwy~~ UwU)
-
-- Error: Board has malformed outline:
-
-Important! You forgot to add Edge.Cuts outline/ The Edge.Cuts outline isn't closed properly
-
-- Error: Track has unconnected end:
-
-Important! You forgot to join two components! Check if there are thin blue lines present.
-
-- Error: Courtyards overlap:
-
-Important! Some of the components are overlapping (physically), click on the text to check which one.
-
-- Error: Hole clearance violation:
-
-Important! Something is too close to the holes, it will get drilled out
-
-- Error: Items shorting two nets:
-
-Important! You got two wires connected that shouldn't be connected! Click on the text to check out which ones.
-
-- Error: Missing connection between items
-
-Important! You two pads aren't connected together! Click on the error message to find out which ones
diff --git a/website/src/pages/hackpad/Faq.mdx b/website/src/pages/hackpad/Faq.mdx
index e0e2990a..d178142c 100644
--- a/website/src/pages/hackpad/Faq.mdx
+++ b/website/src/pages/hackpad/Faq.mdx
@@ -2,42 +2,6 @@
Welcome to the FAQ section! If you have something you think should be added here please ping @dari in the #hackpad channel
-### The Card grant
-
-**How much is the grant?** \
-The grant is $20! This is because you also have to buy your PCB with the grant.
-
-If you're from india, the grant is instead reduced to $10, however your PCB comes shipped from HQ!
-
-**What can I do with the card grant?** \
-You can get any custom parts you may need for your hackpad. The only requirement is that anying you buy MUST be something needed specifically for your design to function. I/O expanders, distance sensors, etc. are great!
-
-What's not great is trying to purchase the following:
-
-- ENIG finishes
-- USB cables / hubs
-- Switch testers
-- Extra rp2040s/switches/etc (either for another hackpad or project)
-- Anything that won't be directly used for your one hackpad.
-
-Hack Club is still a financially limited org and every bit of money we save on Hackpad goes to the next program.
-
-I (alexren) added the grants because I want *all* of you to have as much creative freedom as possible. Please use it sparingly, otherweise my ability to provide them in the future will be limited
-
-**When will grants be issued?** \
-Around the first week of March
-
-**What vendors are allowed?** \
-No limit, but please link it to me in #hackpad before you make the purchase if it's not any of the following:
-- AliExpress
-- DigiKey
-- LCSC
-- JLCPCB
-
-You need to have read this page to get the card grant. The password is "hackpadisthebestysws" - you will get an email asking for this password before your grant is issued.
-
-
-### Everything else
**What gets shipped to me?**
- a soldering iron!
@@ -47,6 +11,9 @@ You need to have read this page to get the card grant. The password is "hackpadi
- a $20 HCB grant. This will be used to cover **both** your **PCB** as well as any additional parts you may need! I/O expanders, random sensors, etc. It MUST be required for your SINGLE hackpad to be functional. No extras. You will need to upload receipts
- USB C cables and USB hubs are not allowed.
+**What is the Card Grant?** \
+[READ ME](/cardgrant) FOR INFO
+
**When is the deadline?** \
February 16th, 2025. This is the deadline for the macropad. The deadline for the keyboard is March 16th, 2025.
diff --git a/website/src/pages/hackpad/Tutorial.mdx b/website/src/pages/hackpad/Tutorial.mdx
index 025d318c..9f5dbc37 100644
--- a/website/src/pages/hackpad/Tutorial.mdx
+++ b/website/src/pages/hackpad/Tutorial.mdx
@@ -21,10 +21,6 @@ If you're unsure about anything, send a message in #hackpad! We have so many eag
There's also [this](/resources) giant wall of resources to reference!
-Here is also a guide on [advanced PCB components](/advancedguide).
-
-[Look up DRC errors here :D](/errors)
-
Lets start with:
@@ -185,8 +181,6 @@ If you aren't satisfied and wan't something more advanced, [check out the advanc
This guide uses [Fusion360](https://www.autodesk.com/products/fusion-360/personal) for designing the case. You can use other software, but it may be harder to follow along!
-If you are interested for guides on how to use different software, look into the [advanced DIY guide!](/advancedguide)
-
First thing first, go to [ai03's plate generator](https://kbplate.ai03.com/).
Then, open [keyboard-layout-editor.com](https://www.keyboard-layout-editor.com/) in a new tab.
@@ -417,7 +411,5 @@ The board should automatically restart and be recognised as a new external drive
# Next steps
We just made a pretty cool macropad, but obviously there's a lot of cooler stuff out there - that's up to you to figure out! Again, don't copy this guide 1:1, add your own design into it.
-You might want to check out the [advanced guide](/advancedguide).
-
Or maybe do you think you are done? Check out how to submit [here](/submitting)