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!

elena_raven_dev

@elena_raven_dev

Joined September 3rd, 2026

  • 2Devlogs
  • 1Projects
  • 0Ships
  • 0Votes
Open comments for this post

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
0
10
Open comments for this post

1h 59m 52s logged

Devlog #1: Getting Started with KiCad PCB Design

Progress Update

I have officially kicked off the hardware design phase for my custom macropad project!

Here is what I’ve worked on so far:

  • KiCad PCB Setup: Initialized the schematic layout and began setting up the custom board design.
  • Library Management: Explored and imported external KiCad libraries for standard symbols, footprints, and 3D models to ensure component compatibility.
  • Schematic Components Added:
    • Microcontroller: Seeed Studio XIAO (1x)
    • Key Switches: Cherry MX / Kailh Switch (9x)
    • Diodes: 1N4148 THT Diode (9x)

Planned Features to Add:

  • Rotary Encoder: EC11 Rotary Encoder with Push Switch (1x) – for scrolling, volume control, and option selection
  • Display Screen: 1.8 inch SPI TFT Display (128x160 ST7735) – full-color screen for custom graphics, layer status, and rich animations
  • RGB Backlighting: SK6812 MINI-E or WS2812B-Mini (3535) addressable LEDs – per-key lighting and status effects
  • Expansion / Daisy-Chain Port: 4-Pin STEMMA QT / Qwiic Connector (JST-SH 1.0mm) – easily plug in extra sensors or secondary modules over I2C without extra wiring

Currently working through the Assign Footprints tool in KiCad to map each schematic symbol to its corresponding physical footprint.

Next Steps

  • 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 outline and begin component placement
0
0
26

Followers

Loading…