mirror of
https://github.com/System-End/hackpad.git
synced 2026-04-19 22:15:14 +00:00
updated submission info
This commit is contained in:
parent
3072583cb4
commit
14cb65e90f
11 changed files with 90 additions and 179 deletions
|
|
@ -1,4 +1,4 @@
|
|||
24526660622439184
|
||||
24540323083309425
|
||||
Audio_Module
|
||||
Reverb_BTDR-1H
|
||||
Digital Reverberation Unit, http://www.belton.co.kr/inc/downfile.php?seq=17&file=pdf (footprint from http://www.uk-electronic.de/PDF/BTDR-1.pdf)
|
||||
|
|
@ -84477,15 +84477,15 @@ SOT-543 SC-107A EMD4
|
|||
4
|
||||
Package_TO_SOT_SMD
|
||||
SOT-553
|
||||
SOT, 5 Pin (https://www.jedec.org/system/files/docs/MO-293B.pdf), generated with kicad-footprint-generator ipc_gullwing_generator.py
|
||||
SOT TO_SOT_SMD JEDEC-MO-293-UAAD-1 Texas-DRL-5
|
||||
SOT553
|
||||
SOT-553
|
||||
0
|
||||
5
|
||||
5
|
||||
Package_TO_SOT_SMD
|
||||
SOT-563
|
||||
SOT, 6 Pin (https://www.jedec.org/system/files/docs/MO-293B.pdf), generated with kicad-footprint-generator ipc_gullwing_generator.py
|
||||
SOT TO_SOT_SMD JEDEC-MO-293-UAAD Texas-DRL-6
|
||||
SOT563
|
||||
SOT-563
|
||||
0
|
||||
6
|
||||
6
|
||||
|
|
@ -88459,13 +88459,6 @@ LoRa LoRaWAN RAK811
|
|||
34
|
||||
34
|
||||
RF_Module
|
||||
RAK3172
|
||||
RAK3172 WisDuo LPWAN Module https://docs.rakwireless.com/product-categories/wisduo/rak3172-module/datasheet/
|
||||
LoRa LoRaWAN RAK3172
|
||||
0
|
||||
32
|
||||
32
|
||||
RF_Module
|
||||
RAK4200
|
||||
RAK4200 LPWAN Module https://downloads.rakwireless.com/LoRa/RAK4200/Hardware-Specification/RAK4200_Module_Specifications_V1.4.pdf
|
||||
LoRa LoRaWAN RAK4200
|
||||
|
|
@ -99063,31 +99056,3 @@ Varistor VF
|
|||
0
|
||||
2
|
||||
2
|
||||
asylum-weather
|
||||
DHT11
|
||||
Through hole straight socket strip, 1x03, 2.54mm pitch, single row (from Kicad 4.0.7), script generated
|
||||
Through hole socket strip THT 1x03 2.54mm single row
|
||||
0
|
||||
3
|
||||
3
|
||||
asylum-weather
|
||||
TFT_ST7735_SD
|
||||
|
||||
|
||||
0
|
||||
12
|
||||
12
|
||||
asylum-weather
|
||||
TP4056
|
||||
|
||||
|
||||
0
|
||||
6
|
||||
6
|
||||
asylum-weather
|
||||
WEMOS_C3_mini
|
||||
|
||||
|
||||
0
|
||||
16
|
||||
16
|
||||
|
|
|
|||
|
|
@ -1,15 +1,66 @@
|
|||
# Orpheuspad
|
||||
|
||||
This is the example macropad for hackpad! Use me as a reference for directory structure.
|
||||
Orpheuspad is a 4 key macropad with a rotary encoder, an OLED Display. It also has 2 WS2812B Leds, and uses QMK firmware
|
||||
|
||||
If you're ready to make a submission, please check the guidelines at hackpad.hackclub.com/submitting
|
||||
It serves as an example piece/reference for the hackpad YSWS, since it contains an implementation of every common part.
|
||||
|
||||
A short explanation would also be great to include
|
||||
## Features:
|
||||
- Dual layer acrylic case. looks looks awesome doesn't it??
|
||||
- 128x32 OLED Display
|
||||
- EC11 Rotary encoder for whatever you want
|
||||
- 2 WS2812B RGB LEDs. One for underglow, and one that diffuses throughout the case
|
||||
- 4 Keys
|
||||
- [VIA](https://www.caniusevia.com/) support!
|
||||
|
||||
## CAD Model:
|
||||
Everything fits together using 5 M3 Bolts and heatset inserts. 4 for the case, one for the PCB. Also, it has a 5 degree tilt
|
||||
|
||||
It has 3 separate printed pieces. The angle, the base where the PCB sits, and the top cover. it also has 2 acrylic plates. One to cover the electronics, the other to hold the switches
|
||||
|
||||
<img src=assets/cad.png alt="Schematic" width="500"/>
|
||||
|
||||
Made in Fusion360. Nifty
|
||||
|
||||
|
||||
# BOM:
|
||||
- 4x Cherry MX switches
|
||||
- 1x EC11 Encoder
|
||||
- 1x PCB
|
||||
- 5x Through-hole 1N4148 Diodes
|
||||
- 2x WS2812B LEDs
|
||||
## PCB
|
||||
Here's my PCB! It was made in KiCad. The silkscreen was imported from a Figma image.
|
||||
|
||||
Schematic
|
||||
<img src=assets/schematic.png alt="Schematic" width="300"/>
|
||||
|
||||
PCB
|
||||
<img src=assets/pcb.png alt="Schematic" width="300"/>
|
||||
|
||||
I used MX_V2 for the keyswitch footprints. I think in retrospect, I should've added a ground plane
|
||||
|
||||
## Firmware Overview
|
||||
This hackpad uses [QMK](https://qmk.fm/) firmware for everything.
|
||||
|
||||
- the rotary encoder changes volume. press to mute
|
||||
- The 4 keys currently act as macros I dynamically change in VIA.
|
||||
- The OLED is a cat!! Bongocat!! :3
|
||||
|
||||
<img src=assets/bongocat.png alt="Bongo Cat" width="300"/>
|
||||
|
||||
I might add more in the future! That's it for now
|
||||
|
||||
## BOM:
|
||||
Here should be everything you need to make this hackpad
|
||||
|
||||
- 4x Cherry MX Switches
|
||||
- 4x DSA Keycaps
|
||||
- 5x M3x5x4 Heatset inserts
|
||||
- 3x M3x16mm SHCS Bolts
|
||||
- 2X M3x12mm SHCS Bolts
|
||||
- 5x 1N4148 DO-35 Diodes.
|
||||
- 2x WS2812B LEDs
|
||||
- 1x 0.91" 128x32 OLED Display
|
||||
- 1x EC11 Rotary Encoder
|
||||
- 1x XIAO RP2040
|
||||
- 1x Case (3 printed parts, 2 laser cut parts)
|
||||
|
||||
|
||||
## Extra stuff
|
||||
Honestly I'm not quite too sure what to add here. Favourite meme? a joke?? Uhhh you can imagine it
|
||||
|
||||
Oh fun fact: I built mine in SF the day before github universe LOL
|
||||
|
|
|
|||
BIN
hackpads/orpheuspad/assets/bongocat.png
Normal file
BIN
hackpads/orpheuspad/assets/bongocat.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 180 KiB |
BIN
hackpads/orpheuspad/assets/cad.png
Normal file
BIN
hackpads/orpheuspad/assets/cad.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.6 MiB |
BIN
hackpads/orpheuspad/assets/pcb.png
Normal file
BIN
hackpads/orpheuspad/assets/pcb.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 300 KiB |
BIN
hackpads/orpheuspad/assets/schematic.png
Normal file
BIN
hackpads/orpheuspad/assets/schematic.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 182 KiB |
|
|
@ -1,8 +0,0 @@
|
|||
(fp_lib_table
|
||||
(version 7)
|
||||
(lib (name "Kailh_PG1353_Solderable")(type "KiCad")(uri "${KIPRJMOD}/libraries/MX_V2/Kailh_PG1353_Solderable.pretty")(options "")(descr ""))
|
||||
(lib (name "MX_Solderable")(type "KiCad")(uri "${KIPRJMOD}/libraries/MX_V2/MX_Solderable.pretty")(options "")(descr ""))
|
||||
(lib (name "Seeed Studio XIAO Series Library")(type "KiCad")(uri "${KIPRJMOD}/libraries/OPL_Kicad_Library/Seeed Studio XIAO Series Library")(options "")(descr ""))
|
||||
(lib (name "Rotary_Encoder")(type "KiCad")(uri "${KIPRJMOD}/libraries/Rotary_Encoder.pretty")(options "")(descr ""))
|
||||
(lib (name "assets")(type "KiCad")(uri "${KIPRJMOD}/assets")(options "")(descr ""))
|
||||
)
|
||||
BIN
website/public/docs/v2/tree2.png
Normal file
BIN
website/public/docs/v2/tree2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 130 KiB |
|
|
@ -4,7 +4,6 @@ Finally finished your hackpad? Nice job! Follow along and we're going to make su
|
|||
|
||||
- [Structuring your project](#structure)
|
||||
- [Exporting the production files](#export)
|
||||
- [Adding the BOM](#bom)
|
||||
- [Adding README files](#readme)
|
||||
- [Publishing the design](#publishing)
|
||||
|
||||
|
|
@ -46,123 +45,57 @@ Nice job on organizing your files! Next, we need to create the manufacturing fil
|
|||
|
||||
This is separate from the source files, which are usually a reference to check out & iterate on your design.
|
||||
|
||||
Before moving on, create a folder called "production"
|
||||
|
||||
### 1) Export your PCB
|
||||
Depending on your tool of choice, the exact workflow will be different. What you want to do is export your PCB as a set of files called Gerbers, which are basically instructions for the manufacturer to build your PCB. It should be compressed into a .zip file.
|
||||
|
||||
The internet will help you out on this one. The end file you get should be named gerbers.zip and contain all the production files in it.
|
||||
|
||||
But here is a tiny guide anyways:
|
||||
|
||||
First, open up the plugin manager of kicad.
|
||||
|
||||
<img src="/docs/v2/plugins.png" className="max-w-96" />
|
||||
|
||||
Search for "Fabrication Toolkit", select the one with JLC PCB in it's description. Click install, then "Apply Pending Changes". When it's done installing, close the window.
|
||||
|
||||
<img src="/docs/v2/install.png" className="max-w-96" />
|
||||
|
||||
Now open back up the PCB editor, you should see a new button at the top right:
|
||||
|
||||
<img src="/docs/v2/fab.png" className="max-w-96" />
|
||||
|
||||
Press it, then click generate. Now you should have a new folder named production, open it up and you should see files like this:
|
||||
|
||||
<img src="/docs/v2/files.png" className="max-w-96" />
|
||||
|
||||
The one you are looking for is the .zip, you can delete everything else.
|
||||
Put it inside the "production" folder
|
||||
|
||||
### 2) Export your Case parts
|
||||
Each individual part of the case should be exported into its respective files:
|
||||
- If the part is 3D printed, it should be exported into STEP, STP or STL files.
|
||||
Each individual part of the case should be exported into its respective files. For example, if you have a top, bottom, and middle part, you should have 3 files:
|
||||
- Top.STEP
|
||||
- Bottom.STEP
|
||||
- Middle.STEP
|
||||
|
||||
Note: Prefer STEP/STP to STL, since they use math to represent the objects, and thus will produce smoother curves and higher quality prints.
|
||||
If you can't export them as STEPs, STLs are okay too!
|
||||
|
||||
Put it inside a folder called "case"
|
||||
Put all of these files in the "production" folder as well
|
||||
|
||||
### 3) Compile your firmware
|
||||
This step is going to depend on what you used specifically, for QMK the resulting file should be named firmware.uf2
|
||||
|
||||
If you are using KMK, just put the main.py file inside the firmware folder/
|
||||
If you are using KMK, you'll just have a main.py file.
|
||||
|
||||
What you want to search for is how to compile firmware for an rp2040. Good luck!
|
||||
|
||||
### 4) Organize it all
|
||||
Now that you've made all the production files, create a new folder called production and put all the files in there.
|
||||
|
||||
<a name="bom"/>
|
||||
## Adding a BOM
|
||||
Add a new file inside the root of your project, and call it BOM.txt.
|
||||
|
||||
Write what components you need inside! Example:
|
||||
|
||||
```
|
||||
- 1x 128x64 0.96" SSD1306 OLED Display
|
||||
- 8x SK6812 Mini Neopixels
|
||||
- 8x Alps MX switches
|
||||
- 1x Seeed XIAO RP2040
|
||||
- 2x 4.7kΩ THT resistors
|
||||
```
|
||||
Either way, put them in the "production" folder
|
||||
|
||||
<a name="readme"/>
|
||||
## Adding a README
|
||||
A README is essential to all open-source projects. It allows people to know more about you and your project. You submission should have one!
|
||||
A README is essential to all open-source projects. It allows people to know more about you and your project without having to dig into every single
|
||||
|
||||
You can put absolutely *anything* on it, as it's your page. I recommend talking about:
|
||||
The README is pretty flexible, but you MUST include the following parts:
|
||||
|
||||
- What was your inspiration to make it?
|
||||
- Hardest challenges faced
|
||||
- Other fun facts to know
|
||||
- A screenshot of your overall hackpad
|
||||
- A screenshot of your schematic
|
||||
- A screenshot of your PCB
|
||||
- A screenshot of your case and how it'll fit together
|
||||
- a BOM for your parts
|
||||
|
||||
Every hackpad submission's page will be published on the main hackpad website, so make sure to go submit!
|
||||
It'll be different for each hackpad, but good examples of what I'm looking for are:
|
||||
|
||||
Here is a tiny guide on creating a README.md, be sure to modify your own version!
|
||||
|
||||
Start by creating a new file called README.md at the top of your project using any text editor. Any file ending in .md is called a markdown file, it will be parsed by github to create [pretty texts](https://github.com/hackclub/asylum/blob/main/designs/weather_stations/dari_awesome_example/README.md).
|
||||
|
||||
Check [here](https://commonmark.org/help/) to learn the basic markdown syntax.
|
||||
|
||||
Remember, to make a new line you **must** press enter 2 times!
|
||||
|
||||
First please discribe the featurs of your macropad! What did you add? How many leds you have? Do you have any special art on it?
|
||||
|
||||
Then please make a part where you introduce your PCB! Write us a little about how you made your PCB. Please also make a table with the pictures of your schematic and pcb:
|
||||
|
||||
First, take a screenshot of your macropad. Upload it to the #cdn channel in slack! You should receive a link to the file. (And if #cdn is down, try https://imgbb.com/, you will get a link starting with ibb.co, change it to i.ibb.co then append "/image.png" or "/image.jpg" to the link)
|
||||
|
||||
Then add a table of the following format to your README.md:
|
||||
|
||||
```
|
||||
| **Schematic** | **PCB** |
|
||||
|---------------|---------|
|
||||
|||
|
||||
```
|
||||
|
||||
While replacing link_to_schematic and link_to_pcb to your links.
|
||||
|
||||
Don't forget to add a line stating that you ran DRC and have 0 erors! If you haven't done it, do it now in kicad!
|
||||
|
||||
You can showcase your 3D view too :3
|
||||
|
||||
After that make a part showcasing your CAD model. Discribe it a bit, then embed a image of it with ``.
|
||||
|
||||
After that, give us a overview on your firmware!
|
||||
|
||||
At the end, copy and paste your BOM please.
|
||||
|
||||
Maybe write something funny at the end! Thats up to you!
|
||||
|
||||
A good example would be [this, even if it's not for hackpad](https://github.com/hackclub/asylum/blob/main/designs/weather_stations/dari_awesome_example/README.md). Or look at [my readme!](https://github.com/hackclub/hackpad/blob/main/hackpads/cyaopad/README.md)
|
||||
|
||||
PS. You might want to license your work, look at [https://choosealicense.com/](https://choosealicense.com/), pick a license and copy then paste the text into a LICENSE.txt file
|
||||
|
||||
If you want, you can also add some readme files into your subdirectories, that would be awesome!
|
||||
- [Orpheuspad example](https://github.com/hackclub/hackpad/blob/main/hackpads/orpheuspad/README.md)
|
||||
- [My weather staton](https://github.com/hackclub/asylum/blob/main/designs/weather_stations/dari_awesome_example/README.md)
|
||||
- [Ducc's Fidget Toy](https://github.com/hackclub/hackpad/blob/main/hackpads/Duccs%20Fidget%20Toy/README.md)
|
||||
- [Cyaopad](https://github.com/hackclub/hackpad/blob/main/hackpads/cyaopad/README.md)
|
||||
|
||||
### Make a PR
|
||||
First, double check your submission against the [Orpheuspad](https://github.com/hackclub/hackpad/tree/main/hackpads/orpheuspad) example to make sure you have the correct structure. Everything should match exactly, except for the filenames.
|
||||
|
||||
The directory should almost look like this:
|
||||
Here's what it should look like
|
||||
|
||||
<img src="/docs/v2/tree.png" className="max-w-96" />
|
||||
<img src="/docs/v2/tree2.png" className="max-w-96" />
|
||||
|
||||
If anything is unclear, make sure to ask in #hackpad!
|
||||
|
||||
|
|
@ -176,33 +109,3 @@ If everything went correctly, your PR will be reviewed (and hopefully approved!)
|
|||
- Your 3D printed case
|
||||
|
||||
For many of you, the firmware may not work the first try. That's okay! Keep working at it until it's fixed; if you send a video in #hackpad showing it working, I'll ship you a free custom hack-club keycap and sticker!
|
||||
|
||||
<a name="publishing"/>
|
||||
## Publishing your project
|
||||
You received your board, and now want the custom keycaps? You now need to actually publish your project! This involves writing a simple page for it explaining what it is.
|
||||
|
||||
First, go to the directory `website/src/pages/submissions`, create a new folder for your submission (Cyaopad for me). Then make a .mdx file that is named after your macropad (Cyaopad.mdx for me).
|
||||
|
||||
Copy all the content of the README.md over, but remove the table and put the images on separate lines.
|
||||
|
||||
Then open the file `hackpad/website/src/main.tsx` and add a line of the following format at where it says IMPORT YOUR PROJECTS HERE:
|
||||
|
||||
```
|
||||
import CyaoPad from "./pages/submissions/Cyaopad/CyaoPad.mdx"
|
||||
```
|
||||
|
||||
Be sure to change the name to your own.
|
||||
|
||||
Then scroll down to almost the bottom of the page, to where it says "Submitting? Great! Do something like this:". Add a new entry in the following format:
|
||||
|
||||
```
|
||||
{
|
||||
path: "/projects/cyaopad",
|
||||
element: <DocPage Content={ CyaoPad } SideBar={ SideBar } />
|
||||
},
|
||||
```
|
||||
|
||||
Be sure to change the name to your own again. Now you should be able to view your site at the adress https://hackpad.hackclub.com/projects/\{yourname\} after your pr is merged.
|
||||
|
||||
Your final result should look like this [this](/projects/cyaopad)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue