hardware overview - alliecatowo/zmk-sofle GitHub Wiki

Hardware Overview

The ZMK AllieCat Sofle is a wireless split ergonomic keyboard featuring 58 keys, RGB underglow, OLED displays, and a rotary encoder. This document provides comprehensive information about the hardware components, specifications, and technical details.

๐Ÿ”ง Core Components

Microcontrollers

  • Model: Nice!Nano v2 (or compatible nRF52840-based controllers)
  • Processor: Nordic nRF52840 ARM Cortex-M4 @ 64MHz
  • Memory: 1MB Flash, 256KB RAM
  • Connectivity: Bluetooth 5.0 Low Energy
  • USB: USB-C connector for charging and data
  • Power: Built-in battery charging circuit
  • GPIO: 21 available pins for keyboard matrix and peripherals

Display System

  • Model: Nice!View 128x32 OLED displays
  • Resolution: 128x32 pixels monochrome
  • Interface: I2C communication
  • Power: 3.3V operation
  • Features: Low power consumption, high contrast
  • Mounting: Direct socket connection to controller

Mechanical Switches

  • Compatibility: MX-style mechanical switches
  • Socket Type: Kailh hotswap sockets (5-pin)
  • Switch Support: 3-pin and 5-pin switches
  • Actuation: Depends on switch choice (typically 45-80g)
  • Travel: Standard 4mm total travel, 2mm actuation point

Rotary Encoder

  • Model: EC11 series rotary encoder
  • Type: Incremental encoder with push button
  • Resolution: 20 pulses per revolution (configurable in firmware)
  • Push Button: SPST momentary switch
  • Mounting: PCB mounted with securing nut
  • Shaft: 6mm flatted shaft for knob attachment

๐ŸŽจ Lighting System

RGB Underglow

  • LED Type: WS2812B addressable RGB LEDs
  • Count: 36 LEDs total (18 per half)
  • Voltage: 5V operation (with level shifting)
  • Control: Single data line, chainable configuration
  • Colors: 16.7 million colors (24-bit RGB)
  • Effects: Multiple built-in effects, customizable

Backlight System

  • Type: PWM-controlled LED backlight
  • Control: Software brightness adjustment
  • Power: External power control via MOSFET
  • Integration: Coordinated with RGB system

๐Ÿ”‹ Power System

Battery Specifications

  • Type: Lithium Polymer (Li-Po) rechargeable
  • Recommended: 3.7V, 301230 form factor (300mAh)
  • Connector: JST PH 2.0mm 2-pin connector
  • Charging: Via USB-C when connected
  • Protection: Over-discharge protection built-in

Power Management

  • Charging IC: Built into Nice!Nano
  • Charging Current: 100mA (safe for small batteries)
  • Sleep Mode: Deep sleep with wake-on-keypress
  • Power Monitoring: Battery level reporting via ADC
  • Auto-off Features: RGB and display timeout

Power Consumption

Mode Left Half Right Half Total
Active (no RGB) 5-8mA 3-5mA 8-13mA
Active (RGB on) 15-50mA 15-50mA 30-100mA
Sleep Mode 50-100ยตA 50-100ยตA 100-200ยตA
Deep Sleep 5-10ยตA 5-10ยตA 10-20ยตA

๐Ÿ“ Physical Specifications

Dimensions

  • Overall Width: ~320mm (split, separated)
  • Overall Depth: ~110mm per half
  • Thickness: ~20mm (without keycaps)
  • Key Spacing: 19.05mm (0.75") center-to-center
  • Angle: 5ยฐ built-in tenting angle

Layout Details

  • Keys: 58 total (29 per half)
  • Rows: 5 rows per half
  • Columns: 6-7 columns per half (irregular)
  • Thumb Cluster: 3 keys per thumb
  • Encoder: 1 rotary encoder (left half)

PCB Specifications

  • Layers: 2-layer PCB construction
  • Thickness: 1.6mm standard PCB
  • Surface Finish: HASL or ENIG
  • Solder Mask: Green (standard)
  • Silkscreen: White component labels

๐Ÿ”Œ Connectivity

Wireless Communication

  • Protocol: Bluetooth Low Energy (BLE)
  • Frequency: 2.4GHz ISM band
  • Range: 10+ meters line-of-sight
  • Profiles: 5 stored connection profiles
  • Latency: <10ms typical, <5ms optimized
  • Pairing: Standard BLE pairing process

Split Communication

  • Method: Wireless BLE connection between halves
  • Master: Left half (default configuration)
  • Slave: Right half receives from left
  • Synchronization: Real-time key state sharing
  • Fallback: Independent operation if connection lost

USB Connection

  • Connector: USB-C on both halves
  • Function: Charging and data (Studio mode)
  • Power: 5V input for charging
  • Data: Serial communication for Studio
  • Compatibility: USB 2.0 Full Speed

๐Ÿงฉ GPIO Pin Assignments

Left Half (Master)

// Matrix scanning
Row 0: P0.19    Col 0: P1.02
Row 1: P0.08    Col 1: P1.15
Row 2: P0.12    Col 2: P1.04
Row 3: P0.11    Col 3: P1.06
Row 4: P1.09    Col 4: P0.09
                Col 5: P0.10

// Peripherals
Encoder A: P1.10    RGB Data: P1.12
Encoder B: P1.14    Backlight: P1.13
Encoder SW: P1.11   Ext Power: P0.13
I2C SDA: P0.17      Battery: P0.31
I2C SCL: P0.20

Right Half (Slave)

// Matrix scanning  
Row 0: P0.19    Col 0: P1.02
Row 1: P0.08    Col 1: P1.15
Row 2: P0.12    Col 2: P1.04
Row 3: P0.11    Col 3: P1.06
Row 4: P1.09    Col 4: P0.09
                Col 5: P0.10
                Col 6: P1.11

// Peripherals
RGB Data: P1.12     I2C SDA: P0.17
Backlight: P1.13    I2C SCL: P0.20
Ext Power: P0.13    Battery: P0.31

๐Ÿ”ง Assembly Components

Required Components (Per Half)

  • 1x Nice!Nano v2 controller
  • 1x Nice!View OLED display
  • 29x Mechanical switches
  • 29x Keycaps
  • 1x Li-Po battery (301230 recommended)
  • 18x WS2812B RGB LEDs
  • Various resistors, capacitors, and support components

Left Half Additional Components

  • 1x EC11 rotary encoder
  • 1x Encoder knob
  • Additional support circuitry for encoder

Optional Components

  • Switch films for improved feel
  • Stabilizers for larger keys
  • Foam dampening material
  • Custom keycap sets
  • Artisan keycaps

โšก Electrical Characteristics

Operating Conditions

  • Supply Voltage: 3.0V - 3.6V (battery), 5V (USB)
  • Operating Temperature: -10ยฐC to +70ยฐC
  • Storage Temperature: -20ยฐC to +85ยฐC
  • Humidity: 5% to 95% non-condensing

Signal Specifications

  • Logic Level: 3.3V CMOS
  • Input High: >2.0V
  • Input Low: <0.8V
  • Output High: >2.4V @ 4mA
  • Output Low: <0.4V @ 4mA

Timing Specifications

  • Matrix Scan Rate: 1000Hz (1ms)
  • Debounce Time: 5-8ms (configurable)
  • BLE Connection Interval: 7.5ms (configurable)
  • USB Report Rate: 1000Hz when connected

๐Ÿ›ก๏ธ Safety and Compliance

Certifications

  • FCC Part 15: Class B digital device
  • CE Marking: European conformity
  • RoHS Compliant: Lead-free construction
  • Bluetooth SIG: BLE certification

Safety Features

  • Over-discharge Protection: Battery protection circuit
  • Short Circuit Protection: USB and power rails
  • ESD Protection: Input/output pins protected
  • Thermal Protection: Automatic shutdown on overheating

๐Ÿ” Quality Control

Testing Procedures

  • Matrix Testing: All key positions verified
  • Connectivity Testing: BLE and USB functionality
  • Power Testing: Battery charging and consumption
  • Display Testing: OLED functionality and contrast
  • RGB Testing: All LEDs for color accuracy
  • Encoder Testing: Rotation and button function

Quality Standards

  • Key Switch Life: 50+ million actuations
  • Encoder Life: 30,000 rotation cycles
  • Battery Cycles: 500+ charge/discharge cycles
  • Connection Reliability: 99.9% uptime in normal conditions

๐Ÿ”„ Firmware Integration

Hardware Abstraction

  • Device Tree: Complete hardware description
  • GPIO Mapping: All pins defined and labeled
  • Clock Configuration: Optimized for power and performance
  • Peripheral Drivers: I2C, SPI, PWM, ADC support

Power Management

  • Sleep States: Multiple power saving modes
  • Wake Sources: Keypress, encoder, USB connection
  • Power Domains: Independent control of subsystems
  • Battery Monitoring: Real-time capacity reporting

๐Ÿ“Š Performance Metrics

Latency Measurements

  • Key to BLE: 3-8ms average
  • Key to USB: 1-3ms average
  • Split Sync: 5-10ms between halves
  • Encoder Response: <2ms rotation to action

Battery Life Estimates

Usage Pattern RGB Setting Estimated Life
Light Use Off 6-12 months
Normal Use Low brightness 2-4 months
Heavy Use Medium brightness 1-2 months
Gaming High brightness 2-4 weeks

๐Ÿ› ๏ธ Customization Options

Hardware Modifications

  • Switch Films: Improve switch feel and sound
  • Gasket Mounting: Enhanced typing experience
  • Foam Dampening: Sound dampening materials
  • Weight Addition: Increased keyboard heft

Firmware Customization

  • Keymap Changes: Layout modifications
  • RGB Effects: Custom lighting patterns
  • Encoder Functions: Application-specific controls
  • Power Settings: Battery life optimization

๐Ÿ“‹ Compatibility Matrix

Controller Compatibility

Controller Compatible Notes
Nice!Nano v2 โœ… Yes Recommended, full feature support
Nice!Nano v1 โš ๏ธ Limited Missing some features
Pro Micro โŒ No No wireless capability
Elite-C โŒ No No wireless capability

Display Compatibility

Display Compatible Notes
Nice!View โœ… Yes Recommended, optimized support
Generic OLED โš ๏ธ Limited May require firmware changes
No Display โœ… Yes Fully functional without display

For technical support or hardware questions, contact [email protected] or consult the ZMK Documentation for firmware-related information.

โš ๏ธ **GitHub.com Fallback** โš ๏ธ