A program counter that uses an ATTiny45. The speed of the clock can be adjusted with the potentiometer. It can also be toggled between the clock and a manual pulse for debugging. All of the buttons are also debounced.


  1. Produces a steady pulsing clock.
  2. Can be slowed down or sped up for debugging purposes.
  3. Manual pulse also for debugging purposes.
  4. The buttons are debounced so it doesn’t produce noice (unwanted/unintended signals).

what i learned

  1. How to make a timer that also allows the use of inputs.
  2. What an ATTiny is and how to program one and use one.
  3. How to debounce a button.
  4. What a program counter is and what it does in the computer.



My friend and I decided to attempt to make a 8 bit computer since we’re both Computer Engineering majors. He’s a lot more knowledgable when it comes to the major since he’s much more far along. He taught me some of the basics knowledge required to making the computer and its architecture. This is the first step we decided to take and we used an ATTiny45 instead of building a clock from scratch because we didn’t have that many parts to work with.


Finished product

ATTiny Programmer

Circuit used to program the ATTiny45 using an Arduino.