Close
0%
0%

Diodes Only

A community project to explore diodes as active devices. Collaborators welcome; leave your transistors at the door.

Similar projects worth following
This project is for anyone who wants to experiment with diodes as active circuit devices in logic gates, analog amplifers, oscillators, and other unconventional uses. While diodes have already been used in some of these roles historically, I suspect many tricks are yet to be explored. Some may even prove useful; I personally find them all interesting.

Got something to contribute? Just want to chat about two-terminal devices? This place is for you.

Goals

The aim of this project is to explore diodes in unconventional uses, including, but not limited to the following crazy ideas. I need a place to document experiments as I go, without necessarily working towards a well-defined goal, and this is that place. If you're interested in contributing, send me a note; I'll add you to the project.

Diode-Diode Logic (spinoff from #The Diode Clock)

  • Faster (I'd like to see 1 MHz clock frequencies before building a computer)
  • SMD parts
  • Using actual RF components (PIN /Schottky diodes)
  • Better fan-out
  • Diode memories (diode/capacitor DRAM)

Linear Amplifiers

  • Headphone amplifier
  • Diode op-amp
  • Boutique audio (get that "diode sound")

Oscillators

  • RC
  • LC
  • XTAL

Optoelectronics

  • LEDs + photodiodes - you do the math

Homebrew Devices

  • Copper oxide
  • Selenium
  • Zinc Oxide
  • Borax rectifiers
  • Crystal (galena) diodes
  • Scavenged silicon

Power Supplies

  • Diode-only (GUNN/IMPATT/tunnel)
  • Mechanical (spark gap / high-speed alternator)
  • Better supplies using transistors and ICs (the horror!)

And anything else relating to semiconductors that walk on two legs.

  • Two diode latch

    Ted Yapo12/07/2017 at 18:22 1 comment

    I was reading about the #One Transistor Latch  project and it reminded me that I came up with a two diode latch at one point.  Here's the idea (note that the diodes are labeled D1 and D3, even though there are only two of them):

    Like the DDL logic gates, it uses both RF and DC bias power supplies.  D1, a 1N4007 rectifier, is used as a PIN switch, while D3, an LED, serves as a rectifier and state indicator. 

    In the "0" state, DC bias current flows through R2 and L1 to bias D1 into a conducting state.  As in a PIN diode, this forward bias makes the diode present a low impedance for RF current, so RF current through R1 and C1 is shunted to ground through D1.

    If we momentarily disconnect the DC bias supply, Vb, D1 stops conducting, and begins to show a high impedance at RF.  Now, RF energy flows through R1, C1, and C2, to become rectified by D3, charging C3 to a negative voltage.  This negative voltage reverse-biases D1, maintaining its high impedance at RF.  Even if we now reconnect the DC bias supply, the rectified current is enough to offset the bias through R2, so the "1" state is maintained.  While D3 is rectifying current, it emits a nice glow to indicate the "1" state.

    You could also set the state with some switches that temporarily shorted R1 or R2 to ground.  This might make for an interesting demo circuit.  In simulation, I chose to use two more diodes to switch the state.  Here, D4 and D5 alternately switch the latch state based on their respective pulse generators:

    Here, you can see how the pulses set the latch state:

    The top trace (magenta) sets the "1" state with a low-going pulse through D4.  This causes D3 to start rectifying current, shown in yellow.  This state continues until a positive-going pulse through D5 flips the state so that D1 starts conducting again, which stops current through the LED.

    Is it practical? Probably not.  But I think it's pretty interesting that you can store a bit of information in two diodes and a handful of passives.

  • SRAM Cell

    Ted Yapo02/07/2017 at 18:00 0 comments

    There was a mostly-diode SRAM cell design on nanocpu.org (documented here as #NanoCPU.org); I think it's undergoing some renovations at the moment, but I wanted to cite it because it was definitely what got me thinking about diode-based SRAMs again. Here's my take on the same concept - a single-bit SRAM cell using a two-inverter latch as the storage element. All the address decoding and R/W logic is done with diode AND/OR cascades - both for the input and output. This particular version decodes 3 address lines; so it would be suitable for an 8-address memory.

    As with the other designs, both true and complemented address and data lines are required - this costs a few inverters, but this cost is amortized over the number of storage cells. For N address lines, this design requires 3N+10 diodes per bit (less if the latch diodes are built into NOR gates, for example). You can reduce this somewhat if you allow two levels of AND diodes; then the write address decode can be done once, reducing the number of diodes to 2N+10 per bit. This may or may not be a good trade-off depending on what you are using for inverters. I'll have to think about whether this can be made to work with DDL inverters, or if I have to use all the diodes.

    Note that the output logic uses inverted levels so that it doesn't affect the latch; when I first uploaded the schematic, I had it backwards: it's an easy mistake to make. Since the latch has both true and complemented outputs available, it's easy enough to use the opposite output to drive inverted output logic.

    As with the previous ideas along these lines, fan-out will limit the number of cells that can be used without buffering on the address and data lines. Even so, this seems like a decent storage architecture for a diode-only CPU. My previous thoughts had each bit of storage taking a whole DDL01 board (six gates). With this mostly-passive-diode idea, the density improves to store 3 bits per board (plus a bunch of diodes to put somewhere).

  • Diode Full Adder

    Ted Yapo02/07/2017 at 17:05 0 comments

    Of course, if you can do anything with the two-level diode sum-of-products formulation, you can do anything. Here's a shot at a full adder:

    It requires inverted and true inputs for A, B, and CarryIn, and output buffers for Sum, CarryOut and /CarryOut, but that's only 6 inverters. A quick try with NOR gates used 12. With six inverters, it only requires a single DDL01 board per bit in a ripple-carry adder. That's not bad at all. Of course, there's no reason you need to limit the active devices to just diodes, either. Simple transistor inverters would work here, as would relays or other amplifier/inverters, if you're into that kind of thing.

    The operation is simple. The sum output is high if any single one of the inputs is high (three product terms) or if all three are (one product term). The carry output is high if any two or three of the inputs is high (four product terms). An inverted carry out is computed, too, because it's cheaper and faster to do it here than adding another inverter in series to the normal carry output.

    I've convinced myself that with DDL, whose clock speeds are in the low kHz region, the speed of these cascaded diode gates are not an issue, and will greatly simplify and speed construction of a simple CPU. With faster technologies, you would have to re-evaluate this decision.

    This full adder circuit can be connected to form a ripple-carry adder very easily, but there's no reason that a carry-lookahead circuit can't be constructed with the same AND/OR cascade. Maybe a 4-bit lookahead would strike a good balance between speed and number of components. I'll have to take a look at it.

  • Project back from the dead

    Ted Yapo02/06/2017 at 18:41 3 comments

    It's nearly springtime, when a middle-aged man's fancy lightly turns towards thoughts of computers constructed from diodes... Seeing some recent posts (I'll have to look around for the links) made me finally realize that 2-stage diode logic gates with AND followed by OR is functionally identical to the AND/OR matrix found inside PALs, GALs, PROMs, and all the other simple programmable logic out there. See the diagrams on this page for details. In fact, the sum-of-products computed by this AND/OR cascade can compute any function of the input variables. I don't know why it took me so long to realize it. Using this formulation, a ROM with diode-decoded address lines looks like this:

    It's a 16-bit ROM of four words of four bits each. An inverted version of each address line is required as an input. I only connected one diode for each word, but you can get the idea. The inputs are required to sink current, which means reversing the output diodes on DDL gates, but that's very easy to do. You need to choose (or eliminate) the pull-up/pull-down resistors depending on the logic circuits you use to drive/read this array.

    The main problem with this kind of implementation is fan-out. Each address line may be required to pull down a resistor for each word, which could add up quickly. In a practical implementation, address line buffers might be required for every N words - maybe a PCB with the buffers and some power-of-2 words could be made - like a 32-word ROM board.

    Anyway, I finally "got it" with the AND/OR cascade of diode gates. It took long enough :-)

    Now, we need a RAM with a similar design...

View all 4 project logs

Enjoy this project?

Share

Discussions

Dr. Cockroach wrote 01/01/2022 at 16:20 point

Happy New Year Ted. Just finished finalized all my Light Logic gates last night. All are working great now. https://hackaday.io/project/161669-light-logic-hic-svnt-dracones

  Are you sure? yes | no

Ed Mallon wrote 11/05/2019 at 17:03 point

  Are you sure? yes | no

jaromir.sukuba wrote 10/08/2018 at 10:08 point

Just curious - is UJT/PUT acceptable for diodes only project? I know, it has the horrible T-word in the name, but I always considered it to be elaborate diode. In fact, it's sometimes called double-base diode.

What about diacs? I happened to buy bag of 500 diacs for 1E with no clear idea what to do with them. Diac clock comes to mind, obviously.

I swear I have old soviet dynistor somewhere in my messy workshop.

You mentioned also linear application of diodes in project goals. Did you experiment with those?

  Are you sure? yes | no

Dr. Cockroach wrote 10/07/2018 at 23:25 point

Try the video on the project page :-) YT was giving me fits today :-)

  Are you sure? yes | no

Dr. Cockroach wrote 10/07/2018 at 23:24 point

yeah, @Morning.Star  has mentioned that I should try 0401 or 0201 smd's on the ldr surface. It would save space :-) Cheating... bending slightly but still diodes and resistors ;-) Going to wire up a one bit memory in the morning :-)

  Are you sure? yes | no

Morning.Star wrote 10/09/2018 at 05:34 point

These new generation components are so small they can be deadbugged right onto other components, bits of circuitry, all sorts of things. It wasnt til I saw your homemade optos that I thought about them being active devices in their own right. Its kind of neat, I dunno about cheating lol.

  Are you sure? yes | no

Dr. Cockroach wrote 10/06/2018 at 23:28 point

I have a working NOT gate using 2 diodes and three resistors and only a 5 volt dc source. Inverts and the signal is restored :-) So very simple but you have to think out of the diode box. Working on a Nand next :-)

  Are you sure? yes | no

Ted Yapo wrote 10/07/2018 at 01:21 point

Impossible! :-) That said, please tell us how you did it...

  Are you sure? yes | no

Dr. Cockroach wrote 10/07/2018 at 07:12 point

Good morning Ted,  Just keep in mind that led's are diodes too and ldr's are resistors :-) Very basic Photonic action using leds and CdS cell These can be combined to form other gate configurations :-)

https://youtu.be/cG1VyLEl2k


  Are you sure? yes | no

Ted Yapo wrote 10/07/2018 at 22:45 point

@Dr. Cockroach that's exactly the kind of "cheating" that I like to see!

What about using a few 0603 LEDs all coupled to the same LDR for a NOR gate?  It's just as universal as the NAND.

The video doesn't work for me BTW.

  Are you sure? yes | no

Dylan Brophy wrote 12/04/2016 at 10:11 point

Do you know how to make NOT, NOR, NAND, and XOR/XNOR gates not only without transistors but also without capacitors, inductors, or relays? Just diodes and resistors. Preferably only GND and some positive volatage. I saw your diode NOR and I cant help but wonder how it can be simplified.

  Are you sure? yes | no

Ted Yapo wrote 12/04/2016 at 14:21 point

Without relays, sure - the diode clock has no relays.  The rest, I don't know.

Tunnel diodes have a negative resistance region, so they can be used to produce gain and make gates and bistables and the like using only DC voltages and resistors, but setting up the correct bias conditions for them is difficult.  There was a lot of interest in making logic from them many years ago, but the parts are basically not made anymore, and if you could find any, they'd be expensive.  I suspect you'd probably need capacitors, anyway.

If you used varactors, which are diodes optimized to behave as (variable) capacitors, would that be cheating?

How about low-value resistors with very long leads?  But those leads get in the way, so maybe you could form them into a spiral of some sort ... every component has *some* stray inductance, these would just have a lot of it :-)

Seriously, though, it's an interesting problem, and fun to think about.  Give it a shot.

  Are you sure? yes | no

Dylan Brophy wrote 12/07/2016 at 02:49 point

Varacitors would be fine.  Also decoupling capacitors would be fine.  I just dont want tons of resistors, and no inductors.  If these could be removed from DDL then a full scale computer at more than a MHz would be easier and there would be less parts to worry about.  You might even be able to remove the RF supply, which I would like.  

  Are you sure? yes | no

Ted Yapo wrote 12/07/2016 at 03:47 point

I don't see how to do it, especially with easily available parts, but who knows.  It might be possible.  I don't think you can remove the RF supply or inductors from the DDL design - PIN diodes only switch RF, not DC, and once you have both DC and RF swimming around in there, you need to inductors to steer DC one way and RF another.  

With a two-terminal device, if you're using one end for a reference (ground), you've only got one lead left for both input and output, so you have to multiplex them somehow.  In the case of DDL, they were multiplexed by frequency - the logic signals at audio frequencies, and the power supply at RF (almost like the old reflex radio receivers https://en.wikipedia.org/wiki/Reflex_receiver) .  Without the RF, you need some other way to separate the input and output signals.  I don't know what that is - phase, somehow, maybe? 

This is all easier with 3-terminal devices, like transistors.  One is common (emitter, base, or collector: take your pick), and you still have two left over for input and output connections.

  Are you sure? yes | no

Yann Guidon / YGDES wrote 12/07/2016 at 04:21 point

"the logic signals at audio frequencies"
Guess what this suggested to my tired grey head-fillings...

  Are you sure? yes | no

Ted Yapo wrote 12/07/2016 at 13:57 point

@Yann Guidon / YGDES 

soundcard supercomputer?

relay percussion synthesizer?

what was it?

  Are you sure? yes | no

Yann Guidon / YGDES wrote 12/07/2016 at 23:00 point

I was thinking of sound synthesis... though I have no clue how to do it and what it would sound like.

  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