LLTP - Light Logic Transistorless Processor

My attempt to create a CPU/MCU without transistors or relays

Similar projects worth following
A processor using only handmade opto-couplers? I am a bit behind in working with this idea but I want to recreate my IO Cardboard Computer without the use of any transistors. This project will make full use of my Light Logic gates. See also AND

My interest in logic gates that did not make use of transistors started about a year and a half ago. After about six months of hair pulling, yelling and cursing I was able to create the entire Boolean logic set using just diodes and resistors. Granted the key diode is a LED and the key resistor is a CdS Photo Resistor. Granted I do not expect anyone to think that this processor build will be fast or practical but is part of a grand "What If" idea I had and Light Logic was born. Now it is time to put those logic gates to work and see if a working processor can be constructed this way. So as to not confuse my senior moment prone brain, I will keep the logic gates down to just NAND and NOT. The other gates I have made will work but do not always play nice with each other and inverting logic just seems to work better for me.

  • 1 × White Led
  • 1 × LDR CdS Photo resistor
  • 2 × 1N914 switching diode
  • 1 × Resistor 330 Ohms Use this value for a 3 Volt supply
  • 1 × Parts listed above are for each 2 input Nand gate

  • Yet Another Register

    Dr. Cockroach09/24/2020 at 23:58 0 comments

    September 24, 2020 -  Yet another register about to be born. Number three in this case.

  • Program Counter

    Dr. Cockroach09/15/2020 at 15:16 0 comments

    September 16, 2020 - First test of the Program Counter. Slow but steady....

    Sept 15, 2020 -  Getting started on the Program Counter register and hope to start some basic counting in the next day. Wish me luck ;-)

    The above is just one bit of the PC register and below is just before adding the diodes and logic wiring.

  • Mid September state of the LLTP

    Dr. Cockroach09/13/2020 at 16:56 0 comments

    September 19, 2020 - I decided that I need to start adding labels to the LLTP to indicate what is what. Even I will get confused later as I add more registers.

    September 14, 2020 -  Just a brief update of where I am with the LLTP project. I am currently matching up CdS photo resistors and making a batch of 80 Light Logic opto-couplers and those will be used to wire up four 4 bit registers. These will be used for the Program Counter, Instruction Register and the A and B input Registers for the Adder.

    That's enough couplers for two 4 bit registers.

  • Instruction Decoding

    Dr. Cockroach09/09/2020 at 22:40 0 comments

    September 9, 2020 -  Just now finished wiring up and testing a basic instruction decoder. I am using 4 switches to simulate the instruction register at the moment but will swap those out for the real register soon. The picture shows a 0110 as the simulated instruction and with this 4 bit number fed to the hard wired decoder it will pass the signal from the selected State Machine output and proceed with the instruction logic.

  • The State Machine

    Dr. Cockroach09/02/2020 at 15:16 0 comments

    September 4, 2020 -  The transistorless State Machine is coming along and is going through the debug stage. It has a few glitches but generally is performing the way I want it to. The short video clip shows the cycling action taking place between the sequencer, flip-flop and the main logic.

    September 2, 2020 - This construction is the large part of the State Machine. This logic board along with the previous Flip Flop performs the switching that almost doubles the Sequencer outputs. This odd design will all become a bit more clear once it is up and running.

    At this point all the Light Logic opto-coupler cells have been coated in black nail polish except for the bases. That leaves a nice glow when the gates are active once the logic wiring is finished.

    330 Ohm resistors are installed and 3 volts applied to the power buss. Rechecked that the CdS cell minimum resistances were still in the usable range between 200 and 450 ohms.

    The front of the board showing the uncolored Light Logic opto-couplers in place.

    And the view of the rear side showing the power and ground wiring. This side will be hidden, thankfully.

  • Master Slave Duel D Duel Toggle Flip Flop ????

    Dr. Cockroach08/20/2020 at 21:44 0 comments

    August 20, 2020 - What to do if you want to make a Master Slave Flip Flop but Light Logic does not like working with edge triggering. I improvised a couple of D latches into a Master Slave arrangement and toggled both latches separately with level triggering using the LLTP Sequencer. I might have a use for this circuit in my instruction logic.

  • LDA - The First Instruction Baby Step

    Dr. Cockroach08/16/2020 at 13:58 0 comments

    While working on the Mux circuit, I decided to mess with the Sequencer and see if its output would actually control a simple task. After passing the selected output line through a level driver, the LDA instruction was born. Without decoding, the LDA instruction enables the Accumulator register on each loop at this time but proves to me that I am on the right track.

  • Sequencer / Ring Counter

    Dr. Cockroach08/14/2020 at 13:52 0 comments

    I have decided to clean up and use the Ring Counter I designed last year and use it as the Sequencer for the LLTP.

    This is the circuit for the initial 3 step Ring Counter. Just add extra steps in odd numbers and this circuit was expanded to the seven steps seen in the video. In the video there is a momentary switch wired off the board. This is used to start the cell reaction. In other circuits I have made, this switch was not needed as the sequencer self started. If the parts are closely matched then the switch is needed but if one cell has actual values that are a little off then the circuit tends to self start on that cell.

  • 4 to 1 Mulitplexer

    Dr. Cockroach08/12/2020 at 01:11 0 comments

    August 11,2020 -  Time to start the construction of the Multiplexer. Simple basic logic circuit and typical construction using card stock and paper fasteners. The circuit is for one bit.

  • Mux, DMux and another register

    Dr. Cockroach08/11/2020 at 20:31 0 comments

    Now for the next step. I want to start the construction of a 4 to 1 Mux, a 1 to 4 DMux and another register. These steps will allow the LLTP to feed a value back to the Adder and in turn perform a counting function. I will still use toggle switches to enable the registers and select the Mux and DMux and once happy with the result I will forge ahead with the sequencer and experiment with program instructions. The Logisim circuit is for one bit.

View all 13 project logs

Enjoy this project?



DaveBoltman wrote 09/17/2020 at 07:05 point

Wow! I logged in here to point out that optocouplers contain transistors, but your's don't!

Fascinating to watch. Well done so far, and all the best!

  Are you sure? yes | no

Dr. Cockroach wrote 09/17/2020 at 09:49 point

Thanks, Doing without transistors was an itch that I just had to scratch and a lot more to come :-)

  Are you sure? yes | no

Dr. Cockroach wrote 08/15/2020 at 00:26 point


  Are you sure? yes | no

Dr. Cockroach wrote 08/16/2020 at 14:00 point

Actually two of the thirty ;-)

  Are you sure? yes | no

Dr. Cockroach wrote 08/06/2020 at 11:38 point

@Tim Even stranger in my case as this project does not use any transistors. The logic being performed by a Led/CdS photo resistor pair. Nands all the way now and all is working as should. And yes, I tried to condition the levels but then as you said I ended up with just as many gates as if just going the Nand route :-)

  Are you sure? yes | no

Yann Guidon / YGDES wrote 07/29/2020 at 18:46 point

Daaaaamn... Do you remember you can make a XOR easily with your system without having to use NANDs ? :-D

Put a diode in series with a LED between 2 signals and you have the gate ANDN (A='1' and B='0'). Then you put the LDR in parallel so you get A&/B + /A&B !

And you can make it even simpler when you do it at the LED side.

  Are you sure? yes | no

Yann Guidon / YGDES wrote 07/29/2020 at 18:47 point

Oh my I didn't read all the logs ;-)

Sorry dude ;-)

  Are you sure? yes | no

Yann Guidon / YGDES wrote 07/29/2020 at 18:54 point

So what is the problem with the XOR cells ?

  Are you sure? yes | no

Dr. Cockroach wrote 07/29/2020 at 20:39 point

Thats OK, The LL XOR works great as a stand alone gate but when followed by another XOR as in a adder circuit, the voltage out for a one and a ground for a zero goes kind of wonky and is not reliable as it now stands. It was then that I decided to just make the entire build out of Nand gates knowing that they link well one to another :-) Never fear, I'll return to the LL XOR later and work on it :-)

  Are you sure? yes | no

Tim wrote 08/06/2020 at 03:25 point

>the voltage out for a one and a ground for a zero goes kind of wonky and is not reliable as it now stands

Sounds very familiar from all the weird XOR tricks. One cannot use these gates without a level restorer and then the advantage in reduces component count or tpd is already gone.

(Had to patch some inverters into my last project exactly due to this... Spice does not help if you don't have proper spice models of the chinese off-brand transistors you use...)

  Are you sure? yes | no

Starhawk wrote 06/13/2020 at 22:37 point

Go for it, dude -- Godspeed :D

  Are you sure? yes | no

Dr. Cockroach wrote 06/13/2020 at 22:39 point


  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates