Electronic dice circuit: a counter and seven LEDs, live
An electronic dice is a fast counter that runs through 1 to 6 while you hold a button and stops when you let go, plus a decoder that lights the seven LEDs of a die face. This live one counts on CLK while ROLL is 1 and holds while ROLL is 0; its seven outputs are the pips TL, TR, ML, C, MR, BL and BR.
The randomness comes from you, not the logic. A real electronic dice clocks its counter thousands of times a second, far too fast to time the moment you let go, and the counter visits all six faces equally often, so each face is equally likely. Here the clock is slow enough to watch. The counter is three D flip-flops counting 0 to 5 (shown as faces 1 to 6), like the mod-6 counter: Q0 toggles every step, Q1 = NOT Q2 AND (Q1 XOR Q0) and Q2 = Q1 Q0 OR Q2 NOT Q0, so 5 (101) is followed by 0. ROLL chooses, for each flip-flop, between that next count and its own present value, the same 2:1 choice a register with load makes, so the count simply holds while ROLL is 0. The decoder is smaller than it looks, because die pips light in pairs: the centre is on for the odd faces 1, 3 and 5; top left and bottom right for every face from 2 up; top right and bottom left from 4 up; and the middle pair only on 6. Four signals drive all seven LEDs: centre = NOT Q0, the first diagonal = Q2 OR Q1 OR Q0, the other diagonal = Q2 OR Q1 Q0, and the middle pair = Q2 Q0. Another display decoder works the same way for digits: the BCD to 7-segment decoder. The live circuit opens with CLR high, showing a 1 (just the centre): set CLR to 0 and ROLL to 1 to roll, then ROLL to 0 to stop. Before the page is built, 19 clock cycles are checked on all seven pips: clearing, rolling through every face and around again, holding, and rolling on.
Open this circuit in the lab →
What you need
- 3× D flip-flop with clear: the count Q2 Q1 Q0, 0 to 5 for faces 1 to 6, on CLK
- 3× AND + 1 XOR + 1 OR: the next count: Q0 toggles, Q1 = Q2' (Q1 XOR Q0), Q2 = Q1 Q0 + Q2 Q0'
- 6× AND + 3 OR + 1 NOT: ROLL choosing between the next count and holding
- 1× AND + 3 OR + 1 NOT: the four pip groups that drive the seven LEDs
Step by step
- Place a clock
CLK, inputsROLLandCLR, and seven probes for the pips:TL,TR,ML,C,MR,BL,BR. - Build a counter that goes 0, 1, 2, 3, 4, 5 and back to 0 on each clock edge, cleared by CLR.
- Put a 2:1 choice in front of each flip-flop: the next count when ROLL is 1, its own Q when ROLL is 0.
- Decode the pips: C = NOT Q0, TL and BR = Q2 OR Q1 OR Q0, TR and BL = Q2 OR (Q1 AND Q0), ML and MR = Q2 AND Q0.
Faces and pips
| Count (Q2 Q1 Q0) | Face | TL and BR | TR and BL | ML and MR | C |
|---|---|---|---|---|---|
| 000 | 1 | 0 | 0 | 0 | 1 |
| 001 | 2 | 1 | 0 | 0 | 0 |
| 010 | 3 | 1 | 0 | 0 | 1 |
| 011 | 4 | 1 | 1 | 0 | 0 |
| 100 | 5 | 1 | 1 | 0 | 1 |
| 101 | 6 | 1 | 1 | 1 | 0 |
TL, TR, ML, C, MR, BL and BR are top left, top right, middle left, centre, middle right, bottom left and bottom right. The counts 110 and 111 never come up in use; if one did, the next-state logic would send 110 to 101 and 111 to 100, both inside the loop, so the dice cannot get stuck.
You can also read the full theory in the lesson on counters. Prefer to build it yourself from scratch? Open the digiwleea lab and place the gates on the canvas, or start from the logic gate simulator.
Build more parts from gates
Each of these is one step from a transistor to a working CPU. Build every gate from CMOS transistors and work all the way up in the free digiwleea lab, with the free theory reference alongside.
Open the electronic dice circuit in the lab →Frequently asked
How does an electronic dice work?
A counter cycles through six states while a button is held, and a decoder lights the LEDs of the matching die face. Releasing the button stops the counter, and whichever face it stopped on is the roll.
Why is an electronic dice random?
Because the counter runs far faster than anyone can time a button release, and it spends equal time on each of the six faces. The roll depends on exactly when you let go, which you cannot control to a thousandth of a second.
How many signals does a dice display need?
Four. A die's seven pips light in groups: the centre alone, two diagonal pairs and the middle pair, so four decoded signals drive all seven LEDs.
Why does the counter go from 0 to 5 instead of 1 to 6?
Starting at 0 means a clear (all flip-flops 0) gives a valid face, and the decoder simply maps counts 0 to 5 onto faces 1 to 6.