Ultimate Unicode Input Device

Type any character in the world!

Similar projects worth following
Still using a keyboard with 100+ switches?
Having trouble typing pretty emojis?
Forgotten how to read a kanji?
Want to type strange character anyway?

Type all characters with 18 toggle switches and 1 pushbutton !

How it works?

The device is recognized by the host PC as a USB-HID keyboard.
Depending on the state of the toggle switch when the push switch is pressed, it sends special commands and the character is entered on the PC.

I use Circuit Python on Raspberry Pi Pico, which is easy to modify code for, as different operating systems and software use different methods for unicode codepoint input.

How to typing "😀"

  1. set toggle switches to 01 11111010 00000000 (0x1F600)
  2. press return key
  3. (For windows + win compose) send "Alt", "U", "1F600" as hid keyboard
  4. 😀

How to typing "🏴󠁧󠁢󠁥󠁮󠁧󠁿" (flag of England) with variation selector

"🏴󠁧󠁢󠁥󠁮󠁧󠁿"  is 0x1F3F4 0xE0067 0xE0062 0xE0065 0xE006E 0xE0067 0xE007F

  1. set 0x1F3F4 and press return
  2. set 0x0062 and hold return (send 0xE0062)
  3. repeat
  4.  🏴󠁧󠁢󠁥󠁮󠁧󠁿


  • 1 × Rapberry pi pico with circuit python
  • 18 × Toggle switch SPDT /
  • 1 × Kailh box white switch with keycap or your favorite switch!
  • 1 × 3d printed case with screw and insert nut

View project log

  • 1
    Install CircuitPython to pico

    Prepare CircuitPython according to this instalation.

  • 2
    Design and make enclosure

    Design the enclosure to match toggle switches to be used.

    My 3D printer doesn't have enough work area to output at once, so I designed it to be able to print out separate pieces and glue them together.

  • 3
    Soldering Time!

    Install toggle switches and pico, solder as shown in this schematic.

    It is not important which pins are wired, as it can be easily modified in the firmware.

View all 4 instructions

Enjoy this project?



Ken Yap wrote 07/04/2022 at 08:55 point

1F923 1F44D

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates