0%
0%

# Circuit Golf: Electronic Dice Edition

Creating Electronic Dice with the least number of components in the most obscure technologies

Similar projects worth following
2.3k views

Circuit golf is a type of recreational circuit design competition in which participants strive to achieve the smallest possible design to solve a certain problem using a technology of choice*.

Building electronic dice is a rite of passage for every electronics tinkerer. Most likely you assembled it as a DIY kit sometime years ago. But was that really best way of doing it?

The goal is to create an electronic dice circuit with as few components and/or the most obscure technology possible. This is supposed to be an ongoing friendly competition. Just add your entry as a log. Anything goes from a technology point. Simulation is ok, when it is reasonably linked to something that could be made in reality. But obviously the real thing is always better.

*Totally stolen from here https://en.wikipedia.org/wiki/Code_golf

Two examples found on the internet

An electronic die typically consists of these elements:

• An oscillator that can be enabled to "roll" the die
• Some kind of counter
• An encoder to convert the states from the counter into the "pips".
• 7 dots / "pips". These are typically LEDs, but why not use something else?

## List of entries

#001 A classic 74XX TTL implementation (found in a book)

### SCH_3NE555die_2022-12-21.json

EasyEDA schematics for NE555 die

JavaScript Object Notation (JSON) - 61.43 kB - 12/21/2022 at 06:59

### PCB_PCB_3NE555die_2022-12-21.json

EasyEDA PCB Layout for NE555 die

JavaScript Object Notation (JSON) - 479.59 kB - 12/21/2022 at 06:58

### Schematic_3NE555die_2022-12-21.pdf

PDF schematics for NE555 die

Adobe Portable Document Format - 53.62 kB - 12/21/2022 at 06:58

• ### #007 - TinyDice - Dice on an ASIC

Tim09/03/2022 at 10:24 4 comments

Details

Entry by: Tim

Technology:  Skywater 130nm CMOS

Size: 3 DFF, 1 NAND, 1 AND, (1+ AND for clock gating)  ~ 10x10µm² on the IC.

This is a submission for tinytapeout that combines 500 very tiny digital designs into a single ASIC to be manufactured by eFabless open shuttle program. The maximum allows space on the die is 100x100µm² and the design can use 8 inputs and 8 outputs. Both, of course, still rediculously oversized for a minimized electronic die!

• ### #006 - Dice555-3: "End-game"?

Tim02/15/2022 at 21:25 6 comments

## Details

Entry by: Tim

Technology:  NE555 freestyle

Size: 3 NE555, 3 Transistors, 11 Resistors, 3 Capacitors, 7 LEDs

After squeezing the last diode out of the discrete transistor implementation, let's try to optimize the circuit even further. It's time to revisit the NE555 as a main component of electronic dice, because both somehow belong together. I designed an electronic die based on NE555 logic earlier, taking a whopping 21 NE555. This was optimized to only 12 NE555 later, by introducing a Johnson counter. Now let's improve on that. This approach takes a lot of inspiration from the light dice by Dr. Cockroach.

• ### #005 - Dice3904-8: Minimal Transistor Based Dice

Tim02/12/2022 at 11:05 4 comments

## Details

Entry by: Tim

Technology:  Bipolar/Diode logic freestyle

Size: 8 Transistors, 8 Diodes, 25 Resistors, 8 Capacitors, 7 LEDs

# Architecture-, Logic- and Circuit-Optimization

What is the minimum number of discrete components required to implement the electronic dice functionality? The technology of choice is bipolar logic. Let's try to identify a systematic approach for reduction of system complexity. First, we will look at the system level, then logic level implementation and finally a circuit implementation.

• ### #004 with old low-voltage Russian relays

Yann Guidon / YGDES02/10/2022 at 18:35 7 comments

I know I know it's only a sim. For now. Because Falstad's CircuiJS is getting better at simulating relays and such. So bear (and raccoon) with me for a while, because it will be a snap to implement for real, right ? :-P

As usual I design this around the old RES-15 relays, SPDT, with the following parameters in circuitjs:

• Inductance : 28mH
• On resistance: 1m ohm
• Off resistance: 1G ohm
• On current : 50mA
• Off current: 30mA
• Coil resistance: 38 ohms
• Switching time: 3ms

The 3ms is an approximation but it gives an idea of the speed that the circuit can reach.

The heart of the system is a 3-stage Johnson counter, made of 3 DFF which use hysteresis for latching. Each DFF has a SPDT capacitive temporary latch to separate each stage. That makes at least 10ms overall, 100Hz max.

You can even play at home online !

The clock though is a different beast. It must be fast enough but not too fast or the JC can't follow and will end in an invalid state.

But while seeking a suitable system, I managed to find an innovative (?) Power-On-Reset circuit !

It has some interesting features :

• it waits for a first period, while the power supply's capacitors charge.
• it then send a pulse for another period
• the timing depends on the power voltage, the capacitance and the relay's resistance
• there is no shorting of the capacitors to the ground, which damages the relay's contacts
• uses only electrolytic capacitors for high storage, easier to source, since the circuit does not drive them in reverse polarity (at least significantly)
• Low quiescent current
• a proper POR simplifies the JC because there is no extra logic to design for the prevention of illegal states.

The oscillator is totally... unexpected. That's not what I wanted but it seems to work.

No, seriously, this thing is so weird. But it provides 2 outputs, one contact to 0V and one to 3V, so it can drive a buffer or something like that.

If you don't believe me, try by yourself.

So far : 10 relays for POR, JC3 and OSC.

Together, they work nicely, I added some nice touches to reset the clock as well for example, and run on 3V 400mA:

I need an efficient decoder now.

It seems that directly connecting each stage of the JC3 to a pip gives the sequence 1-3-5-4-2-0 so we're almost there!

All I need is to get rid of the 0 state and output 6 instead, right ?

I'll update the log when I progress...

• ### #003 - Dice10: ATtiny10 and only two GPIO!

Tim02/10/2022 at 07:18 5 comments

# Details

Entry by: Tim

Technology:  AVR ATtiny10 MCU

Size: 1 ATtiny MCU in SOT23-6, 7 LEDs, (1 Capacitor for decoupling)

• ### Light Dice

Dr. Cockroach02/09/2022 at 20:05 15 comments

This project can be found at https://hackaday.io/project/183942-light-dice

The logic circuit drawing.

Light Dice, Where Light Logic learns how to roll....

Enhanced led display. Yes, the board is printed like that :-D

Putting a ring oscillator, some D latches, a few Nand gates and a dice display together and using only Vactrols. A video and a circuit will be forth coming.

• ### #001 - A classic 74XX TTL implementation

Tim02/09/2022 at 19:58 0 comments

# Details

Entry by: Tim

Technology:  Pure 74XX TTL

Size: 5 TTL ICs, 7 LEDs, 4 Diodes, 5 Resistors

Share

## Discussions

Tim wrote 02/11/2022 at 04:58 point

Here is an analog(!) dice I found on the net:

https://www.edn.com/a-fully-analog-electronic-dice/

Are you sure? yes | no

Yann Guidon / YGDES wrote 02/10/2022 at 18:00 point

Doing a relay-based 3-stages Johnson counter was a snap. I'm struggling with the oscillator however, as I try a new approach that is gentler on the parts...

Are you sure? yes | no

Ken Yap wrote 02/09/2022 at 23:07 point

Mine was a unremarkable design for the time, the mid-70s. I can't find any traces of my schematic (if I had one) so I'll just describe it briefly; not worthy of further elaboration.

I used a Garner oscillator (https://hackaday.io/page/5877) (sorry, no 555!) feeding a 7490 which drove a 7441 for a 1 of 6 output (I think the shop I did some casual work for threw out some sub-spec parts). The decoding was done by diodes feeding the 7 driver transistors, one for each pip. LEDs were expensive and too dim in those days and I used 12V bead bulbs, that's something you won't find these days. I cascaded two units. You pressed the button and the bulbs would cycle and flash. On release the dice would settle on a couple of patterns.

So only two TTL chips per die but quite a few diodes and transistors. Fairly high current draw due to the bulbs. Ah there must have been a 5V regulator for the TTL too.

Are you sure? yes | no

Ken Yap wrote 02/10/2022 at 03:02 point

Actually I think there may have been less driver transistors since except for the centre pip the others are paired, so 4 transistors.

Are you sure? yes | no

Tim wrote 02/10/2022 at 06:58 point

Wow, nice! So the one above from 1977 is already a "modern" LED version then. 7441 surely seems to be a very contemporary IC, i never fully understood the obsession with BCD in early microcomputers.

Are you sure? yes | no

Ken Yap wrote 02/10/2022 at 07:04 point

7441 and the Soviet equivalent are now prized as they are BCD to nixie drivers.

Are you sure? yes | no

Tim wrote 02/10/2022 at 07:06 point

Well indeed, BCD is very useful if you want to output to a nixie or 7 segment display.

Are you sure? yes | no

Tim wrote 02/10/2022 at 10:46 point

The garner oscillator is really interesting. Nice way to save a few components.

Are you sure? yes | no

Yann Guidon / YGDES wrote 02/09/2022 at 19:48 point

Are you sure? yes | no

Tim wrote 02/09/2022 at 19:49 point

Just ask to join the project.

(well, I already invited you)

Are you sure? yes | no

## Similar Projects

Project Owner Contributor

### Yet Another (Discrete) Clock

Yann Guidon / YGDES

Project Owner Contributor

Yann Guidon / YGDES

Project Owner Contributor

### 555 Timer - Timer

Jesse Farrell

Project Owner Contributor

Tim

# Does this project spark your interest?

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