Skip to the content
PCBKitNew board
2 layers86 × 72.5 mmLEFT Parade, the printed circuit board in 3D

A compact device used by left hand

Size
86 × 72.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
40
Nets
31
Pads
153
Tracks, vias
350, 8
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
30 Dec 2025
Updated
6 Mar 2026

Overview

LEFT Parade is an open-source printed circuit board by EEprotocol, from the EEprotocol/LEFT_Parade repository on GitHub, published under the MIT licence. It is a 2-layer board of 86 × 72.5 mm with 40 parts on 31 nets, routed with 350 tracks and 8 vias.

It is built around the 74LS139PC. Its parts include 17 switches, 11 diodes, 3 capacitors, 2 ICs and 1 resistor. It belongs with the ESP32, SAM D and SAM and RISC-V boards of this library.

Main components

1

README

README.md

Japanese docs

LEFT Parade Project

This is a so-called left-hand device.
You can also use it with your right hand.
It is intended for situations where you use a pen display tablet or similar device with one of your hand and want to trigger macros with the other hand.

TL;DR

navigate

Specifications

  • Connectivity is Bluetooth only. Wired connections are not supported.
    This limitation is due to the ESP32-C3; however, by using a board such as the ESP32-S3 that supports USB HID, wired operation can be implemented.
  • A battery can be installed (3.7 V Li-ion).
    Connect it directly to the battery terminals on the surface of the ESP32-C3.
  • Up to 80 different macros can be configured using simultaneous key presses
    (Arduino IDE is required to configure the macros).
  • To enable the above behavior, commands are sent when the key switch is released, not when it is pressed.
  • 2 mode implimented switched by the push switch in the rotary encoder:
    1. Combination Mode In this mode, you can assign 80 macros for the combination of multiple keys. The command is send to PC when you release the keys.
    2. Fast Attack Mode The number of assignment decline to 8 (same as the number of keys), but the command is send when you push the keys. You can use this mode if you mind the delay.

Bill of Materials

ComponentPrice (JPY)
PCB110
Rotary encoder (ec11e15244g1)550
Knob190
ESP32-C31,080
Keycap × 870
Key switch × 8330
Battery450
Demultiplexer SN74HC139N135
DIP socket (8 × 2 rows)135
Pin socket (8 pin) × 2136
Total3,186

Installation

Hardware

Circuit Diagram

circuit scheme The annotation of the parts on the PCB corresponds to the circuit diagram.
I made a place for the LED D11, but system does not use it.

soldering map

circuit If you make this device as Left hand device, you solder on the parts surronded by red and purple line, and If you make it as right hand device, solder on the parts with purple and blue line. The component mounting side aligns with the side marked with the respective part indicators.

Software

  1. Install Arduino IDE on your PC, e.g.
    yay -S arduino-ide

  2. Install library Mystfit/ESP32-BLE-CompositeHID.

  3. Upload to leftandmechv5_PCB/leftandmechv5_PCB.ino to ESP32-C3.

Macros

You can set the macro in the preamble of the .ino scripts.

cpp
const uint8_t KC_SAVE[] = { 0x01, KEY_S };
const uint8_t KC_COPY[] = { 0x01, KEY_C };
const uint8_t KC_PASTE[] = { 0x01, KEY_V };
const uint8_t KC_DELETE[] = { 0x4c };
const uint8_t KC_m[] = { KEY_M };
const uint8_t KC_UNDO[] = { 0x01, KEY_Z };
const uint8_t KC_ESC[] = { KEY_ESC };
const uint8_t KC_UP[] = { KEY_UP };
const uint8_t KC_DOWN[] = { KEY_DOWN };
const uint8_t KC_LEFT[] = { KEY_LEFT };
const uint8_t KC_RIGHT[] = { KEY_RIGHT };
const uint8_t KC_PAGE_NEXT[] = { 0x01, KEY_RIGHT };
const uint8_t KC_PAGE_BACK[] = { 0x01, KEY_LEFT };

The list of uint8_t refers the operation s.t. Ctrl+S, ESC, or Delete. This list of macro is commonly used in the two mode. In the list, terms of keys except the last term is regarded as modifier keys s.t. Alt, Ctrl or Shift.

1. Combination Mode

For this mode, you can set the assignment with keymap[].

cpp
const keyMapEntry keymap[] = {
  { 1, { KC_SAVE, 2 } },
  { 54, { KC_ESC, 1 } },
  { 4, { KC_COPY, 2 } },
  { 7, { KC_PASTE, 2 } },
  { 2, { KC_DELETE, 1 } },
  { 6, { KC_m, 1 } },
  { 28, { KC_UNDO, 2 } },
  { 18, { KC_UP, 1 } },
  { 9, { KC_DOWN, 1 } },
  { 27, { KC_LEFT, 1 } },
  { 3, { KC_RIGHT, 1 } },
  { 8, { KC_PAGE_NEXT, 2 } },
  { 20, { KC_PAGE_BACK, 2 } }
};

The first number refers the keyID of the combinaiton, second string refers the macro which you defined above and the last number refers the number of the element of the list of the macro. You can calculate the keyID as following:

assignment

2 refers the upper key, 1 refers the lower key, 0 refers no pushed. In this mode, it is prohibited to push 2 keys in a column.

2. Fast Attack Mode

cpp
const keyMapEntry direct_key[] = {
  { 1, { KC_LEFT, 1 } },
  { 2, { KC_UP, 1 } },
  { 3, { KC_DOWN, 1 } },
  { 5, { KC_RIGHT, 1 } }
};

The key ID which plades the first number corresponds to the following assignment:

assignment

Todo

  • Impliment the GAME mode which sends commnad when keys are pushed
  • Fabricate a PCB
  • Prepare the other version: RIGHT Parade

Special Thanks

Contact

If you have something to ask, please mail to keik4656@gmail.com.

Parts

40
QtyValueFootprintReferences
81SS355VMDiode_THT:D_A-405_P7.62mm_HorizontalD1, D2, D3, D4, D5, D6, D7, D8
8SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9
8SW_Push_reverseesp32_xiao:SW_Cherry_MX_1.00u_PCB_reverseSW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17
3, ,
30.1uFCapacitor_THT:C_Axial_L5.1mm_D3.1mm_P7.50mm_HorizontalC1, C2, C3
3LEDLED_THT:LED_D3.0mm_ClearD9, D10, D11
11kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1
174LS139Package_DIP:CERDIP-16_W7.62mm_SideBrazedU2
1LOGOillust:normaltype_bitG***
1LOGOillust:normaltype_bit_reverseG***
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC12E-Switch_Vertical_H20mmSW1
1SeeeduinoXIAOesp32_xiao:ESP32C3_FootprintU1

The 39 most common of 40 parts.

Questions

How big is the LEFT Parade PCB?

It measures 86 × 72.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the LEFT Parade use?

40 parts, built around the 74LS139PC. 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 LEFT Parade KiCad files?

From the EEprotocol/LEFT_Parade repository on GitHub, at the commit this page was made from: the board is LEFT_Parade_kicad/LEFT_Parade.kicad_pcb and its schematic LEFT_Parade_kicad/LEFT_Parade.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the LEFT Parade 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

  • 2 layers231.1 × 106.7 mmSnark barker, the printed circuit board in 3D

    Snark barker

    schlae/snark-barker

    A 100% compatible replica of the famed SB 1.0 sound card

    199 parts687
  • 2 layers125 × 98 mm3-in-1, the printed circuit board in 3D

    3-in-1

    mudmin/AnotherMaker

    This is where I will store code snippets for AnotherMaker Videos

    44 parts258
  • 2 layers182.9 × 172.7 mmMulti, the printed circuit board in 3D

    Multi

    homebrew8088/8088-PC-Compatible

    8088 PC XT Compatible

    120 parts238GPL-3.0
  • 2 layers370.8 × 298.5 mm8 Bit Computer, the printed circuit board in 3D

    8 Bit Computer

    The-Invent0r/8-bit-Computer-PCB

    These are the KiCAD files for my 8-Bit Computer.

    323 parts142
  • 2 layers83.8 × 60.8 mmCart FeRAM, the printed circuit board in 3D

    Cart FeRAM

    soniccd123/Genesis-FeRAM-Cart

    A open Sega Genesis cartridge PCB

    16 parts89
  • 4 layers99 × 91.7 mmEPSM Famicom, the printed circuit board in 3D

    EPSM Famicom

    Perkka2/EPSM

    NES Expansion Port Sound Generator

    60 parts76
  • 2 layers116.2 × 79.2 mmSNES Advanced UV 1-0 new, the printed circuit board in 3D

    SNES Advanced UV 1-0 new

    MouseBiteLabs/Super-Nintendo-Cartridges

    A collection of Super Nintendo cartridge circuit boards

    66 parts70CC-BY-SA-4.0
  • 2 layers155.2 × 78.6 mm80ColumnCard, the printed circuit board in 3D

    80ColumnCard

    btb/80ColumnCard

    An Apple II 80-Column Card. Based on the Videx Videoterm

    47 parts43Apache-2.0