On the Subject of Transmitting Hexabuttons

These buttons can transmit more than just morse code.

To start off, hover over the center button. This will cause each of the buttons to light up with different levels of brightness. Use the button’s position as well as the brightness (with 0 being pitch black) on the table below to get the button’s value:

012345
TL353325210701
TR342622080212
ML272309031317
MR241004141828
BL110515192931
BR061620303236

From the highest value to the lowest, ‘read’ the buttons to get a 6 character code.

To read a button, hover over said button to light up multiple buttons. Each lit up button represents a 1 and each non-lit up button represents a 0 in top to bottom, left to right order (TL ML BL TR MR BR). Press the hovered button to get a sequence of 3 pitches. If you are unable to hear, press the Status Light to enable/disable Deaf Mode. While in Deaf Mode, pressing the button will cause a white dot to appear in 3 different positions: Top Middle Bottom.

Split the binary into 3 pairs of bits and assign each pair the (pitch that played)/(white dot’s location) at that position. Determine which table to use below using the (pitch that played)/(white dot’s location), then use the position of the pitch/location as the row and the paired bits as the column to get a new binary sequence.

Low/BottomMedium/MiddleHigh/Top
LowMediumHigh
Low/BottomMedium/MiddleHigh/Top
00011011
1st01101100
2nd10110001
3rd11000110
00011011
1st11000110
2nd01101100
3rd10110001
00011011
1st10110001
2nd11000110
3rd01101100

Convert the binary string into braille by treating each 1 as a raised dot and each 0 as an empty space. Turn the braille character into a letter/number using the table below:

a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
1
2
3
4
5
6
7
8
9
0

The next step is to transmit each character using Semaphore while in transmit mode. Each button, when arranged from their values from highest to lowest, gets a assigned character of A, B, C, D, 1, and 2 respectively.

The buttons assigned (1, 2) will change between the groups of (N, NE, E, SE) and (S, SW, W, NW) respectively. The buttons assigned (A, B, C, D) will transmit the direction according to the list in the previous sentence. The first direction transmitted will transmit the left hand and the second direction transmitted will transmit the right hand.

To enter transmit mode, press the center button. This will cause the button to flash indicating that it is in transmit mode. You can exit out of the transmit mode at any time by pressing the center button.

At the start of transmission, the module doesn’t know if you are transmitting in Letter or Number mode. Transmit the 2 button presses that correspond to Letters/Numerals to enter that mode.

Every time you transmit a character, a non-center button’s led color will turn green, and go in reading order. Transmitting the wrong character will cause the module to strike. However, it won’t strike until 6 characters have been transmitted.

When using this table, substitute 1, 2, A, B, C, D with their respective positions. The binary assumes top to bottom, left to right ordering of the digits obtained. “Letters” and “Numbers” correspond to switching between inputting letters or numbers.

Chr.Binary/ActionPresses
-Numbers1 A B
A / 1100000 / 0100002 B A
B / 2110000 / 0110002 C A
C / 3100100 / 0100102 D A
D / 4100110 / 0100111 A 2 A
E / 5100010 / 0100012 A 1 B
F / 6110100 / 0110102 A 1 C
G / 7110110 / 0110112 A 1 D
H / 8110010 / 0110012 C B
I / 9010100 / 0010102 B D
J / -010110 / Letters1 A C
K / 0101000 / 0010112 B 1 A
L1110002 B 1 B
Chr.Binary/ActionPresses
M1011002 B 1 C
N1011102 B 1 D
O1010102 C D
P1111002 C 1 A
Q1111102 C 1 B
R1110102 C 1 C
S0111002 C 1 D
T0111102 D 1 A
U1010012 D 1 B
V1110011 A D
W0101111 B C
X1011011 B D
Y1011112 D 1 C
Z1010111 D C