Q2 Computer

            __       __       
           /\ \     /\ \                                       000 | LDA | Z | A = [X]
          /  \ \   /  \ \                                      001 | NOR | Z | A = A NOR [X]
         / /\ \ \ / /\ \ \      OOO D Z XXXXXXX                010 | ADD | C | A = A + [X]  
        / / /\ \ \\/_/\ \ \      \  \ \    \____ Operand       011 | SHR | C | A = [X] >> 1 
       / / /  \ \_\   / / /       \  \ \________ Zero Page     100 | LEA | - | A = X        
      / / / __/ / /  / / /         \  \_________ Dereference   101 | STA | - | [X] = A      
     / / / /\ \/ /  / / / __        \___________ Opcode        110 | JMP | - | P = X        
    / / /__\ \ \/  / / /_/\_\                                  111 | JFC | - | if !F: P = X 
   / / /____\ \ \ / /_____/ /
   \/________\_\/ \________/  joewing.net

The Q2 is a 12-bit bit-serial single-board discrete transistor computer. In other words, it's a complete computer system on a single printed circuit board (PCB) whose CPU is made out of roughly 1000 discrete transistors. The Q2 is implemented on a dual-layer PCB using surface mount components, allowing the board to be produced and assembled almost entirely by machine.

The video above is a quick demonstration of the Q2. First the Q2 is programmed via a Raspberry Pi Zero and then the program is run at 80 Hz (the slow clock). The program is available here.