Here is an Instructable on how to build a digital dice that uses LEDs as well as an Arduino Nano to generate random numbers and display them in vibrant colours. The housing is fully 3D printed and some circuits have to be custom made. To use the dice, a button is simply pressed and after a quick animation a number will be displayed.
Supplies
Tools:
>3D Printer
> Soldering iron and solder wire
> Screw drivers
> Wire stripper and side cutter
> Scroll saw (Or anything that can cut proto board)
> Rotary tool with cutting disc (Optional)
Off-the-shelf parts:
> 1x Arduino Nano
> 1x Pushbutton
> 7x 5mm LEDs (Choose your favourite colour!)
> Resistors: 7x 220 Ohm; 1x 10 kOhm
> Self-tapping screws: 5x M3x8mm; 3x M3x5mm (Alternatively, use 8x longer M3 screws and cut them to length)
> Machine screws: 6x M2x6mm
> 9V Battery & battery snap
> Small slide switch, mounting holes 20mm center-to-center
Other materials:
> 3D Printer filament (PLA works just fine)
> Strip grid proto board (We will use this to make custom circuits)
Step 1: 3D Printed Parts

First you need to 3D print the enclosure wich will house all the other parts. The STL files are attached to this step. The only part that needs support material is the base.
Step 2: Main Circuit Layout

Cut a piece of proto board that has 20 holes in width and 19 holes in height. Drill 3.5mm mounting holes along the center row of solder holes, spaced 36mm apart center-to-center (See picture). Solder the LEDs in the positions as shown in the image. These positions need to be exact as the LEDs need to line up with the holes in the 3D printed enclosure.
Step 3: Main Circuit Assembly

Step 4: Small Circuit Board for the Pushbutton

Step 5: Remove the ICSP Pins on the Arduino

Step 6: Initial Assembly

Solder one lead from the battery snap to the slide switch so the dice can be toggled on and off later.
Step 7: Final Assembly

Install the slide switch into the casing, securing it with two M2 screws with the wires poking through the hole.
Connect all the wires from the two custom circuit boards to their respective pins on the Arduino (refer to the diagrams from steps 3 & 4) , as well as the power connectors from the battery and switch which has to connect to VIN (positive) and GND (negative) on the Arduino. Bring the base and shell together so that the gap on one side of the shell aligns with the USB port on the Arduino. Shove all the wires in until the two parts sit flush agaist each other. Note that the battery snap has to be loosely placed in the battery compartment so that the battery can be easily connected.
Fasten the two parts together using three M3x8mm screws as shown in the photo.
Now simply connect the battery to the snap and slide it into the compartment. Close it off using the battery cover and an M3x5mm screw.
And that’s it! Your DigiDice is now fully assembled and ready for some code.