Often when I write my code for Arduino/AVR, I use binary or hex addresses and bitwise operations and personally for me, its easier to use online convertor for debugging these addresses or use app to verify bitwise ops. But the whole process to write my code and switch to check value online is just annoying, so I try to build my own calculator.

The features I want in my calculator/converter are:

  • view simultaneously number in decimal, bin and hex
  • easy switch between dec, bin and hex system
  • execute bitwise operations - OR, AND and SHIFT LEFT/RIGHT

The layout is separate in two groups - displays and keypad.
The displays are organized in two 4 digits 7SEG for the binary number, one 3 digits 7SEG for the decimal number and one 2 digits 7SEG for the hex number.

Keypad contains 20 buttons - (0-9 and A-F) and four special buttons - EXE, SHIFT, AND and OR.

The calculator is built from atmega328 and three 74HC595, two of which are used for selecting digit from 7SEGs and one is used to encode a digit in display.  


Today I install keycaps on the keyboard. Originally they were purchased to replace one of my laptop keys(I couldn't find anywhere to buy one key only, so I bought a whole set), and since I have no use of the other caps, I convert them to my calculator keycaps. In the beginning, I try to make caps to be detachable, but couldn't find any solution, and instead, I just glued the switches and caps directly.

*project is still in development