
Cube motherboard
willem-pennings/balancing-cube
A cube that balances itself in a corner or edge using reaction wheels

My keyboard for the program fallout by hackclub
75% Keyboard is an open-source printed circuit board by FishcoScorp, from the FishcoScorp/FishcoKeyboard repository on GitHub. It is a 2-layer board of 410.2 × 126.5 mm with 211 parts on 134 nets, routed with 933 tracks and 30 vias.
It is built around the ESP32-S3-DEVKITC-1-N8. Its parts include 93 diodes, 93 switches and 1 IC. It belongs with the keyboards and input boards and the ESP32 boards of this library.
My keyboard for the program fallout by hackclub
This keyboard was made with convieniece in mind, with 15 customizable macro keys (4 on left 11 on right) as well as a volume dial and small screen.
Bill of Materials: https://github.com/FishcoScorp/FishcoKeyboard/edit/main/README.md#:~:text=Build_Files-,BOM,-.csv
Photo Gallery: https://github.com/FishcoScorp/FishcoKeyboard/edit/main/README.md#:~:text=Fallout%20Zine.md-,Photo,-Gallery.md
Code: https://github.com/FishcoScorp/FishcoKeyboard/edit/main/README.md#:~:text=README.md-,code,-.py
Zine: https://github.com/FishcoScorp/FishcoKeyboard/edit/main/README.md#:~:text=BOM.csv-,Fallout,-Zine.md
I am also in the process of working on a software that will interface with the keyboard and allow me to easily switch macro keys and the display on the screen, and make it easy to flash new code to the keyboard.
How to put it together!
I used Kicad, and started by making a matrix with all the keys at about where I thought they were on a subsheet. That looks like this (Don't forget to add diodes too!!!) This works by wiring rows and columns which, when shorted by pressing a button, can be identified and pinpointed similar to using x and y on a graph so that it sends the correct input to your device!
Then I have the main schematic sheet, where I make all the rest of the connections. Using tags I connect the matrix to the ESP and also the screen and rotary encoder. Notice I connect the grounds of the latter two elements using a GND tag. This is because I am going to use a gnd fill later, which means the board will be coated in a thin layer of copper, removing the need for GND connections as this coating will serve that purpose.
Now bring it over to the PCB editor, where you will shape what your keyboard looks like. You can use an app called KB Placer by creating a layout beforehand on the website http://keyboard-layout-editor.com/ and then importing the JSON to KB placer. However, this did not work for me so I had to manually place everything and create the outline of the keyboard myself. I then connected the matrix, rotary encoder, and screen before adding the GND fill (the red in this photo)
Then it was time to cad a case. I used Fusion, using the exported .step file model to draw an outline for my case. Then I added some standoffs using the PCB as a reference with the screw holes I had placed earlier, ensuring stabilization but not breaking the PCB. In this case I made so both the bottom and top had walls so that it would look clean and sleek. I also sunk the keys into the keyboard a little so that it would look slim and cool. I also added a window into the ESP cause I think it would look really cool to be abe to see it, a little glimpse into the work/electronics that are required to make this a reality.
\
After this I designed my zine and submitted it, and here we are!
| Qty | Value | Footprint | References |
|---|---|---|---|
| 93 | D | Diode_SMD:D_SOD-123 | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +77 |
| 82 | MX_SW_HS | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23 +66 |
| 3 | MX_SW_HS | Button_Switch_Keyboard:SW_Cherry_MX_1.25u_PCB | SW25, SW31, SW37 |
| 2 | MX_SW_HS | Button_Switch_Keyboard:SW_Cherry_MX_1.75u_PCB | SW8, SW71 |
| 2 | MX_SW_HS | Button_Switch_Keyboard:SW_Cherry_MX_1.50u_PCB | SW7, SW81 |
| 2 | MX_SW_HS | Button_Switch_Keyboard:SW_Cherry_MX_2.25u_PCB | SW9, SW76 |
| 1 | ESP32-S3-DevKitC-1 | Devboard ESP32-S3:ESP32-S3-DevKitC-1_2x22_P2.54mm | U1 |
| 1 | MX_SW_HS | Button_Switch_Keyboard:SW_Cherry_MX_2.00u_PCB | SW80 |
| 1 | MX_SW_HS | Button_Switch_Keyboard:SW_Cherry_MX_6.25u_PCB | SW43 |
| 1 | OLED_0.91in_SSD1306_I2C | Devboard ESP32-S3:OLED_0.91in_SSD1306_I2C_4Pin_P2.54mm | DISP1 |
| 1 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_MountingHoles | EC1 |
The 189 most common of 211 parts.
It measures 410.2 × 126.5 mm and has 2 copper layers, 1.6 mm thick.
211 parts, built around the ESP32-S3-DEVKITC-1-N8. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the FishcoScorp/FishcoKeyboard repository on GitHub, at the commit this page was made from: the board is Build_Files/75% Keyboard.kicad_pcb and its schematic Build_Files/75% Keyboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask FishcoScorp before reusing the design.

willem-pennings/balancing-cube
A cube that balances itself in a corner or edge using reaction wheels

jazzmonger/Traeger-PID-Controller
Traeger Smoker/Grill Controller based on an

ohasanov-hbrw/tribit32-advanced
A tri-microcontroller, overengineered GameBoy Advance clone. More value was given to the controls and the exterior look, which is cool!



FIPATECH/CDFR26_PAMI
Open source firmware and PCB for a differential mobile robot (PAMI) based on ESP32-S3 - Coupe de France de Robotique

dnhutchins/ETC_Express_Reverse_Eng
The ultimate goal of this work is to develop an interface to use the control surface from a legacy ETC Express 24/48 lighting controller as a modern EOSNomad compatible programming and fader wing.

heckler/esphome-device-configs
Configuration definitions for local ESPHome files