

Push n turn-61
USB Midi controller with 6 keys and a rotary encoder based on CH55G
- Size
- 150.1 × 35 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 27
- Nets
- 28
- Pads
- 139
- Tracks, vias
- 272, 15
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 14 Feb 2025
- Updated
- 13 Feb 2026
Overview
Push n turn-61 is an open-source printed circuit board by concept-code-design, from the concept-code-design/push-n-turn-midi61 repository on GitHub. It is a 2-layer board of 150.1 × 35 mm with 27 parts on 28 nets, routed with 272 tracks and 15 vias.
It is built around the CH552G and WS2812B-2020. Its parts include 8 switches, 7 diodes, 3 capacitors, 3 resistors and 1 IC. It belongs with the audio and music boards and the 8051 (CH55x, STC, AT89) boards of this library.
Main components
2CH552G
SOP-1616KB 24MHz 3.3V~5V 51 Family 8bit FLASH SOP-16 Microcontrollers (MCU/MPU/SOC) ROHSWCH (Nanjing Qinheng Microelectronics)Microcontrollers (MCU/MPU/SOC)WS2812B-2020
SMD,2.2x2mm0.6mA 0.84mm 120us 160mcd 200mcd 2kHz 2mm 2mm 300ns 470.4nm 515.6nm 520mcd 5V 622.5nm 800Kbit/s Built-in power-on reset circuit、Built-in power-on reset circuit、Integrated intelligent reverse connection protection function Top-mount SMD,2.2x2mm RGB LEDs(Built-in IC) ROHSWorldsemiRGB LEDs(Built-In IC)
README
README.mdPush-n-Turn 61
Push-n-Turn 61 is a USB MIDI controller with 6 keyboard switches (RedDragon low profile), a rotary encoder and 7 RGB leds (WS8212).
The device sports a USB type-C connector and requires no device drivers on Mac or PC.
The keys can be configured (via MIDI messages, or the configurator) to produce notes, CC codes (momentary or toggle mode). The encoder produces 0..127 on a configurable CC channel. The encoder button produces 127/0 on a CC channel of choice. Each switch has an RGB led that shows the state of the switch. The device uses a modified midi library for CH55x devices made by mi:muz
Configuring the keys
Configuration of the keys can be done by sending midi codes to the device. You can use python midiutil for this (https://github.com/sourcebox/midiutil). The module listens to CC codes on channel 10 (0xBA on midiutil)
start configuration 0xBA, 0x64, 0x2A
end configuration and store data in EEprom 0xBA, 0x64, 0x2B
programming switches uses the following format prefix (185) type+switch note/value type is 1: note mode 2: CC momentary mode 3: CC toggle mode switch is 1..6 type and switch are combined into a number with first position for type, second for switch. So 12 is switch 2 in note mode, 35 is switch 5 in CC toggle mode note/value is the note or CC code associated to the switch (C3 (middle C) is 60).
./midiutil.py -d 1 -w 185 11 60 will configure switch one to produce a C3 when pressed.
0xBA 0x64 0x2C produces device type 0xBA 0x64 0x61 in [61, 31, 40, 51, F4] for 6key+1rot, you get the idea
0xBA 0x64 0x2D returns the firmware revision: 0xBA, 0x64, 0x10 for instance for rev 1.0
Links & References
License

Concept & Code invests time and resources providing this open source design, please support them and open-source hardware by purchasing products from Etsy or Tindie!
Designed by Ronald Leenes.
Firmware released under an GNU AGPL v3.0 license. See the LICENSE file for more information.
Hardware released under an CERN Open Hardware Licence v1.2. See the LICENSE_HARDWARE file for more information.
February 2025
Parts
27| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | WS2812B-2020 | LED_SMD:LED_WS2812B-2020_PLCC4_2.0x2.0mm | D1, D2, D3, D4, D5, D6, D7 |
| 4 | MountingHole_2.7mm_M2.5_ISO14580 | MountingHole:MountingHole_2.7mm_M2.5_ISO14580 | h1, h1, h1, h1 |
| 3 | 100n | Capacitor_SMD:C_0805_2012Metric | C1, C2, C3 |
| 2 | 5k1 | Resistor_SMD:R_0805_2012Metric | R1, R2 |
| 2 | key3 | Button_Switch_Keyboard:SW_RedDragon5.5m_Ali_1.00u | SW3, SW6 |
| 1 | 10k | Resistor_SMD:R_0805_2012Metric | R3 |
| 1 | CH552G | Package_SO:SOP-16_4.4x10.4mm_P1.27mm | U1 |
| 1 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E_Vertical_H20mm | SW7 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J1 |
| 1 | boot | Button_Switch_SMD:SW_Push_SPST_NO_Alps_SKRK | SW8 |
| 1 | key1 | Button_Switch_Keyboard:SW_RedDragon5.5m_Ali_1.00u | SW1 |
| 1 | key2 | Button_Switch_Keyboard:SW_RedDragon5.5m_Ali_1.00u | SW2 |
| 1 | key4 | Button_Switch_Keyboard:SW_RedDragon5.5m_Ali_1.00u | SW4 |
| 1 | key5 | Button_Switch_Keyboard:SW_RedDragon5.5m_Ali_1.00u | SW5 |
Questions
How big is the Push n turn-61 PCB?
It measures 150.1 × 35 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Push n turn-61 use?
27 parts, built around the CH552G and WS2812B-2020. 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 Push n turn-61 KiCad files?
From the concept-code-design/push-n-turn-midi61 repository on GitHub, at the commit this page was made from: the board is hardware/KiCAD/push-n-turn-61.kicad_pcb and its schematic hardware/KiCAD/push-n-turn-61.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Push n turn-61 design in my own project?
Its repository states no licence, so its author keeps all rights: ask concept-code-design before reusing the design.
Similar boards
- 2 layers30.4 × 12.7 mm

- 2 layers40.6 × 27.9 mm

- 2 layers40 × 40 mm

- 2 layers38.6 × 15.7 mm

LIPS V3.2
milar111/L.I.P.S.
OpenSource Affordable SipAndPuff device: Linear Interface for Paralysis Support
21 parts13 - 2 layers28.4 × 15.9 mm

- 2 layers51 × 44 mm

- 2 layers105.9 × 83.1 mm

BSidesDFW 2019
gowenrw/BSidesDFW_2019_Badge
This is where all the files for the BSidesDFW 2019 Badge will be stored. This includes code and art and cab and fab files. All the things.
30 parts5MIT - 2 layers43.2 × 24.9 mm
