Giter Club home page Giter Club logo

binarykeyboard's Introduction

BinaryKeyboard

A two-button backlit mechanical keyboard that types ASCII values, one bit at a time.

Photos

Photo of Binary Keyboard

Photo of Screen

TopDown Photo

GIFS

Boot Up Sequence

Normal Use

Switching Modes

Fancy Backlighting

Yet another gif

Technical Info

Image of Schematic

Components

  • Arduino Pro Micro (knockoff)
  • Cherry MX Clear Mechanical Switches
  • SSD1306 OLED Display

Arduino Library Requirements

These libraries are used to drive the SSD1306 OLED display.

Eagle Schematic Details

Because I could not locate a part to represent the SSD1306 OLED Display, I created my own. This can be found in the CSJ Library file for Eagle. A word of warning, this was my first time using Eagle. The part works, but could be improved.

Uses c0z3n/cherrymx-eagle library as well.

Usage

Each bit is typed out from the least significant bit to the most significant bit (left to right). After all 8 bits have been entered, it will type out the ASCII value equivalent of that binary valiue. The Pro Micro has native USB support, which means it acts just like any other keyboard.

If both keys are held down, the keyboard will switch to "1/0 mode" / "single button press mode" (I'm bad at names). In this mode, each key will represent a '1' or a '0' just like on a traditional keyboard, no binary involved.

Arduino Problems

Initially I was going to use a DigiStump board for this, but I found issues with not having enough memory to work with after importing libraries and not enough I/O. I'm using an Arduino Pro Micro knockoff. The reason that there is electrical tape covering it is because I found that shorting the contacts with a finger would cause it to stop working. I'm still not really sure why.

Contribution and Modifications

Please feel free to fork this project for your own purposes.

Acknowledgements

Special thanks goes to everyone in the UWB Makerspace that helped make this possible.

binarykeyboard's People

Contributors

chris-johnston avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.