The Digital Die



Contextual Challenge (the problem that needs solving)

It's game night and you need a method of picking a random number between 1 and 6. However the old fashioned dice keep falling of the table. We need something that doesn't involve too much movement. Note that 'die' is the singular of 'dice'. 

The below table helps us to prioritise the requirements for our digital die, this table is known as a SPECIFICATION.

Specification (the list of criteria that needs completing to solve the problem)




Display a number between 1-6 Use LEDs Use a variety of colours of LEDs
Clear and obvious readout Use a microcontroller and the random code box to select a pseudorandom number. Have a nice combination of colours for the LEDs and the case
Be random   have a cheat mode so you are able to always roll a six when you need it!
Easy method to select next number    have a fancy roll function i.e. when you hold the button in all the lights flash.







1 What is a Die?


Learn It

  • A Die can be used to generate a single digit random number between 1 and 6.
  • Having a digital version could be quite handy, especially when it's time for family board games.
  • There is a small problem with generating random numbers using a microprocessor or a computer however. In fact it's nearly impossible.

Research It

  • Have a read of this article. It explains (sometimes in a little too much detail) why random numbers are important.

Interesting Random Generation application

  • Watch this video to see real why random generation is so important.

Badge It - Silver

  • Try and answer the following questions:
    1. What is a pseudorandom number?
    2. What is a true random number?
    3. What is the example given for how a computer can generate a random number?

Badge It - Gold

  • You've had some experience with programming micro-controllers now, so you should have some idea of how they work.
  • Brainstorm some different ideas for how different input components could be used to generate some random numbers. What sensors could you use?