stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

2h 17m 1s logged

Devlog #2: Schematic Finalization, Feature Upgrades & PCB Layout Setup

Following up on Devlog #1, I’ve made huge strides in expanding the macropad’s hardware capabilities, solving schematic design checks, and transitioning into physical PCB layout in KiCad!


🚀 Key Feature Additions & Hardware Expansion

Since Devlog #1, I updated the schematic from a basic key matrix to a feature-rich, high-performance design:

  • I2C Port Expander Integration: Replaced the simple diode-isolated matrix with an MCP23017 I2C expander IC. This offloads all 9 mechanical switch inputs to a dedicated chip, freeing up critical GPIO pins on the XIAO ESP32-S3 for fast SPI graphics.
  • EC11 Rotary Encoder Added: Integrated an EC11 encoder with push button for smooth scrolling, volume control, and mode toggling.
  • 1.8” SPI TFT Display & SD Card Slot: Added headers for a 128x160 color TFT display running over hardware SPI (SPI_SCK, SPI_MOSI, TFT_CS, TFT_DC, TFT_RES) along with an SD card reader interface (SD_CS) for loading images and macros.
  • Per-Key RGB Lighting: Added 9x WS2812B addressable RGB LEDs (C1–C9) daisy-chained on a single GPIO line for per-key lighting and animations.

📝 Activities Completed Today

  • Power Filter & Decoupling Circuitry:

    • Added 100nF ceramic decoupling capacitors across VDD and GND for all 9 WS2812B RGB LEDs (C1–C9) and the MCP23017 IC (C10) to eliminate power noise.
    • Selected and added a bulk 22µF 16V MLCC ceramic capacitor (0805 footprint) (C11) directly across the main 5V line near the Seeed Studio XIAO ESP32-S3 module to handle current spikes when LEDs flash full brightness white.
  • Board Stackup & Design Rules:

    • Configured PCB properties to a cost-effective 2-layer stackup (1.6mm thickness, FR4).
    • Resolved mechanical mounting pad (MP) warnings on the EC11 rotary encoder footprint.
    • Set up custom Net Classes:
      • Power Class (5V, 3V3): 0.60mm track width, 0.25mm clearance, 0.8mm/0.4mm via sizing.
      • Default Signal Class: 0.25mm track width, 0.20mm clearance.
  • Layout Alignment & Ground Plane:

    • Configured a custom 19.05mm (750 mil) grid in PCB Editor preferences for exact mechanical key switch alignment (Alt+1 shortcut).
    • Created and rendered a full GND Copper Zone (B.Cu) across the bottom layer with thermal reliefs for clean ground grounding and easy hand-soldering.

📋 Checklist Status

  • Add Rotary Encoder, TFT Display, and RGB LED components to schematic
  • Finalize footprint assignments for all components
  • Save footprint assignments and launch the PCB Layout Editor
  • Define PCB edge outline and arrange all mechanical component footprints
  • Complete trace routing for signal, SPI bus, and RGB power chains
0
10

Comments 0

No comments yet. Be the first!