BookStudyDigest

Sunday, 1 May 2022

[New post] Cistercian keyboard

Site logo image Tauno Erik posted: " Keypad with cipher numerals. This keyboard is for me more of an art project. And the opportunity to learn how things work. What is the underlying code and history! Arouse people's curiosity. What are Cistercian"

Cistercian keyboard

Tauno Erik

May 1

Keypad with cipher numerals.

This keyboard is for me more of an art project. And the opportunity to learn how things work. What is the underlying code and history! Arouse people's curiosity.

What are Cistercian numerals

The medieval number system was invented by the Cistercian order in Europe in the 13th century. Cistercians are a Catholic religious order of monks and nuns. They used, amongst themselves, a secret number notation. No one really knows about it until about 20 years ago, a British orientalist and historian David A. King wrote a book about it. It was used by various different groups for kinds of medieval cyphers and secret number systems. It is a system that can only write every number from 0 to 9999. It can not to any other numbers. It is really easy to use for dates and page numbers of books.

Hardware components

  • Seeed XIAO-RP2040
  • Custom PCB (Made by Seeed Fusion)
  • Keyboard switches (20 pcs)
  • USB-C to USB-A cable
  • Selfmade keyboard housing (birch plywood, screws)
  • Selfmade keycaps (solid oak and birch plywood)

XIAO-RP2040

It uses a Raspberry Pi RP2040 chip like Pico.

XIAO RP2040 has:

  • Small size 20x17.5 mm
  • USB-C
  • 11 pins + power pins
  • Reset button
  • Boot button
  • RGB LED (user-programmable)
  • Power LED (2 colours)
  • User LED
  • 264KB SRAM and 2MB Flash memory
  • Dual-core ARM Cortex M0+ processor, 133 MHz
  • 3.3V!

Custom PCB

My design contains four columns and five rows of switches.
Next time, I'd leave more space between the switches. Right now they are quite tight.
It's the first time when I ordered yellow PCBs. I think it's a good fit with my wooden mechanical keycaps and housing.

PCBs are made by Seeed Fusion. I ordered five and two assembled. I think they look nice. Pads are gold plated. Only one PCB has some kind of colour drip. Otherwise, they look and feel good.

Anomaly 1 - design fault?

When the board was assembled and I started to program I discovered that there is an anomaly: when I pressed the [ 0 ] key the third row will be stopped to work completely. It works physically but no signal will be registered in the MCU. The same thing happened when I pressed the [ , ] key and the fourth row goes to silent.

This is maybe the most interesting part of this kind of project to me, to discover why things do not work as expected. Is it a software error or hardware fault? Thankfully I had a second similar board to do experiments. The same anomaly was repeated on another board.

First I looked into the software. What really happens when I press the key? To read keys we turn row pin LOW and read column pins one by one. When the column pin is LOW then this key is pressed down. Otherwise, it stays a HIGH. I discovered that after I pressed the bad key some rows stayed LOW all the time.

x Col 1 Col 2 Col 3 Col 4
Row 1 % /
Row 2 7 8 9 *
Row 3 4 5 6 -
Row 4 1 2 3 +
Row 5 0 . =

I was checking all the hardware connections and there were no errors. Maybe this anomaly happens because these pins are also RX and TX pins? Anyway. Since the board had two unused pins I decided to rewire these rows. And it is not an easy task, thanks to these all thin traces on the PCB. This hack fixes the anomaly.

Keycaps

Keycaps are made the same way as on my previous keyboard. Which can be found here. Only that this time engraving them by hand. Not with a laser.

Design ideas

The main components are the keycaps. And everything else is as minimum as possible.

Software

First I planned to use PlatformIO with the Arduino framework, but this board (XIAO-RP2040) is not yet supported on PlatformIO. So I used Arduino IDE.

There have multiple choices to program it:

  • CircuitPython/MicroPython and Thonny
  • Arduino IDE (Install XIAO RP2040 Board)
  • Raspberry Pi Pico C/C++ SDK
  • PlatformIO with the Arduino framework (Not supported yet!)
  • etc.

Anomaly 2

There is also a second anomaly. In keyboard mode, some keys give a different result than they should. When I Serial print them they all look good and the hex codes are correct. But in keyboard mode, I see different key presses.

Key hex On screen hex
/ 0x2F - 0x2D
* 0x2A ( 0x28
- 0x2D + 0x2B
+ 0x2B ` 0x60
= 0x3D ´ 0xB4

Links

  • The Forgotten Number System - Numberphile
  • Cistercian numerals
  • Cipher
  • Cipher runes
  • Seeed XIAO RP2040
  • Seeed XIAO RP2040 wiki
  • David A. King
  • Project and code on Github
  • Project on Hackster.io
Comment
Like
Tip icon image You can also reply to this email to leave a comment.

Unsubscribe to no longer receive posts from Tauno Erik.
Change your email settings at manage subscriptions.

Trouble clicking? Copy and paste this URL into your browser:
http://taunoerik.art

Powered by WordPress.com
Download on the App Store Get it on Google Play
at May 01, 2022
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest

No comments:

Post a Comment

Newer Post Older Post Home
Subscribe to: Post Comments (Atom)

The Consecrated Eminence: Coming Home to the Archives: New Audiovisual Materials Available Through Amherst College Digital Collections

...

  • The Consecrated Eminence: 80 Years Later: Remembering Hiroshima and Nagasaki August 6 & 9, 1945
    ...
  • [New post] Mackintosh — Beyond the Swelkie (2021)
    peterson10 posted: "Mackintosh, Jim, and Paul S. Philippou, eds. Beyond the Swelkie: A Collection of Poems and Writings Cel...
  • PLDT Home honors mothers on their special day with a heartwarming video titled Backstage Moms
    Motherhood is definitely one of the hardest endeavors a woman can take in her li...

Search This Blog

  • Home

About Me

BookStudyDigest
View my complete profile

Report Abuse

Blog Archive

  • November 2025 (1)
  • August 2025 (2)
  • April 2025 (1)
  • September 2024 (859)
  • August 2024 (946)
  • July 2024 (879)
  • June 2024 (843)
  • May 2024 (875)
  • April 2024 (1018)
  • March 2024 (1239)
  • February 2024 (1135)
  • January 2024 (934)
  • December 2023 (923)
  • November 2023 (818)
  • October 2023 (743)
  • September 2023 (712)
  • August 2023 (722)
  • July 2023 (629)
  • June 2023 (566)
  • May 2023 (584)
  • April 2023 (629)
  • March 2023 (551)
  • February 2023 (399)
  • January 2023 (514)
  • December 2022 (511)
  • November 2022 (455)
  • October 2022 (530)
  • September 2022 (418)
  • August 2022 (412)
  • July 2022 (452)
  • June 2022 (467)
  • May 2022 (462)
  • April 2022 (516)
  • March 2022 (459)
  • February 2022 (341)
  • January 2022 (385)
  • December 2021 (596)
  • November 2021 (1210)
Powered by Blogger.