Skip to content

Instantly share code, notes, and snippets.

@borrougagnou
borrougagnou / Chilkey ND104 - Firmware Upgrade.md
Last active July 14, 2026 19:08
Chilkey ND104 - Firmware Upgrade

Firmware Upgrade Guide

This guide explains how to upgrade the firmware of the keyboard and its LCD screen.

Important

Before starting, make sure you download the correct firmware for your device.

Using an incorrect firmware file or a corrupted one can cause your device to be bricked.


@borrougagnou
borrougagnou / ND104_Reverse_Engineered.md
Last active July 14, 2026 07:16
ND104 Reverse Engineering

⚠️ WIP ⚠️

Reverse Engineering of the keyboard ND104 Chilkey

❤️ Also a big thank to my LLM for helping me put my note sorted, with a title, and be able to create this big documentation
another thank to c00k1e for helping me to discover the chipset name/brand and gadgetoid for posting a photo of the second chipset under the keyboard

Device Overview

The ND104 keyboard appears as two separate USB HID devices:

@borrougagnou
borrougagnou / Compatibility_List_Chilkey_ND104_on_Linux.md
Last active May 8, 2026 03:47
Keyboad Chilkey ND104 on Linux - Compatibility List

Linux Compatibility list for ND104 Chilkey

Important

Grant read/write access to the appropriate /dev/hidraw device so the keyboard can communicate over HID.
To do that, execute these scripts :

sudo bash -c 'cat << EOF > /etc/udev/rules.d/99-ubest.rules
# UBEST ND104 Keyboard
KERNEL=="hidraw*", ATTRS{idVendor}=="6d67", ATTRS{idProduct}=="016c", MODE="0666", TAG+="uaccess"
@borrougagnou
borrougagnou / writeline_in_file.py
Last active May 22, 2018 21:06
Write - change 1 line anywhere in python file
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# HOW TO WORK:
# >> writeline_in_file("./folder/myfile.txt", 12, "I write this line in line 12")
# if you want another carriage return read "open() > newline" python manual
def writeline_in_file(path, numline, str, cr=None):
try:
<html class="has-notifications fixedsticky-withoutfixedfixed skrollr skrollr-desktop" lang="fr"><!--<![endif]--><head><link href="blob:http://www.wakanim.tv/28da2c47-e3b9-924c-8755-7b41c8c09a18" type="text/css" crossorigin="anonymous" rel="stylesheet"><link href="http://cdn.theoplayer.com/theoplayer.1.5.4.min.css" type="text/css" crossorigin="anonymous" rel="stylesheet">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="<p style=&quot;margin: 0px; padding: 0px; border: 0px; font-family: arial; vertical-align: baseline; line Episode 1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff">
<title>Episode 1 - Gate sur Wakanim.TV !</title>
<link rel="apple-touch-icon" href="//cdncontent.wakanim.tv/images/apple-touch-icon.png"><style type="text/css">#detector { display: none !important; }</style><style type="text/css">#nopub { display: block !important; }</style>