Part List


ESP32 development board

As a microcontroller, I used DOIT ESP32 DevKitV1(1) that I had at hand. I believe that any board should be ok as far as ESP-WROOM-32 chip is on your board. 

Li-ion battery charger module

TP4056 Li-ion battery charger module with protection(1)
Purchased from eBay.

DC-DC Converter

DC-DC [ 1.8V-5V to 3.3V ] Step Down/Up Converter (1)
Purchased from eBay.
Note:

Battery, Connector, Switch

  1. 18650 battery(1-2), no over charge protection
  2. Connector, for battery(1 set)
  3. Slide switch(1)
Note:
  • I can't find this slide switch so you will have to modify the palm-rest if it is different in size.
  • This connector was a little too big.

Key caps and Cherry MX mechanical switches

  1. PBT Keycaps DSA 1u Blank Printed Keycaps(20)
  2. 3 Pin Brown Cherry MXMechanicalKeyboard(20)
Note: I failed to 3D-print this cap because it has a too small hall so I sought after them at eBay.

Diode, LED, Resiste

  1. 1N4148 (19)
  2. 3mm dia. LED (1)
  3. 1/4W Metal Film Resistor, 1% Tolerance, 470 Ohm (1)

Wires, Connector housing

  1. 28AWG, Blue
  2. 24AWG, Yellow, Red, Black  
  3. 2.54mm Crimp and Connector Housing, 1x1(2), 1x2(1), 1x3(1), 1x4(1)  

Note: 28AWG for signal lines, 24AWG for power lines

Screws

Flat head screws 3.5x5 (5)

3D printed parts

  1. Key panel (1)
  2. Body (1)
  3. Palm rest (1)
Note: 3D printed parts stl files.  Rhino's file.
Layer height: 0.2 mm
Support: yes
Material: PLA

Assembly


Schematic

Schematic
Fritzing
Note: The diagram of the key panel is a bottom view.

Soldering the key panel

Soldering the key panel
  1. Solder the diodes
  2. Solder the wire
  3. Assemble the connector housings
Note: The image is viewed from the back.

Soldering the boards and the LED light

Soldering the boards and the LED light
  1. Battery connector - Battery charger module B+, B-
  2. Battery charger module out+, out- - ESP32 board
  3. Solder the LED and resister, protect them with a heat-shrink tube and connect it to ESP32
  4. Connect the thumb side key switch to ESP32 board

Solder the battery on the palm rest

Solder the battery on the palm rest
Note: Make sure that both batteries are in the same voltage if you use two batteries.
The batteries are in parallel.

Glue the boards onto the body

Use a Glue gun to hold the boards onto the body.
Because the DC-DC converter will be heating up, I used a UV-cure glue for it.

Glue the battery

Use a Glue gun

Upload the program

  1. Prepare the ESP-IDF development environment in your system (Reference)
  2. Download the programs from my GitHub repository
  3. Flash the ESP32

Edit Rhino's Aliases file

  1. Make an alias file
  2. Import the file in the options of Rhino