{"id":53,"date":"2011-08-11T10:25:58","date_gmt":"2011-08-11T14:25:58","guid":{"rendered":"http:\/\/alpharesearch.de\/?page_id=53"},"modified":"2011-08-11T15:28:21","modified_gmt":"2011-08-11T19:28:21","slug":"usb-umlaut-keyboard","status":"publish","type":"page","link":"https:\/\/alpharesearch.de\/?page_id=53","title":{"rendered":"USB Umlaut Keyboard"},"content":{"rendered":"<p>I only have US keyboards but sometime I need to write in German. The German alphabet has some more letters like \u00e4 \u00f6 \u00fc for example.\u00a0 <a href=\"http:\/\/en.wikipedia.org\/wiki\/Germanic_umlaut\">Wikipedia<\/a> has some information on the Umlauts.<\/p>\n<p>In the past I use the Windows (only works on MS Windows) Alt Key Codes like this:<\/p>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"3\" summary=\"Code table. The capital letter row precedes the lowercase letter\">\n<tbody>\n<tr>\n<th width=\"25\" scope=\"row\">\u00c4<\/th>\n<td>ALT+0196<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\">\u00e4<\/th>\n<td>ALT+0228<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\">\u00d6<\/th>\n<td>ALT+0214<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\">\u00f6<\/th>\n<td>ALT+0246<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\">\u00dc<\/th>\n<td>ALT+0220<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\">\u00fc<\/th>\n<td>ALT+0252<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\">\u00df<\/th>\n<td>ALT+0223<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\">\u20ac<\/th>\n<td>ALT+0128<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>This works very good but I wanted to just have to press a key or two and not to remember a code. I found <a href=\"http:\/\/www.obdev.at\/products\/vusb\/index.html\">V-USB<\/a> project on the web and I still had some old AVR AT90S2313-10PI at home. I used the HID Key reference project to develop my little keyboard. I had to change the code to not just send one key if pressed but hold ALT down and send 4 other keys. The code uses nearly all the flash of the 2313 so if you want to add more keys or larger commands I suggest to use a AVR with more flash. I think this would also make a good macro keyboard for games. This hardware can send key strokes just like a keyboard and it should work with any application.<\/p>\n<p>Fist I started to put all on a breadboard and got it to work, the only challenge I had was I forgot about the reset 10k resistor to start it up \ud83d\ude42 <a href=\"http:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/UmlKey_bb.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-54\" title=\"UmlKey_bb\" src=\"http:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/UmlKey_bb.png\" alt=\"\" width=\"640\" height=\"484\" \/><\/a><\/p>\n<p>After everything worked on the breadboard I decided I liked it and wanted to make it more permanent installation. I use this version for a long time&#8230;<\/p>\n<p><img decoding=\"async\" style=\"display: block; margin-right: auto; margin-left: auto;\" src=\"http:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/wpid-IMG_20110811_102242-1.jpg\" alt=\"image\" \/><\/p>\n<p>&#8230; until I decided I want to try out <a href=\"http:\/\/kicad.sourceforge.net\">CiKad<\/a> to create a real PCB made by <a href=\"http:\/\/www.batchpcb.com\/product_info.php?products_id=49863&amp;check=90c7064ccdd5ccf5668318f5bced2dce\">BatchPCB<\/a>:<\/p>\n<p><a href=\"http:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/Screenshot-home-markus-Desktop-Umlaut_Keyboard_V0.2-ulky-ulky.sch-Sheet-.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-65\" title=\"Screenshot-[-home-markus-Desktop-Umlaut_Keyboard_V0.2-ulky-ulky.sch]  Sheet -\" src=\"http:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/Screenshot-home-markus-Desktop-Umlaut_Keyboard_V0.2-ulky-ulky.sch-Sheet--1024x780.png\" alt=\"\" width=\"640\" height=\"487\" srcset=\"https:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/Screenshot-home-markus-Desktop-Umlaut_Keyboard_V0.2-ulky-ulky.sch-Sheet--1024x780.png 1024w, https:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/Screenshot-home-markus-Desktop-Umlaut_Keyboard_V0.2-ulky-ulky.sch-Sheet--300x228.png 300w, https:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/Screenshot-home-markus-Desktop-Umlaut_Keyboard_V0.2-ulky-ulky.sch-Sheet-.png 1280w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>I added all the part to the schematic editor and connected all the lines, I used the soldered breadboard as a reference. There is one more program not shown here where I had to assign the form factor to all the part.<\/p>\n<p><a href=\"http:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/Screenshot-home-markus-Desktop-Umlaut_Keyboard_V0.2-ulky-ulky.brd_.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-66\" title=\"Screenshot--home-markus-Desktop-Umlaut_Keyboard_V0.2-ulky-ulky.brd\" src=\"http:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/Screenshot-home-markus-Desktop-Umlaut_Keyboard_V0.2-ulky-ulky.brd_-1024x780.png\" alt=\"\" width=\"640\" height=\"487\" srcset=\"https:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/Screenshot-home-markus-Desktop-Umlaut_Keyboard_V0.2-ulky-ulky.brd_-1024x780.png 1024w, https:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/Screenshot-home-markus-Desktop-Umlaut_Keyboard_V0.2-ulky-ulky.brd_-300x228.png 300w, https:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/Screenshot-home-markus-Desktop-Umlaut_Keyboard_V0.2-ulky-ulky.brd_.png 1280w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>The auto route feature worked OK and I only had to change very little to get how I wanted it. Now I created a Gerber files like this:<\/p>\n<p><a href=\"http:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/gerber.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-63\" title=\"gerber\" src=\"http:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/gerber.png\" alt=\"\" width=\"497\" height=\"285\" srcset=\"https:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/gerber.png 497w, https:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/gerber-300x172.png 300w\" sizes=\"auto, (max-width: 497px) 100vw, 497px\" \/><\/a><\/p>\n<p>I used my laser printer to print out the Gerber files and made sure all the parts would fit by just laying the part on the sheet of paper.<\/p>\n<p>Here is a parts list:<br \/>\nC1\u00a0 10uF<br \/>\nC2,3\u00a0 15pF<br \/>\nD1 D4\u00a0 LED<br \/>\nD2,3\u00a0 1N4148<br \/>\nIC1 AT90S2313 or ATTINY2313<br \/>\nJ1\u00a0 USB_1<br \/>\nJ2\u00a0 ISP-6<br \/>\nR1,6\u00a0 320 R<br \/>\nR2\u00a0 1.5K R<br \/>\nR3,4\u00a0 68 R<br \/>\nR5\u00a0 10K R<br \/>\nSW1-5 SW_PUSH<br \/>\nX1\u00a0 12 Mhz<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/wpid-IMG_20110811_102201-11.jpg\"><img decoding=\"async\" style=\"display: block; margin-right: auto; margin-left: auto;\" src=\"http:\/\/alpharesearch.de\/wp-content\/uploads\/2011\/08\/wpid-IMG_20110811_102201-1.jpg\" alt=\"image\" \/><\/a><\/p>\n<p>The green LED is always on if USB has power and the yellow LED is controlled by the micro controller: it flashes quickly if a key is sent and it blinks slowly all the time.<\/p>\n<p>The most left key is the shift key and the next 4 keys are \u00e4, \u00f6, \u00fc and the \u00b0 symbol if you hold shift you get \u00c4, \u00d6 ,\u00dc and <a href=\"http:\/\/en.wikipedia.org\/wiki\/%C3%9F\">\u00df<\/a>.<\/p>\n<p>Please download all the source code and schematics (KiCad project) and Gerber file from here: <a href=\"..\/wp-content\/uploads\/2011\/08\/Umlaut_Keyboard_V0.2.tar.gz\">Umlaut_Keyboard_V0.2.tar<\/a><\/p>\n<p>You can also find the PCB on the <a href=\"http:\/\/www.batchpcb.com\/product_info.php?products_id=49863&amp;check=90c7064ccdd5ccf5668318f5bced2dce\">BatchPCB<\/a> web page.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I only have US keyboards but sometime I need to write in German. The German alphabet has some more letters like \u00e4 \u00f6 \u00fc for example.\u00a0 Wikipedia has some information on the Umlauts. In the past I use the Windows (only works on MS Windows) Alt Key Codes like this: \u00c4 ALT+0196 \u00e4 ALT+0228 \u00d6 &hellip; <a href=\"https:\/\/alpharesearch.de\/?page_id=53\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">USB Umlaut Keyboard<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-53","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/alpharesearch.de\/index.php?rest_route=\/wp\/v2\/pages\/53","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alpharesearch.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/alpharesearch.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/alpharesearch.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alpharesearch.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=53"}],"version-history":[{"count":12,"href":"https:\/\/alpharesearch.de\/index.php?rest_route=\/wp\/v2\/pages\/53\/revisions"}],"predecessor-version":[{"id":72,"href":"https:\/\/alpharesearch.de\/index.php?rest_route=\/wp\/v2\/pages\/53\/revisions\/72"}],"wp:attachment":[{"href":"https:\/\/alpharesearch.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=53"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}