Skip to the content
PCBKitNew board
2 layers133.8 × 91.4 mmCorne chocolate, the printed circuit board in 3D

Corne chocolate

priyankub/corne

Corne Chocolate Wireless Keyboard (nice!nano v2, nice!view, RGB LED, battery support)

Size
133.8 × 91.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
104
Nets
83
Pads
664
Tracks, vias
2,966, 403
Pours
7
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
29 Sep 2026
Updated
29 Sep 2026

Overview

Corne chocolate is an open-source printed circuit board by priyankub, from the priyankub/corne repository on GitHub, published under the MIT licence. It is a 2-layer board of 133.8 × 91.4 mm with 104 parts on 83 nets, routed with 2,966 tracks and 403 vias.

It is built around the SK6812MINI-E. Its parts include 33 inductors, 23 switches, 21 diodes, 4 connectors and 1 IC. It belongs with the keyboards and input and lEDs and displays boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

Corne Chocolate Wireless

A modern, low-profile split ergonomic keyboard based on the Corne (crkbd) Chocolate v2.1 footprint. Designed for completely wireless operation with nice!nano v2, native 5-pin nice!view (Sharp Memory LCD) support, onboard power management, and RGB backlighting.

Corne Chocolate Wireless


Key Features

  • Low-Profile Choc v1: Kailh Choc PG1350 switches with hotswap sockets.
  • Native nice!view Header: 5-pin pinout tailored specifically for nice!view and Sharp Memory LCD modules ([CS, MOSI, SCK, VCC, GND]) without adapter boards or bodge wires.
  • Dedicated Power Control: Onboard slide power switch (PCM12) and 2-pin JST-PH 2.0mm LiPo battery connector routing power directly to the controller's RAW pin.
  • RGB Matrix & Underglow: 27× SK6812MINI LEDs per side (6 underglow + 21 per-key).
    • WS2812 data line routed to Pin 2 (P0.08 / D0) to dedicate Pin 1 (P0.06 / D1) to the display Chip Select (CS).
  • Reversible PCB: A single reversible PCB design is flipped for either the left or right hand.
  • ZMK Firmware Ready: Complete ZMK configuration, keymap, and GitHub Actions build workflow included out of the box.

Hardware Specifications & Pinout

Microcontroller (nice!nano v2 / nRF52840)

Signalnice!nano PinnRF PinFunction
CS1 (TX0 / D1)P0.06Display Chip Select
LED2 (RX1 / D0)P0.08WS2812 RGB Data
SDA / MOSI3 (D2)P0.17Display MOSI / I2C SDA
SCL / SCK4 (D3)P0.20Display SCK / I2C SCL
RAW24—Battery positive (switched via power slide switch)

5-Pin Display Connector Pinout

Viewed from the front (component side) with header pins at the bottom:

text
Pin:    [ 1 ]      [ 2 ]      [ 3 ]      [ 4 ]      [ 5 ]
Signal:  CS        MOSI       SCK        VCC        GND
        (P0.06)    (P0.17)    (P0.20)   (3.3V)

Assembly & Solder Jumpers

Because the PCB is reversible, you bridge the 5 solder jumpers on the top (active) side of each half to route the display signals:

  • Left Hand (Top / Front side facing up): Solder jumpers JP1 through JP5 on the front layer (F.Cu).

    • JP5 $\rightarrow$ Pin 1 (CS)
    • JP4 $\rightarrow$ Pin 2 (MOSI / SDA)
    • JP3 $\rightarrow$ Pin 3 (SCK / SCL)
    • JP2 $\rightarrow$ Pin 4 (VCC)
    • JP1 $\rightarrow$ Pin 5 (GND)
  • Right Hand (Bottom / Back side facing up): Solder jumpers JP6 through JP10 on the back layer (B.Cu).

    • JP6 $\rightarrow$ Pin 1 (CS)
    • JP7 $\rightarrow$ Pin 2 (MOSI / SDA)
    • JP8 $\rightarrow$ Pin 3 (SCK / SCL)
    • JP9 $\rightarrow$ Pin 4 (VCC)
    • JP10 $\rightarrow$ Pin 5 (GND)

[!TIP] Only solder the jumpers on the top side of each half. Leave the jumpers on the underside unbridged.


Fabrication & Ordering

Ready-to-manufacture files are located in hardware/production/:

FileDescription
Corne_Chocolate_2.1.zipComplete Gerber & Drill archive (JLCPCB / PCBWay ready)
bom.csvBill of Materials with footprint designators
positions.csvPick & Place (CPL) component coordinates
netlist.ipcIPC-D-356 electrical test netlist

Recommended Fab Settings (JLCPCB)

  • Base Material: FR-4 (1.6mm thickness or 1.2mm for ultra-low profile)
  • Layers: 2 layers
  • Surface Finish: ENIG (recommended for hotswap durability) or HASL Lead-Free
  • Silkscreen: Black PCB with white silkscreen (or standard preferences)
  • Castellated Holes: No

Firmware (ZMK)

The repository includes a battle-tested ZMK setup under firmware/:

  • Custom SPI Pinctrl: Configures P0.08 for the WS2812 LED chain, preserving P0.06 for display CS.
  • Sleep & Power Management: Deep sleep timeout set to 30 minutes with soft-off support.
  • ZMK Studio: Enabled for real-time keymap remapping without reflashing.

Building Firmware

Build using the included GitHub Actions workflow or locally with the ZMK toolchain:

bash
west build -b nice_nano//zmk -d build/left -- -DSHIELD="corne_left nice_view_adapter nice_epaper"
west build -b nice_nano//zmk -d build/right -- -DSHIELD="corne_right nice_view_adapter nice_epaper"

Repository Layout

text
.
├── hardware/                  # KiCad 9 PCB and Schematic source files
│   ├── corne-chocolate.kicad_pro
│   ├── corne-chocolate.kicad_sch
│   ├── corne-chocolate.kicad_pcb
│   ├── corne-chocolate.step
│   ├── kbd/                   # KiCad symbol & footprint libraries
│   └── production/            # Gerbers, Drill, BOM, and CPL files
└── firmware/                  # ZMK configuration & build recipes
    ├── config/                # corne.keymap and corne.conf
    └── build.yaml             # GitHub Actions matrix configuration

Note for Prototype (First Batch) Builders

If you are working with an early prototype PCB printed before September 2026 (which had the display header signals routed in reverse order), you can run thin enamel jumper wires across the solder pads on the front of the left half instead of reprinting:

  • JP5 Pad 2 (Screen Pin 1 / CS) $\rightarrow$ Wire to JP1 Pad 1
  • JP4 Pad 2 (Screen Pin 2 / MOSI) $\rightarrow$ Wire to JP5 Pad 1
  • JP3 Pad 2 (Screen Pin 3 / SCK) $\rightarrow$ Wire to JP4 Pad 1
  • JP2 Pad 2 (Screen Pin 4 / VCC) $\rightarrow$ Wire to JP3 Pad 1
  • JP1 Pad 2 (Screen Pin 5 / GND) $\rightarrow$ Wire to JP2 Pad 1

The files currently in this repository have this issue resolved natively in copper.

Parts

104
QtyValueFootprintReferences
21Dkbd:D3_SMDD1, D2, D3, D4, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21 +5
21SK6812MINIkbd:SK6812MINI_revL1, L2, L3, L4, L10, L11, L12, L13, L14, L15, L16, L17, L18, L19, L20, L21 +5
20SW_PUSHkbd:Choc_HotswapSW1, SW2, SW3, SW4, SW5, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20 +4
12SK6812MINILED_SMD:LED_SK6812MINI_PLCC4_3.5x3.5mm_P1.75mmL22, L22, L23, L23, L24, L24, L25, L25, L26, L26, L27, L27
10~kbd:JumperJP1, JP2, JP3, JP4, JP5, JP6, JP7, JP8, JP9, JP10
9kbd:LEGO_HOLE, , , , , , , ,
2BATConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalJ1, J1
2LOGOkbd:corneG***, G***
2SW_SPDTButton_Switch_SMD:SW_SPDT_PCM12SW22, SW23
1LEDkbd:StripLED_revJ3
1OLEDConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_VerticalJ2
1ProMicrokbd:ProMicro_v2U1
1SW_PUSHkbd:ResetSWRSW1
1SW_PUSHkbd:Choc_Hotswap_1.5uSW21

Questions

How big is the Corne chocolate PCB?

It measures 133.8 × 91.4 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Corne chocolate use?

104 parts, built around the SK6812MINI-E. 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.

Where can I download the Corne chocolate KiCad files?

From the priyankub/corne repository on GitHub, at the commit this page was made from: the board is hardware/corne-chocolate.kicad_pcb and its schematic hardware/corne-chocolate.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Corne chocolate design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers234 × 84 mmMain panel, the printed circuit board in 3D

    Main panel

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    234 parts3kApache-2.0
  • 4 layers180.8 × 300.3 mmDilemma, the printed circuit board in 3D

    Dilemma

    Bastardkb/Dilemma

    The Dilemma is a vertical stagger low-profile keyboard with mods.

    383 parts590
  • 4 layers48 × 32 mmFlatSat, the printed circuit board in 3D

    FlatSat

    Pwnsat/FlatSat

    Flatsat v1.0 is a hardware based platform for aerospace cybersecurity research

    106 parts575GPL-2.0
  • 2 layersDemo, the printed circuit board in 3D

    Demo

    adamws/kicad-kbplacer

    KiCad plugin for automatic keyboard's key placement and routing

    48 parts547GPL-3.0
  • 2 layers97 × 78.5 mmDumbpad, the printed circuit board in 3D

    Dumbpad

    imchipwood/dumbpad

    Simple 4x4 numpad with rotary encoder. Powered by QMK via ATmega32u4 Pro Micro

    62 parts517GPL-2.0
  • 4 layers82.5 × 39.4 mmV4head, the printed circuit board in 3D

    V4head

    makerforgetech/modular-biped

    An open source framework for creating a bipedal modular companion robot.

    26 parts493GPL-3.0
  • 2 layers115.7 × 95.7 mmFifi split keeb, the printed circuit board in 3D

    Fifi split keeb

    raychengy/fifi_split_keeb

    Fifi Keyboard 🐶 ⌨️

    66 parts334
  • 4 layers70 × 54 mmPicoLab, the printed circuit board in 3D

    PicoLab

    CoretechR/PicoLab

    Web-GUI Embedded Multitool

    285 parts327GPL-3.0