Skip to the content
2 layers42 × 78 mmP.003-V1.0.1, the printed circuit board in 3D

P.003-V1.0.1

GSAS-LABS/P.003

Digital dice based on an ATtiny85 and 74HC595. Supports D4, D6, D8, and D10 modes, with configurable rolling animation, button-based type selection, EEPROM persistence, and low-power sleep mode for extended battery life.

Size
42 × 78 mm
Copper layers
2
Thickness
1.6 mm
Parts
21
Nets
30
Pads
77
Tracks, vias
196, 21
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
9 Aug 2026
Updated
11 Oct 2026

Overview

P.003-V1.0.1 is an open-source printed circuit board by GSAS-LABS, from the GSAS-LABS/P.003 repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 2-layer board of 42 × 78 mm with 21 parts on 30 nets, routed with 196 tracks and 21 vias.

It is built around the ATTINY85-20PU, 74HC595 and BS250. Its parts include 10 resistors, 3 switches, 2 ICs, 1 diode and 1 transistor. It belongs with the power boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

3

README

README.md

GSAS-LABS Logo

GSAS-LABS
P.003-V.1.0.1

ATtiny85 74HC595 PlatformIO 2 Layer PCB 3V Ready

Buy Me a Coffee

Digital dice based on an ATtiny85 and 74HC595. Supports D4, D6, D8, and D10 modes, with configurable rolling animation, button-based type selection, EEPROM persistence, and low-power sleep mode for extended battery life.

🎲 Digital Dice

P.003 Hardware     P.003 PCB     P.003 Assembled PCB

P.003 is a compact digital dice designed around the ATtiny85 microcontroller.

The project uses a 74HC595 shift register to control the display while minimizing the number of microcontroller pins required.

The dice supports multiple modes and remembers the selected configuration between power cycles.

Supported Dice

  • 🎲 D4
  • 🎲 D6
  • 🎲 D8
  • 🎲 D10

🎮 How to Use

Power Switch

The board includes an ON/OFF power switch.

Move the switch to the ON position to power the device.

When the board is powered, the power indicator LED turns on, indicating that the circuit is active and ready to use.

Move the switch to the OFF position when the device is not being used. Turning the board off helps preserve battery life.

Power Indicator

A dedicated LED indicates the power status of the board.

  • LED ON — The board is powered and ready to use.
  • LED OFF — The board is switched off.

For maximum battery life, turn the board off when it will not be used for an extended period.

Buttons

The device includes two buttons:

  • ROLL / RESET
  • MODE / SELECT

Both buttons support short and long presses.

ROLL / RESET

A short press rolls the currently selected dice.

The display performs the rolling animation and then shows the generated result.

A long press clears the display.

MODE / SELECT

A short press changes the currently selected dice type.

The available dice types are:

text
D4 → D6 → D8 → D10

A long press confirms the currently selected dice type.

While selecting a dice type, the led point (.) of the 7-segment display is illuminated to indicate that the device is in selection mode.

After confirming the selection with a long press, the decimal point turns off.

The confirmed dice type is remembered by the device and automatically restored the next time the board is powered on.

Dice Modes

The device supports the following dice types:

ModePossible Results
D41 to 4
D61 to 6
D81 to 8
D100 to 9

In D10 mode, the generated values range from 0 to 9.

🔋 Battery & Power Consumption

The board is powered by a CR2450 lithium coin cell.

Power consumption depends on the display state and whether the power indicator LED is installed.

Power Consumption

Operating StateApprox. Current
All 7-segment display segments ON~7.5 mA
Standby / Sleep — power indicator LED installed~0.65 mA
Standby / Sleep — power indicator LED not installed~0.05 mA

The firmware uses the ATtiny85 Power-down sleep mode when the device is not being used. The ADC and unused peripherals are disabled during low-power operation to minimize battery consumption.

The power indicator LED is connected directly to the power circuit and therefore consumes approximately 0.60 mA continuously when the board is switched ON. This increases the standby consumption from approximately 0.05 mA to 0.65 mA.

For maximum battery life, omitting the power indicator LED significantly reduces the standby current.

Estimated Battery Life

Using a CR2450 with a nominal capacity of approximately 620 mAh:

Operating StateCurrentTheoretical Battery Life
Standby — LED installed~0.65 mA~954 hours / ~40 days
Standby — LED not installed~0.05 mA~517 days / ~1.42 years
All display segments ON continuously~7.5 mA~83 hours / ~3.4 days

Battery life values are theoretical estimates based on the nominal 620 mAh battery capacity and measured current consumption. Actual battery life will be lower and depends on battery voltage, discharge characteristics, temperature, pulse loads, and the device's operating cycle.

The CR2450's rated capacity is specified under particular discharge conditions. Continuous operation at currents significantly above the manufacturer's standard drain can result in less usable capacity than the nominal 620 mAh rating.

🧾 PCB BOM

P.003 PCB

ReferenceComponentValue / PartQuantityUnit PriceTotal
AFF17-Segment DisplayCommon Cathod1R$ 2.50R$ 2.50
BT1Battery HolderBAT-HLD-006-SMT, 1x CR24501R$ 2.53R$ 2.53
D1LED3 mm Through-Hole LED1R$ 0.15R$ 0.15
Q1P-Channel MOSFETBS2501R$ 2.50R$ 2.50
R1Resistor100 kΩ1R$ 0.05R$ 0.05
R2Resistor2.2 kΩ1R$ 0.05R$ 0.05
R3–R10Resistor1K Ω8R$ 0.05R$ 0.40
SW1Slide SwitchMicro Chave SS12D071R$ 0.50R$ 0.50
SW2-SW3Push Button6 mm Tactile Switch2R$ 0.15R$ 0.30
U1MicrocontrollerATTINY85-20PU, DIP-81R$ 26.00R$ 26.00
U2Shift RegisterSN74HC595N, DIP-161R$ 2.52R$ 2.52

💰 Estimated Cost

ItemEstimated Cost
Electronic ComponentsR$ 37.50
PCB ManufacturingR$ 8.50
Estimated Total Project CostR$ 46

Component prices may vary depending on supplier, quantity, shipping costs, and location.

PCB manufacturing costs will be added once the board fabrication service and order quantity are defined.

📐 KiCad PCB Configuration

The PCB uses custom routing values configured specifically for this project.

📏 Board Dimensions

ParameterDimension
Width42 mm
Height78 mm

🛤️ Track Widths

Track WidthRecommended Use
0.25 mmSignal routing
0.40 mmPower and higher-current connections

🔘 Via Configuration

ParameterValue
Via Diameter0.8 mm
Drill Hole0.4 mm

These values are configured as custom routing presets in the KiCad project and should be maintained when modifying or extending the PCB design.

🛠 Development Environment

The firmware is developed and built using PlatformIO.

The project includes a Makefile that simplifies the most common development tasks.

Requirements

  • macOS
  • Homebrew
  • PlatformIO

⚙️ Makefile

The project provides the following commands.

Install PlatformIO

bash
make install

This command checks whether PlatformIO is already installed.

If PlatformIO is not available, it installs PlatformIO using Homebrew.

Update PlatformIO

bash
make update

Updates PlatformIO and prints the installed version.

Build Firmware

bash
make build

Program ATtiny85 Fuses

bash
make fuses

Upload Firmware

bash
make upload

🔌 Programming the ATtiny85

The ATtiny85 is programmed using the ISP protocol.

The required signals are:

USBasp Programming Header

SignalFunction
MOSIMaster Out Slave In
MISOMaster In Slave Out
SCKSerial Clock
RESETProgramming Reset
VCCTarget Power
GNDGround

The board can be programmed using an ISP programmer such as a USBasp.

ISP Connection

text
USBasp              ATtiny85 PCB

MOSI   ──────────── MOSI
MISO   ──────────── MISO
SCK    ──────────── SCK
RESET  ──────────── RESET
VCC    ──────────── VCC
GND    ──────────── GND

🐧 GSAS-LABS

GSAS-LABS is an independent engineering laboratory dedicated to the design, development, and exploration of electronics and software projects. It combines hardware and software engineering to create practical projects focused on embedded systems, microcontrollers, PCB design, and software development.

Areas of interest include:

  • Embedded systems
  • Microcontrollers
  • PCB design
  • Hardware prototyping
  • Electronics
  • Software engineering

📜 License

This project combines software and hardware, with each part released under its corresponding open-source license.

💻 Firmware

The firmware is licensed under the GNU General Public License v3.0 (GPLv3).

The firmware can be used, studied, modified, and redistributed. Any distributed modifications must remain open-source and be released under the GPLv3.

🔧 Hardware

The hardware design is licensed under the CERN Open Hardware Licence v2 (CERN-OHL-S).

This includes the hardware design files, such as:

  • Schematics
  • PCB layouts
  • KiCad project files
  • Manufacturing files

The hardware design can be used, studied, modified, manufactured, and distributed. Hardware designs based on this project must preserve the same open and strongly reciprocal principles when distributed.

🐧 GSAS-LABS Name and Logo

The GSAS-LABS name, logo, and visual identity are not covered by the software or hardware licenses.

All rights to the GSAS-LABS name and logo are reserved by their respective owner.

Use of the GSAS-LABS name or logo does not imply endorsement, affiliation, or approval of derivative projects.


Experiment · Build · Learn · Share

Made with ❤️ by GSAS-LABS

Buy Me a Coffee

Parts

21
QtyValueFootprintReferences
81KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR3, R4, R5, R6, R7, R8, R9, R10
2MountingHole_3.2mm_M3MountingHole:MountingHole_3.2mm_M3,
1100KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1
12.2KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2
13VBattery:BatteryHolder_Keystone_3008_1x2450BT1
174HC595Package_DIP:DIP-16_W7.62mmU2
1ATtiny85-20PPackage_DIP:DIP-8_W7.62mmU1
1BS250Package_TO_SOT_THT:TO-92_InlineQ1
1DisplayDisplay_7Segment:7SegmentLED_LTS6760_LTS6780AFF1
1LEDLED_THT:LED_D3.0mmD1
1ModeButton_Switch_THT:SW_PUSH_6mm_H4.3mmSW2
1ON/OFFButton_Switch_THT:SW_Slide_SPDT_Straight_CK_OS102011MS2QSW1
1RollButton_Switch_THT:SW_PUSH_6mm_H4.3mmSW3

Similar boards

  • 2 layers109 × 64 mmHyundai Dash V1.1, the printed circuit board in 3D

    Hyundai Dash V1.1

    eymenyg/sim_dash

    Download hyundaidashv1bng .zip from the Releases page and copy it to:

    29 parts
  • 2 layers72.2 × 53.6 mmLow cost robotics, the printed circuit board in 3D

    Low cost robotics

    gabs911/low_cost_robotics

    Low cost robotics platform for STEM programs.

    19 parts2MIT
  • 2 layers76.2 × 114.3 mmBadge, the printed circuit board in 3D

    Badge

    OpenBadgeProject/badge-hardware

    The badge hardware

    37 parts2Apache-2.0
  • 2 layers90 × 55 mmFingerGrinder, the printed circuit board in 3D

    FingerGrinder

    raffsalvetti/FingerGrinder

    a v-usb gamepad

    34 parts1
  • 2 layers78.7 × 53.3 mmCoffee timer, the printed circuit board in 3D

    Coffee timer

    tibordp/coffee-timer

    Kitchen timer on an ATtiny85 with a 7-segment display and a couple of shift registers

    28 parts1GPL-2.0
  • 2 layers75.8 × 75.8 mmHeartPCB, the printed circuit board in 3D

    HeartPCB

    AayanShaikh007/IEEE-LED-Heart-PCB

    40 parts
  • 2 layers75.5 × 46 mmHelioHeat, the printed circuit board in 3D

    HelioHeat

    E-anae/HelioHeat-PCB

    Cette section présente l'architecture d'un thermomètre autonome fonctionnant à l'aide d'un panneau solaire. L'objectif est de mesurer la température d'un lieu et d'afficher sur des afficheurs 7 segments tout en assurant…

    14 parts
  • 2 layers151.1 × 95.3 mmLED Panel, the printed circuit board in 3D

    LED Panel

    Plasmarobo/Disarmed

    Heavily inspired by Keep Talking and Nobody Explodes and Bomb Corp.

    38 parts1

Questions

How big is the P.003-V1.0.1 PCB?

It measures 42 × 78 mm and has 2 copper layers, 1.6 mm thick.

What parts does the P.003-V1.0.1 use?

21 parts, built around the ATTINY85-20PU, 74HC595 and BS250. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the P.003-V1.0.1 KiCad files?

From the GSAS-LABS/P.003 repository on GitHub, at the commit this page was made from: the board is P.003-V1.0.1/P.003-V1.0.1.kicad_pcb and its schematic P.003-V1.0.1/7_segment_display.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the P.003-V1.0.1 design in my own project?

Its repository publishes it under the CERN-OHL-S-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).