Skip to content

cheyao/macropad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Macropad

Hello! This is my first time designing a PCB and a CAD.

Designed using:

  • KiCad - Made a ton of revisions
  • OpenSCAD then FreeCAD (Fusion 360 doesn't work on my mac lol) Got like 400 constraints in my freecad project
  • Python firmware

Notes

Making the pad was fun ^.^ but I was just too paranoid that something would go wrong and made 15+ revisions lol. Ended up learning how to use OpenSCAD and FreeCAD.

BOM

  • 1 SEEEDUINO XIAO RP2040
  • 16x Kailh Choc V2 switches
  • 16x 1N4148 diodes
  • 1x SSD1306 128x64O LED (5V VCC, 3.3V logic, I2C)
  • 4x SK6812-MINI-E LED
  • 2x 4.7k resistor
  • 4x 0.1 uF capacitor (code 104, not obligatory but best have)
  • 1x 1 uF capacitor (105 not obligatory)
  • 4x same screws as orpheuspad and corresponding nuts
  • 1kg of 99.99% gold please UwU

Interactive bom at PCB/production/ibom.html

File list:

.
├── CAD                                         # 3D Files
│   ├── case.FCStd                              # Case FreeCAD design file
│   └── case
│       └── case.stl                            # The stl for the case
├── PCB
│   ├── macropad.step                           # 3D Model of the board
│   ├── production                              # The output directory for production (Just send this folder to JLCPCB)
│   │   ├── Cyao_macropad_v7.6.zip              # Final gerbers
│   │   ├── *.{csv,ipc}                         # Misc files for JLCPCB
│   │   └── ibom.html                           # Interactive bom for PCBAlex <3
│   └── third_party                             # 3rd party libraries
│       ├── Kalih                               # The keys
│       ├── OPL_Kicad_Library                   # Seed footprint
│       ├── KiCad-SSD1306-128x64-master         # LCD
│       └── Seeeduino-xiao-rp2040-KiCAD-Library # Seed schema
└── firmware                                    # Directory of my own firmware
    ├── adafruit-circuitpython-seeeduino_xiao_rp2040-en_US-9.1.4.uf2 # Circuitpython firmware
    ├── main.py                                 # Main firmware
    ├── boot.py                                 # Boot options (empty)
    └── kmk                                     # kmk firmware

NOTE: I will need a 0.96” SSD1306 OLED screen that accepts 5V with 3.3V logic

The resistors are allso probably optional - but suggested by reddit