This documentation is under active development and discussion!
Welcome to the MemType documentation, here you’ll learn everything about the MemType hardware, firmware, software tools and usage for any user level.
If you fancy one, you can get it from our tindie store!
Technically speaking the MemType is an open source
hardware password keeper.
This means it is basically a device focused in securely
open source part means that we share all the
software source files, hardware design files and documentation under the
Having the passwords stored in a password keeper has several advantages:
No reusing same pass in different apps or webs.
More secure and long passwords can be used, no need to remember them.
No more forgotten passwords.
We like hardware password keepers but we couldn’t find one that satisfied our
usability needs, also they were very expensive! That’s why we decided to make
loaded with features and with a
reduced BOM that results in a
low cost device that’s also great for
DIY makers and
Encrypted storagein the device using NOEKEON written in pure assembler!
AES encrypted backupson the PC using the MemTypeTool GUI.
Plug it into a
no drivers or software for using it.! Works as a HID keyboard.
Works anywhere!. While others only work on webs or certain apps, the MemType can be used anywhere from webs, apps, terminals or anywhere it’s allowed to type using a keyboard.
One click login. It stores and
types for younot only the
passwordbut also the
userwithout any interaction from your part, and it also submits it!
enter the password when it’s asked, for example in
sshor login forms where the user and password are asked in two steps.
Dynamic storage. You’re
not limitedto a certain number of credentials, just fill the 2KB storage with them.
Assign namesto the credentials so you can find them easy and fast to use them.
Manage the device with the MemTypeTool GUI software, super easy and simple!
Truly multiplatform. The MemType works on
any device with usbkeyboard capability like tablets, smart tv, and phones.
Any keyboard layout. Load the keyboard layout you’ve got working in your OS using the MemTypeTool GUI.
Truly Open SourceSoftware and Hardware.
The data structure used by the MemType to store
credential. Appart from passwords and usernames it also stores a
field that stores the key combination to move from the user input to the
password input, called
hop. It also includes a field for storing the key
combination to submit the login form or command, called
submit. To help you
find the credential you need, each of them has a name stored in the
The name that’ll be shown while using the device.
The username of the login.
The sequence of keyboard keys to move from the user input field to the password one. Usually tab, sometimes Enter
The password that’ll be typed into the password input field.
The sequence of keyboard keys to validate the login. Usually Enter.
credential is applied, the MemType generates the key sequence like you
were typing it into your keyboard, excluding the name by the order of the table above.
In a login form, you focus the username field and then move the MemType joystick up and down looking for the credential you need. When you find the right credential, enter to apply it and the MemType will erase the credential name, type the username, move to the password input field, type it and submit. All this process is done much times faster than any person can type.
There are some cases where you may need a
delay in a certain point, for example
when the login form asks for the user, validates it and then asks for the password.
Such delays can be made by the MemType using one special character when editing
the credential. This and more is explained in the [Advanced uses] section.
It’s easy to see how this credential structure can be used to
securely store and
type other kind of data like commands or
credit card numbers.
When buying online it’s faster and more secure to let the MemType type the credit card number than pulling out the creditcard with the number printed on it.
A way of accomplishing it would be by having all the fields empty except
password field that would contain the
credit card number and the name.
N_O_D_E Video review
If you want a great video introduction and review of the MemType, check the following awesome video made by N_O_D_E.
Compare to others password keepers
text editor and connect the MemType to the
USB port of your computer.
You’ll see the
red led turning on indicating it’s being
powered correctly and it’s
On the text editor it will write a
welcome message indicating it’s firmware
You don’t have to delete what it writes, it deletes it’s own text to write new
that’s how the MemType communicates with you.
Now you can unlock it entering the
PIN, by default it’s
0000. To enter the PIN
up increases the number.
towards the connector accepts the number.
the opposite joystick movement to cancel.
We’ll refer to these movements up, down, enter and back respectively.
You should have now the pin entered:
One more enter and it’ll validate and show the name of the first credential and the green led will be on. If the PIN is incorrect an error message will be displayed:
The MemType comes preloaded with 3 dummy credentials so you can play the first time. Move up and down to see their names, apply one with the enter movement on the joystick, see the details with one back movement and lock the device with one more back movement (2 in total) turning the red led on again.
That’s the basic usage of the MemType, now to be useful it has to contain the
credentials you’ll use, setup a different PIN, and be loaded with the same
keyboard layout as your operating system or you’ll see strange characters. To do
all this management on the device there is an easy to use Graphical User
Interface software called MemTypeTool GUI.
The MemTypeTool GUI can be downloaded from : https://github.com/oyzzo/MemTypeTool
It is developed using C++ , Qt5, and libusb. There is a
precompiled binary release
Linux. In case you use other operating system, there is a linux
image ready to run in
Linux installation (binary release)
Download the binary release compressed file, extract it and run:
wget https://github.com/oyzzo/MemTypeTool/releases/download/1.0.1/MemTypeTool-1.0.1-linux_x64.tar.gz tar xvf MemTypeTool-1.0.1-linux_x64.tar.gz cd linux64 ./MemTypeManager.sh
In order to have access to the USB devices from an unprivileged user:
wget https://raw.githubusercontent.com/oyzzo/MemTypeTool/master/99-MemType.rules sudo mv 99-MemType.rules /etc/udev/rules.d/ reboot
Windows, macOS and others (VirtualBox Image)
Download the VirtualBox image from https://github.com/oyzzo/MemTypeTool/releases/download/1.0.1/Lubuntu.17.04.64bit.vmdk.7z
Extract it using 7-Zip or similar (keka in macOS).
Install VirtualBox and Extensions from www.virtualbox.org.
Create a new Linux 64 bits virtualbox machine.
When asked for the drive, choose the extracted vmdk file.
Run the virtual Machine and add the memtype device to it.
Run the MemTypeTool from the desktop.
The password is the same as the user:
You can use the
Setting the keyboard layout
Using the GUI you can change the
MemType keyboard layout to match your
keyboard layout. The current available layouts files are located under
Setting the P.I.N.
Reading from device
read the credentials from the MemType to do any action to them and write
them back, or make an
backup by Exporting encrypted file.
Writting to device
When you’ve got everything looking OK in the MemTypeTool GUI you have to
the credentials to the MemType device so you can use them.
Another option would be to simply store them by Exporting encrypted file.
Adding credentials is easy, when you’ve got your new credentials created remember Writting to device.
Editing is essential, edit to have your passwords in the credentials, usernames and any other field so you can forget them!
Delete by clicking into the
bin icon of any credential. The
changes will not
take effect until you
write to the device.
Exporting encrypted file
You can have backups in your computer, or have one AES encrypted file containing all the credentials for a given user role in your company.
|Don’t forget the file password or there’ll be no way of getting back the credentials from that file.|
Importing from encrypted file
As easy as exporting, enter the file password and your credentials will be ready to be edited.
Can I make a MemType myself?
Yes! It’s a great DIY project!. You can make your PCB using the design files or order one from OSHpark, buy the components, solder them, compile the firmware and burn it into the microcontroller!
How many credentials can be stored?
The capacity of the credentials storage on the MemType is
2KB. Credentials are stored dinammically so
it’ll depend on the lengthof the name, username, password etc…
Can I make a backup of my credentials?
Having a backup of the credentials is always a good idea. You can export an encrypted file from the
MemTypeGUIcontainning all your credentials.