The Genius i110 was chosen as the most accessible digital numpad block
We used a 3D printer to print a housing block for the Raspberry PI and the other components. It’s installed between the upper and lower parts of the numpad.
Here’s a link to the 3D model file: https://yadi.sk/d/p17KZhWofAukK
To take the numpad apart: take off cover holding the cable, remove the rubber feet and undo the screws under them.
After pulling apart the fasteners take out the control board. Desolder the cable.
After removing the cable put the board back into the case.
After we take off the bottom lid the keys are not supported and cannpt working. We need to put something under them, one of the ways is to press them down with a metal plate. To do this we need to carefully remove the film matrix and the rubber seam from the keys, cut all 4 centering stumps (they will get in the way). Then we put the rubber and film back in place.
To make the process easier and faster we use hot-melt glue to attach the metal plate. The keyborad should be placed so that the keys hang from the numpad without touching the table surface. One can do it by turning the numpad upside down on the typing case.
First the keyboard layers should be leveled with respect to each other, then we need to level the cables with the carbon surfaces on the control board. The cable is fixed with glue.
To start gluing from the bottom of the numpad, the metal plateis pressed firmly against the numpad and the glue is applied so that it catches on to the edge of the plate and flows on the case. We keep holding the plate until the glue hardens. We then do the same on the board side, putting some glue on the side of the case because the board itself isn’t attached firmly enough.
Now we only need to reinforce the joint between the cable and board. This can be done with a piece of silicone and a couple of pieces of plastic.
In the process we forgot to save some space for an On/Off button and now we need to do something.
It turned out that printed plastic can be drilled easily. We used a 10 mm wood drill at max screwdriver rpm.
A 10 mm hole isn’t big enough so we have to make it bigger with a thread file or a hot soldering iron. We use PSW-3 clicking buttons.
The Raspberry PI board is installed in the case and its edges are fixed with hot-melt glue.
We decided to use M3x10 metal props to put this “sandwich” together. We needed to put two of them in line to get the required length. The props can be screwed in place of the original screws in three corners (the Raspberry PI board gets in the way of the fourth prop). We had to use a bit of force to screw them in as the holes are a little smaller than needed.
The device will use a Li-Ion battery taken out of a mobile phone external charger. It already has a 5V voltage converter and a charging circuit.
We can’t install the charging board right next to the receptacle due to the props. We’ll therefore use a separate micro-USB receptacle.
We supply power to the Raspberry PI board from the output of the conversion board by connecting them together as shown.
An on/off button is soldered in the break.
The button and charging receptacle are glued onto the case with hot-melt glue.
We connect the numpad to one of the Raspberry PI USB-slots – in this case the one on the bottom. After this is done it’s best to cover it so nobody can stick a flash drive here.
We put the components inside the case and glue them in place.
The upper and lower parts of the keyboard are brought together with props and screws, also jamming in place the central components.
Price of components for audio book player:
1) Numpad – $10
2) 3D-printing of insert – $10
3) Raspberry PI – $41
4) Battery – $12
The device is based on the Raspberry PI Model B – M2 monoboard computer.
Input is by means of a Genius i110 digital keyboard block with a USB – M1 interface. The keyboard is connected to one of the stationary USB-ports of the Raspberry PI board.
The second USB-port XS1 is used to connect to the data storage.
A stationary 3.5 audio jack of the XS2 board is used for sound output through speakers of headphones.
The device is powered by a 3.6 V Li-Ion battery, form-factor 18650, 2600mAh – GB1 capacity which operates together with the charge/discharge M3 circuit extracted from a portable car battery. M3 output has a 5V voltage and a current up to 1000 mA. Any charging device with output voltage of 5V and current at least 1000 mA can be used for charging.
The device is switched on with a PSW-3 – SB1 type push button. Any other commutation element such as a toggle switch or a slide switch can be used.
– Fixed the bug causing problems with stereo mp3 playback
– Added an option to set a directory for mp3 files. All files in the directory are played.
– Multi-language support.
All changes are made as 2 patches for the git:
In order to build a new image with any set of languages:
– Install Ubuntu 14.04
– sudo apt-get install gawk wget git-core diffstat unzip texinfo build-essential chrpath libsdl1.2-dev xterm uuid cvs bc vorbis-tools sox espeak uuid-dev
– call “sudo dpkg-reconfigure dash” and select No when it asks you to install dash as /bin/sh.
– Open file sources/meta-kolibre/recipes-kolibre/kolibre-sample-client-data/kolibre-sample-client-data.bb for editing with a text editor
– In the lower file section after the line # build database with narrator-utils comment out the languages which are not required. Not more than 15 languages can stay uncommented.
– Switch to the directory ~/test
– Execute in the terminal doWithoutWrite.sh name where the desired name for the image is stated
– All images will be created in the directory ~/test/outImgs
In order to save the image on a memory card:
– Insert the memory card
– type «sudo fdisk -l» in Terminal and find the name of the inserted card (for example /dev/sdc)
– unmount all the memory card partitions «umount /dev/sdc[1,2]»
– switch to the directory ~/test
– execute «doWrite.sh path_to_img.img /dev/sdc», in Terminal where the first parameter is the path to the image and the second is the name of the memory card
You can also switch to the ~/test directory and execute «do.sh /dev/sdc» in Terminal. This will compile the image and directly save it on the memory card ( the memory card has to be inserted).
In order to add your own numpad: enter the numpad VID as a value of the INPUT_DEVICE= in the settings file settings.ini of the memory card.
In order to add a new path for the mp3 files: create a new section with the name [MP3Path_name], where “name” can be any valid name. In this section, create variables NAME=name and PATH=/media/0113-F0CF/music, where 0113-F0CF — is a name of the flash memory storage which can be viewed on the PC and music is the folder with .mp3 files of the flash memory storage
Link to source & firmware: https://yadi.sk/d/RXZ6qGNMexS9U
We decided to mount the audiobook player in the body of a numpad, making it bigger to accommodate a Raspberry Pi and battery
3D model of the insert for the numpad
As we progressed we fixed several bugs in the original firmware:
- Added support for 43 languages so that as many people on the planet as possible could use. We split the firmware in 3 parts, each supporting 15 languages + English.
- Fixed the bug that caused problems with stereo mp3 playback.
- Added an option to set a directory for mp3 files. All files in the directory are played.
- Put together the completed device.
List of supported languages:
- sq; Albanian
- en; English
- ar; Arabic
- hy; Armenian
- af; Afrikaans
- bs; Bosnian
- cy; Welsh
- hu; Hungarian
- vi; Vietnamese
- el; Greek
- da; Danish
- id; Indonesian
- is; Icelandic
- es; Spanish
- it; Italian
- ca; Catalan
- zh-CN; Chinese (Simplified)
- ko; Korean
- ht; Haitian Creole
- la; Latin
- lv; Latvian
- mk; Macedonian
- de; German
- nl; Dutch
- no; Norwegian
- pl; Polish
- pt; Portuguese
- ro; Romanian
- ru; Russian
- sr; Serbian
- sk; Slovak
- sw; Swahili
- th; Thai
- ta; Tamil
- tr; Turkish
- fi; Finnish
- fr; French
- hi; Hindi
- hr; Croatian
- cs; Czech
- sv; Swedish
- eo; Esperanto
- ja; Japanese
We are developing several devices. One of them is an audiobook player for visually impaired people that works with mp3 and DAISY formats (the latter is an audiobook format designed specifically for blind people; in Russia, the LKF format is used)
We took Kolibre Vadelma as a starting point.
We want to improve it and translate it into as many languages as possible, and also make a fully functional device.