TP78 is a three mode mechanical keyboard project based on CH528M. It is designed to meet the four fundamental needs of portable wireless, custom, shortcut keys and trackpoint. TP78 is based on the 75% keyboard configuration and uses a touchbar to achieve the left, middle and right buttons. OLED, USB HUB and magnetic interface are also integrated. TP78 shell can be printed and assembled by bambulab A1mini or other 3D printers. (Join QQ group 678606780 for learning more and communications)
V2.0 :Video shown in bilibili:【软软核】为自己做一把小红点三模键盘_哔哩哔哩_bilibili
V2.1:Video shown in bilibili: TP78指点杆三模键盘-Gasket版出炉啦 (速来拼车)_哔哩哔哩_bilibili
- 【V2.1】Update bootloader(kboot) to support firmwares draging upgrade which is available for purchased board.
- 【V2.1】Optimize the Gasket shell structure for easier 3Dprint or CNC.
- 【V2.1】Optimize sliding functions of the touchbar.
- Support VIA keycodes setting.
- Support U-disk keycodes setting and function setting.
- Support a touchbar or a capmouse.
- Integrate the USB hub interface.
- Add two magnetic extend ports.
- Add RF 2.4G mode and a RF receiver project.
- Support the I2C trackpoint.
- Add vibration feedback function when the touchbar is working.
- Add more beautiful OLED UI.
- Add more Fn functions.
- Add lowpower modes.
bilibili:@i丶m皮皮 @阿炜阿阿炜阿
Tik Tok:@i丶m皮皮
Video shown in bilibili:https://www.bilibili.com/video/BV1jVpneNEpq/
-
TP78foc —— A FOC controlled motor knob, small keyboard expansion module
purchase link: 淘宝(taobao.com)
-
TP78mini —— A three mode examination digital keypad module
purchase link: 淘宝(taobao.com)
intrudoction video:【开源】历时3年,打造一个模块化力反馈旋钮小键盘
https://makerworld.com/zh/models/172159#profileId-189031
https://oshwhub.com/bibilala/tp78_2022-08-31
https://github.com/ChnMasterOG/tp78_v2
https://github.com/ChnMasterOG/tp78_v2/releases/
https://github.com/ChnMasterOG/tp78_v2/blob/main/documents/TP78v2指导文档.pdf
PCB Name | Description | Board Thickness |
---|---|---|
0.键盘主板 | keyboard PCB | 1.6mm |
1.Hub供电板 | USBhub PCB | 1.0mm |
2.Minimal_2 | M.2 interface CH582M core PCB | 0.8mm(Gold pads) |
3.触摸条 | touchbar PCB | 1.2mm (Pay attention to color) |
4.磁吸转接小板 | magnetic module PCB | 1.0mm |
5.接收器 | 2.4GHz receiver PCB | 0.8mm(Gold pads) |
File Name | Description |
---|---|
底座左 Left Bottom Case.step | Left side of the keyboard |
底座右 Right Bottom Case.step | Right side of the keyboard |
定位板左 Left Plate.step | Left side of the positioning plate |
定位板右 Right Plate.step | Right side of the positioning plate |
上盖左 Left Top Case.step | Left side of the cover |
上盖右 Right Top Case.step | Right side of the cover |
Reference the V2.0 video
flowchart LR
A(repository) --> B(documents)
A(repository) --> C(mounriver_project)
A(repository) --> D(firmware)
A(repository) --> F(tools)
C(mounriver_project) --> G(KEYBOARD_CH582M - main project)
C(mounriver_project) --> H(RF_CH582M - receiver project)
C(mounriver_project) --> J(VLD_CH582M - test project)
VIA: https://www.bilibili.com/video/BV1rL41167qy
KEY MACRO: https://www.bilibili.com/video/BV1Yu4y1S73Q
-
Q: How to enter WCH ROM bootloader(not recommended for non-developers)?
-
A: Press and hold the boot button on the baseboard to power on.
-
Q: How to enter kBoot?
-
A: Fn+B or press and hold the ESC key on the baseboard to power on.
-
Q: How to enter the RF receiver bootloader?
-
A: After entering RF mode, connect the receiver and press Fn+ESC to enter the ROM bootloader. Note: The first 4K of CodeFlash will be erased after the receiver enters the bootloader, and the program must be downloaded first after powering on. If you need to upgrade the receiver firmware and keyboard main firmware at the same time, upgrade the receiver firmware first and then upgrade the keyboard main firmware. Be careful not to flash the wrong receiver firmware, otherwise you will be unable to connect and enter the bootloader again.
-
Q: How to use WCH ISPTools?
-
A: Tool directory:tools/WCHISPTool/WCHISPTool_Setup.exe
-
Double-click the software installation tool and related drivers;
-
MCU series selection: "32-bit low-power Bluetooth series", chip selection: CH58x, chip model: CH582;
-
Find your device in the USB device list. If it cannot be found, try re-entering BOOT;
-
Check the relevant download configuration according to your needs. Generally, you can use the default configuration;
-
Select target program file 1 and check the option box on the right;
-
Finally click download.
-
-
Q: Flashing firmware for the first time and OLED shows FATFS-FAIL(Solution A)
-
A: The first download requires flashing the production firmware (or compiling the production firmware by opening the FIRST_USED macro in HAL.h). After flashing, pop up the USB disk and select format. After formatting, power off and restart. Restart and flash the official version of the firmware. After flashing, make sure that the configuration information of the official version of the firmware is the latest. You need to press Fn 5 times to reset the configuration. After resetting, restart the keyboard and it will work normally.
-
Q: Flashing firmware for the first time and OLED shows FATFS-FAIL(Solution B - recommended)
-
A: When flashing firmware for the first time, check the DataFlash file, select firmware/DefaultFS.BIN, and click download. After flashing, make sure the firmware configuration information is the latest. You need to press Fn 5 times to reset the configuration.
You can submit you code here. Thanks for your support of TP78.
- V2.0.11
1. Fixed the problem that some hardware OLEDs do not works when powered on.
2. Add release firmwares with start address 0x0.
3. Fixed BUG: Any button that pops up will cause all buttons to pop up.
- V2.0.12
1. Add Game Mode(Improving keyboard performance at the cost of sacrificing some features).
2. Change function(RF bootloader jumping) Fn+M to Fn+ESC.
- V2.0.13
1. Optimized low-power mode. Now, bluetooth will not disconnect if the OLED is turned off.
2. Add configurations "idle_cnt" and "lp_cnt".
- V2.0.14
1. SP Keys don't work. Now this bug is fixed.
2. Add "disable irq" during the trackpoint is read.
- V2.0.15
1. Modify keyboard bounce codes to avoid duplicate key-codes.
2. Optimize the judgment of USB HID information transmission status.
- V2.1.1
1. Optimize HID encoding logic when pressing buttons and update I2C driver.
2. Update WCH SDK to the January 2024 version.
3. After updated this version, the Numlock status will be displayed on OLED in RF mode. When the signal is poor and packet loss occurs, the keyboard will automatically initiate a retransmission. The default retransmission time is 10ms, which can be modified through the RF_chk_ms parameter. This function needs to be synchronized and upgraded with the receiver firmware before it can take effect.
4. Adapt to miniFOC and TP78mini expansion modules.
5. Update low power codes.
- V2.1.2
1. Support VIA keyboard macro functions. (Keep old U-disk functions)
- V2.1.3
1. Cancel the vibration of the left/middle/right button on TP78 touchbar, in order to fix the bug where the combination of the trackpoint and touchbar causes the former to be unable to move.
2. Optimize the connection stability of the TPM module.
3. Modify the HID descriptor configuration of USB/BLE/RF and add knob configuration. After updating the version, it is necessary to upgrade the receiver firmware.
4. Update the document to include instructions for VIA, U-disk, and OLED icon descriptions.
- V2.1.4
1. Fix BUG: There are some errors when using Capslock+Space alone to simulate left and right mouse buttons(Issue #3).
- V2.1.5
1. Add motor_en configuration: The motor vibration is controlled by this configuration.
- V2.1.6
1. Add new mode: USB with BLE Coexistence Mode.
2. Modify the VIA layout file. The original keyboard layout file is 15 columns, but there are only 14 columns in reality. So we modify the firmware VIA related codes.
- V2.1.7
1. Fix BUG: Unable to remotely wake up host at USB mode.