Introduction: Hemisphere Keyboard

Picture of Hemisphere Keyboard

This brass and glass USB keyboard supports 36 essential writing keys, and is perfect for writing stories. It is constructed using several different maker crafts; metal work, lampwork glass, electronics, wire wrapping and even a little bit of wood work. I used different tools from my workshop. A jeweler saw and bench, a lampwork torch, steel mandrels, ruler, tweezers, flex shaft, wire strippers, soldering iron. Materials are: Wooden doll head, 36 push buttons, 50+ feet of wire, hollow brass rods in several diameters, blue glass, fingernail glue, gorilla glue, Teensy board, electrical tape, heat shrink and stone clay.

Step 1: Wire Wrap the Push Buttons

Picture of Wire Wrap the Push Buttons

Using 22G insulated wire, cut 12 lengths of wire, each about 30cm long. Use wire strippers to remove about 10cm of insulation and use the wire strippers to slice six gaps in the insulation, each about 1.25 cm apart.

For my build, I did not use 1.25cm spacing throughout. I started with .75cm and went up to 2cm. This resulted in more uneven keys I think, so in the future I'll probably just use 1.25cm or 2cm consistently. 

Test your push buttons so you know which two leads are the same, and using the needle nose pliers, form two small wire loops a distance apart as wide as your push button leads, around 5 mm.

Straighten the push button legs, and place them through the holes then fold them out to hold the push button in place. Slide the insulation over (you may need to use some strength to do that) and form two more loops for the next push button. Attach six push buttons to the first six lengths of wire. 

Using the remaining six lengths of wire, once again cut slices in the insulation about 1.25 cm apart. Then carefully link the rows of buttons together. Flip the entire grid over, and carefully solder the backs of all the rows and columns in place. 

Step 2: Program Teensy

Picture of Program Teensy

Test out your grid matrix. To do this you need to program the Teensy Board. I use the Teensy 3.0 board from this website:

The pin layout is at the following link:

I used the Teensy because it is very easy to turn it into a USB keyboard. After setting up your Teensy and testing it out with a simple blinking light, in the Arduino program, click on "Tools" then under "USB Type" select "Keyboard+Mouse+Joystick" and switch to the following code:

*NOTE* For now, don't worry about which button results in whatever key. In fact, it might be better to change all of the keys to #'s 4-9 and A-Z ( USE CAPITALS ) and use symbols like { } + to replace the keys labeled 1,2,3. This makes it easier to sit there and test to make sure you are actually receiving each button. ( Which I did in step 5 ) If you do this, do not use the numbers 1,2 or 3 for testing purposes. Those keys are mapped to Delete, tab and shift.

To type a capital letter, press shift, release, then press they key you want to capitalize. 

  Keypad sketch
  prints the key pressed on a keypad to the serial port

  Successfully tested 06/28/13

const int numRows = 6;       // number of rows in the keypad
const int numCols = 6;       // number of columns
const int debounceTime = 20; // number of milliseconds for switch to be stable
  { '6','7'}
// keymap defines the character returned when the corresponding key is pressed
const char keymap[numRows][numCols] = {
  { 'z','b','o' , 'x','3','j'},
  { '.','m','l' , ',','"','k'},
  { '?',' ','p' , 'v','\'','n'},
  { '2','w','t' , 'q','1','e'},
  { 's','g','i' , 'c','\n','h'},
  { 'a','f','u' , 'd','y','r'}
// 1 is delete
// 2 is tab
// 3 is shift

// this array determines the pins used for rows and columns
const int rowPins[numRows] = { 1,2,3,4,5,6 }; // Rows 0 through 3
const int colPins[numCols] = { 10,12,13,14,15,16};    // Columns 0 through 2
char sft = '0';

void setup()
  for (int row = 0; row < numRows; row++)
    pinMode(rowPins[row],INPUT);       // Set row pins as input
    digitalWrite(rowPins[row],HIGH);   // turn on Pull-ups
  for (int column = 0; column < numCols; column++)
    pinMode(colPins[column],OUTPUT);     // Set column pins as outputs
                                         // for writing
    digitalWrite(colPins[column],HIGH);  // Make all columns inactive

void loop()
  char key = getKey();
  delay(debounceTime); // This is a 'keyboard debounce' time
  if ( key == '1' ) {
    // Delete;
    key = '0';
  if (key == '2' ) {
    // Tab;
    key = '0';
  if (key == '3' ) {
    // Shift
    sft = '1';
    key = '0';
  if( sft == '1') {
    if ( key != '0' ) {
       key = toupper( key );
       sft = '0';
  if( key != '0') {       // if the character is not 0 then
                          // it's a valid key press

// returns with the key pressed, or 0 if no key is pressed
char getKey()
  char key = '0';                                  // 0 indicates no key pressed
  for(int column = 0; column < numCols; column++)
    digitalWrite(colPins[column],LOW);         // Activate the current column.
    for(int row = 0; row < numRows; row++)     // Scan all rows for
                                               // a key press.
      if(digitalRead(rowPins[row]) == LOW)     // Is a key pressed?
        delay(debounceTime);                   // debounce
        while(digitalRead(rowPins[row]) == LOW); // wait for key to be released
        key = keymap[row][column];             // Remember which key
        digitalWrite(rowPins[row],HIGH);       // reset pushed button to high                                   
    digitalWrite(colPins[column],HIGH);     // De-activate the current column.
  return key;  // returns the key pressed or 0 if none

Step 3: Hollow the Doll Head and Drill Holes to Interior

Picture of Hollow the Doll Head and Drill Holes to Interior

I used a wooden doll head as the base shape. The problem with this is that the center of the doll head is full of wood, so it needed drilled out inside. I drilled 12 holes through the sphere for the wires of the button matrix to use to go inside and travel out the central base hole.

Step 4: Form Matrix to Ball

Picture of Form Matrix to Ball

Take your grid of buttons, and carefully push the ends of the 'row' wires through their holes and into the center of the wooden ball.

Make sure you keep the row wires separated from the column wires.

Pull the column wires through, and shape the grid of buttons. I used a glue gun to throughly anchor each button, but it was probably not necessary. 

I used the wire spool as a temporary anchor and to keep the two groups of wire separated.

Step 5: Apply First Coating of Clay

Picture of Apply First Coating of Clay

Apply a thin layer of  Premier Light Weight Stone Clay. Just enough to cover the exposed wiring. Let it dry until hard. I think I let it sit for 3 days. Store the rest of your clay in a ziplock bag.

At this point, after the clay dried, I went through and pressed each key, and wrote a corresponding key map in pencil on the dried clay. The primary purpose of this was to make sure all of the buttons worked.

Step 6: Saw Brass Tubing

Picture of Saw Brass Tubing

Buy 5 tubing sizes in inches:  
In the store check to make sure the five sizes fit snugly inside of each other. You want a 'telescope' effect.

Saw the following lengths of tube:

36 pieces of 6/16" in sections about 4/16" long

36 pieces of 5/16" in sections about 1.5" long

72 pieces of 4/16" in sections about 3/8" long

72 pieces of 3/16" in sections about 3/8" long

36 pieces of 2/16" in sections about 1.5" long

That is only 252 cuts total... it took me about 2 days.

*NOTE* The tubing must be sawed, using a tube cutter slightly crimps the end preventing the tubing from fitting together. I also filed each cut slightly, but that was probably not necessary.

Step 7: Glue Tubing

Picture of Glue Tubing

Using nail glue, make the two parts of each button. 

One  5/16" tube with 6/16" tube glued outside of bottom end and one 4/16" and 3/16" tube glued inside of top end.

One 2/16" tube with 3/16" and 4/16" tube glued about 1/2" away from one side.

Then test your button:
Once the glue dries ( in about 5 minutes maximum ) stick the long end of the plunger through the bottom end of the base.

Step 8: Lampwork the Glass Keys

Picture of Lampwork the Glass Keys

Use the ends of your steel mandrel's which are 1/8" thick, lampwork 36 beads with only a single side hole. 

Any sort of one sided bead would work as a key, so if needed you could form them out of fimo clay or some other material. 

Step 9: Glue Keys to Brass

Picture of Glue Keys to Brass

Use white Gorilla glue to glue the beads in place on the end of your brass keys. 

DO NOT press the button down until the glue has completely dried.

Step 10: Gather Springs

Picture of Gather Springs

I used clickable ball point pens as the source for the springs used in the buttons.  

The pens are from Staples or any office supply store, and by pressing down on that blue tab you can pop the ink, click button and spring out of the pen.

Gather 36 springs this way. 

( Note: I still haven't figured out a use for the 36 ink sticks, and hollow pens. I'm thinking of making a lamp or something. )

Step 11: Build a Stand

Picture of Build a Stand

I needed a way to hold the sphere while I added buttons, so I removed the temporary stand of the wire roll and build a little stand out of rocks, a plate and some spare wire and tubing. Anything works, the stand is just to make sure the clay is under no stress as it dries.

Step 12: Glue Gun Brass and Glass Keys to Matrix Ball

Picture of Glue Gun Brass and Glass Keys to Matrix Ball

Insert a spring into a brass and glass key, and place the button over the push button.

Place a large blob of glue to stabilize the button and hold it still until the button is able to stay in place once you let go.

Add some additional glue around the border to make sure the button is secured.

Do not worry if the button is still wobbly.

Press the button down and make sure you hear a 'click'. 

Place about five brass buttons, and then place a thick layer (about 1 cm ) of clay around those buttons and let it harden for few hours. Keep doing this until all buttons are secured.

Step 13: Solder Teensy to Wires

Picture of Solder Teensy to Wires

At this point you no longer need the breadboard and can solder the wire connections directly to the Teensy. I bought a Teensy with the connectors in place, so it was easier to just use a through hole board for the connections.

Step 14: Finish Base

Picture of Finish Base

After letting the sphere harden for several days, you can start resting it on the keys as a support.

Tip it on its side and wrap the loose wires with electrical tape. Add a final coating of clay around the base. I used some loops of blue wire to press into the base just to make it look a little cooler, but that is not necessary.

Step 15: Paint Base

Picture of Paint Base

Paint the white clay with black acrylic paint. 

Step 16: Place Key Labels

Picture of Place Key Labels

Holding the keyball in one hand, and looking down, decide which key's you want to correspond to the 26 letters, 5 special keys and 5 punctuation choices.

Modify the code from Step 2, to fit your desired key map.

In general I modeled the key layout on a standard qwerty design, with notable exceptions being SPACE is right in the middle of the board ( pick the button you want to press the most and declare it SPACE ). Special function keys go along the outer perimeter and I picked a section for the three 'lower' punctuation marks ( . , ? ) and another for the two upper marks ( " ' ).

I glue gunned labels on it for now, using tweezers to place each label. I might make them permanent or let them fall off. It depends how easily I can use the keyboard.

Now you are done. Enjoy your spherical keyboard and use it to write a story. 

Step 17: Typing Video

A demo of typing on the spherical keyboard -->

HemiSphere Keyboard from skyberrys on Vimeo.


marc a lu (author)2014-09-16

Hello, I would like to make a hemispherical keyboard but I do not understand how to hold the key. If you could do me a shema (I do not know if I have made my point, I do not speak English) Thanks for your help

rattlesnake82101 (author)2014-08-05

I see minecraft in the background

wolf112 (author)2014-04-03

I would make it smaller and then make it a full circle and have it connect wirelessly to computers so you can work with one hand and have different keys different sizes so you know which key is which. Also the electronics would be inside it since it would be hollow.

skyberrys (author)wolf1122014-04-03

I am working on a new version now. It will definitely be wireless, fully spherical and hollow inside… exact dimensions I am not yet certain of.

At a recent maker hackathon I attended, one of the teams made this little communication device, that you can hold in one hand, called a touchstone.

JoLoveN (author)2014-02-26

Think it's a cool idea. Could help ppl keep from getting carpal tunnel. Maybe. If you could make it where you could hold it with both hands & learn where the keys are & just type without looking. Like learning on a keyboard. Practice practice practice. Lol. Have you gotta better at using it faster since you made it?

skyberrys (author)JoLoveN2014-04-03

Hi Jo! I managed to speed up enough that several of my letters fell off and I could still type by the touch of the buttons. Then I moved to California from NY and the poor sphere was in storage and I forgot how! I figured out the keys again and am developing a 3D printed model now.

btamagotchi (author)2014-01-19

Congratulations for the brilliant and astonishing project

Horatius.Steam (author)2014-01-07

What a brilliant idea!


With kind regards,

Horatius Steam

skyberrys (author)Horatius.Steam2014-01-07

Thank you!!

ryanjblajda (author)2013-08-04

love the idea, im just scratching my head at the idea of the practicality.

skyberrys (author)ryanjblajda2013-09-20

Quite impractical, but then so are high heels!

mitakskia (author)2013-08-06

Drinking game!
Everyone choose 5-10 different letters (depends on ppl). Throw the 'keysphere' on the table. If you didnt got any of the letters you've chosen - you drink.

skyberrys (author)mitakskia2013-09-20

Excellent game!!! I'll try it out sometime.

randomray (author)2013-09-20

Wow , what a great project . I hope some high tech firm has hired you cause you have great ideas .

skyberrys (author)randomray2013-09-20

I'm starting my own company, help it out, vote for my web app in the Booksmash Hackathon. :) I promise, the two (keyboard & web reader) are related...

-=Dr.Who=- (author)2013-07-16

You don't do fractions well, do you?

It's not 6\16, 4\16 or 2\16. It's 3\8, 1\4 and 1\8. A fraction always contains an odd integer. You always reduce to the lowest common denominator.

So, 6\16 are both Even numbers. What numbers do 6 and 16 share in common?
So, 6 divided by 2 = 3. and 16 divided by 2 = 8.
So, we get 3\8. A proper fraction.

With 4\16, it should be easy to see the number 4 is the answer.
4\4=1 and 16\4=4 So, it's 1\4.

Hope that helps because you can't buy 6\16 inch brass tubing. But you CAN buy 3\8in.
BTW, I'm loving the project! You're doing GREAT! And Really good work on building your own grid matrix! That's no simple task and you really have to use your brain and think it through.
Nice work!

Taranach (author)-=Dr.Who=-2013-07-16

Why yes you CAN buy 6/16th brass tubing... as a matter of fact, some stores will actually list BOTH fractions (even the non reduced) simply because converting between quarters, eighths, and sixteenths can be a pain in the butt on the fly when you are trying to get the OD of one fit the ID of another... if they have already been converted to the greatest common denominator one can easily add and subtract those fractions from one another.

Either way 3/8 = 6/16 = 12/32 = 24/64....

skyberrys (author)Taranach2013-07-17

Agree, it does get confusing.

K4nyix (author)skyberrys2013-07-24

Not even going into the whole metric vs. imperial... I guess you've figured the most practical of the two by yourself ^^

skyberrys (author)K4nyix2013-07-24

I would stick to metric, but I think the metric hollow tubing still had 1/16" thickness of the wall, it was slightly wobbly when I tried to telescope it.

K4nyix (author)skyberrys2013-07-28

I actually just watched a vid by numberphile (a youtube chain, very interesting) about this matter. Turns out, metric is not that practical at all in the end. I mean, sure it is. But it would be more practical to do everything in base 12, and in which case slight modifications to imperial would make it waaaay more efficient than metric. Only... Using the dodecagenal (or dozenal) system would require for everyone to completely change the way they think math... which is totally impossible. The French messed up when they chose to go full decimal as math was and adapt the measurement system to math instead of changing math to the dodecagenal system to adapt it to the measurement system...

Great keyboard! As much as I hate it...being english...go metric. It's less confusing and easier to work with.

AJMansfield (author)-=Dr.Who=-2013-07-24

For some uses, (like machine work) the fractions are all kept at one denominator. However, that's usually only done when the precision of the measurements is known, there the denominator actually represents how precise the measurement is. Knowing that a particular part is exactly five hundred thousandths of an inch (500/1000 or .500 in.) is very different than just saying its half an inch, because the former, unqualified, has, at the largest, a tolerance of ±.001", whereas "half an inch" could be anything, although a common value for such is ±¼".

skyberrys (author)-=Dr.Who=-2013-07-17

The first time I wrote the brass selection step my directions were to "Stand in the store and build telescopes out of brass tubes." Then I switched to a variable format( n = diameter of steel mandrels, d = spring diameter, r = outer diameter ) and finally decided to go with one sixteenths of an inch. I should probably add to choose either metric or english for the units, because I accidentally bought 3mm tubing once.

K4nyix (author)2013-07-24

Hi !
Very good idea and finest crafting, congrats !
As of criticism (there has to be some, hasn't there ?), I think you may be able to find a better key mapping for this to be practical ; maybe having more keys you could keep this uniformly spaced matrix as well as increasing ease of use by having less important keys in the back.
Here is something that might be of interest for v2.0 :
Good luck, and keep us posted if you get to this 2.0 ;)

skyberrys (author)K4nyix2013-07-24

The Key map for this is more a user preference I think. When I type I have almost an instinct to move my hands in various directions, not sure if other people have this as well. I did place less important keys along the outer perimeter. I'll probably redo the keymap for the second one though.

Engraving the keys would be possible, except my lampwork beads were not annealed in a kiln, so I'd probably not try that unless I anneal them first.

K4nyix (author)skyberrys2013-07-28

You obviously are way more knowledgeable than my humble self on the matter : I don't even know the meaning of annealing ;)

As of keymapping, it most definitely is a user preference. I was just throwing this one particular keymap in, just in case you didn't know of it and it could give you some ideas. I use the French version of it (named bépoè) from time to time and it really reduces finger strain when you really get used to it. Thus I thought "if you're already inventing a whole new and different keyboard type, why not take something out of the scientifically most efficient keymap ?"

I seriously hope you find the time and motivation to make another version of this amazing prop. And that it finds the right eyes and comes to the general public, I'm sure there's something to make out of this ! I'd sure buy one, would it end up on the market on a semi-industrial scale.

K4nyix (author)K4nyix2013-07-24

Oh and I almost forgot,
I do not know how complicated that would be, but were you to have the opportunity, engraving the key beads and filling/painting the engraving in brass/black would definitely complete the professional, steampunk-ish look of this design ! (now it of course isn't easy ; but if you got a dremell lying around, I think that's one of the most immediate and cost-free improvement possible :P )

Dr. dB (author)2013-07-20

Fascinating! Very reminiscent of certain portions of the old Type 40 control panels....
Although, as much of a challenge as typing with it seems to be, even for its inventor, I think it would be even MORE interesting as a musical-instrument keyboard or lighting controller....

skyberrys (author)Dr. dB2013-07-24

Thank you, it could be used for other things to, just need to reprogram.

that's a very interesting interface. in some ways it seems quite alien and would go well in a sci fi movie, i wonder if it could be helpful for generating random letter sequences by rolling it along?

Thank you, it would be a fun way to generate letter sequences. I should try it and report on how random it is. Some of the taller keys might be more popular.

BayRatt (author)2013-07-17

Just watched the video... very neat! Would you be able to mount it on a pedestal of some sort & perhaps be able to type with both hands? That would look pretty mystical, I think. Something like that might be good for people that are really spatial and tactile in their learning. Thanks for posting the video, and as someone else mentioned, you do look lovely. :-)

skyberrys (author)BayRatt2013-07-18

Thank you, I think I will mount this version. It's a bit late though b/c I would like to screw it into the base and with the electronics in place it is more difficult. I should have thought of it earlier.

Fast211 (author)2013-07-16

Awesome idea! :) Would love to see a video of this in use.

skyberrys (author)Fast2112013-07-17

Thank you, the video is at

Fast211 (author)skyberrys2013-07-17

I reckon if you mount that on a small stand it would be ideal for kids to use as a fun alternative to a standard keyboard or maybe disabled people with fine motor control problems would find it easier than standard keyboard? how about creating a pyramid or cube version? It would also look really good with leds integrated into each stalk (maybe coming on briefly with each keypress?).

Ps. Your a beautiful woman. Sorry if that sounds a bit awkward and dodgy, i don't mean it to, I mean it as a genuine compliment. :)

lbrewer42 (author)2013-07-16

This reminds me of something you would see in the original Star Trek Series of the 60's... sort of as a concept of how they thought alien/future keyboards would work. Very different, retro-60s-sci-fi looking, artistic, and fantastic out-of-the-box thinking. Looking forward to the video.

skyberrys (author)lbrewer422013-07-17

Thank you, the video is here

I do read a lot of sci fi.

lbrewer42 (author)skyberrys2013-07-17

Thanks for the video - it would be fun to try this.

absolutekold (author)2013-07-16

1) yay minecraft

2) I'm sure it wouldn't be hard to add in LED's for each "key" so they light up when pressed. which would make typing on it very cool to watch. just use an acrylic rod instead of brass and either different color led's or do a randomizing pattern for the multicolored ones so each press is different.

Great job

skyberrys (author)absolutekold2013-07-17

I like the LED's in acrylic. Maybe I could use RBG LED's and each word is a different color pattern... I like all the ideas.

speedygreenkermit (author)2013-07-16

Love it. Great work. Love the art and the style and the idea congrats on making it happen.

Thank you :)

Carlos Marmo (author)2013-07-16

Herrliche Wunderschön!

skyberrys (author)Carlos Marmo2013-07-17

Thank you :)

CashDesign (author)2013-07-16

this is very very very cool

skyberrys (author)CashDesign2013-07-17

Thank you :)

Caractacus Potts (author)2013-07-16

This is a fantastic project, and was very well executed! I look forward to seeing more of your projects in the future.

Thank you :) I'm hoping to make and post more projects.

About This Instructable




Bio: Computer engineering grad student. I make the path.
More by skyberrys:Setting up Microblaze on the Nexys4 FPGA BoardHemisphere Keyboard
Add instructable to: