100%
bitstack-digimind DigiMind view
Description

Imported from GitHub: RetroStack/BitStack-DigiMind · commit 2d71535 · license MIT

Description

A simple game to learn digital electronics

README

DigiMind

As part of an introduction in digital electronics workshop at VCF SW 2024, I prepared this design of a Masterm*nd like game to teach digital electronics.

Photo

Latest Files

In the "Latest" folder, you'll find the most up-to-date design files, including:

  • Gerber files suitable for popular online PCB manufacturers like PCBWay and JLCPCB. Most manufacturers should be fine with either.
  • A Bill of Materials (BOM) in both CSV and PDF formats.
  • The full schematics of the board.

Implementation

The board has been implemented using KiCAD 8. The KiCAD project files are included in this repository.

Front Back

How to Play

There are two players for this game:

  • A person guessing the master code
  • A person defining the master code

Before starting the game, the person defining the master code hits the "Reset" button to reset the game's state. Then, they enter the code using the DIP switches labeled "Master." When completed, the "Set" button must be pushed to set the master code. After that, the master code can be cleared from the DIP switches as it has been read into the memory.

As soon as the "Set" button is pressed, a timer labeled "Timer" starts running down. When the last light turns off, the game is over (if the master code was not found). The potentiometer labeled "Speed" can increase the time a player has to guess the master code.

The guesser needs to enter a code into the DIP switch on the other side, labeled "Guess." The "Set" button right next to it can be pressed to trigger a guess attempt. Each attempt is recognized and counted up with the "Tries" lights. When reaching a binary 8, the game is over.

In either case, when the time runs out or when 8 guesses have been made and the guess was wrong, the "Game Over" light indicates the game is over. This light will turn on regardless of whether the master code was found or not (to simplify the logic). What is important is the "=" light that indicates if the guess was correct.

If the guess was wrong, the board indicates if the master code is higher or lower than the entered guess. These indicators are labeled "<" and ">".

Known Issues

Some decisions were made to keep the diagram somewhat readable for beginners. For example, the "Game Over" light will turn on regardless if the guess was found or not. There is also an issue when entering guesses where a bouncing of the "Set" button causes multiple guesses to register. This can be fixed by a debouncing circuit.

Bill of Materials (BOM)

Below is a list of materials needed to assemble the PCB.

Board

ReferenceQtyDescriptionFootprintDatasheet
C1110uFCapacitor_THT:C_Disc_D5.1mm_W3.2mm_P5.00mm~
C210.01uFCapacitor_THT:C_Disc_D5.1mm_W3.2mm_P5.00mm~
C3,C4,C5,C6,C7,C8,C97CCapacitor_THT:C_Disc_D5.1mm_W3.2mm_P5.00mm~
D11GreenLED_THT:LED_D5.0mm~
D2,D32YellowLED_THT:LED_D5.0mm~
D4,D5,D6,D7,D8,D9,D10,D118RedLED_THT:LED_D5.0mm~
J11Barrel_Jack_SwitchConnector_BarrelJack:BarrelJack_Horizontal~
R1,R5,R63RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal~
R2,R15,R1631kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal~
RN11R_Network04Resistor_THT:R_Array_SIP5http://www.vishay.com/docs/31509/csc.pdf
RN2,RN32R_Network03Resistor_THT:R_Array_SIP4http://www.vishay.com/docs/31509/csc.pdf
RV111MPotentiometer_THT:Potentiometer_Bourns_3386P_Vertical~
SW1,SW22SW_DIP_x04Package_DIP:DIP-8_W7.62mm~
SW3,SW4,SW53SW_PushRetroStackLibrary:SW_SPST_Push~
U2174LS161Package_DIP:DIP-16_W7.62mmhttp://www.ti.com/lit/gpn/sn74LS161
U3174LS174Package_DIP:DIP-16_W7.62mmhttp://www.ti.com/lit/gpn/sn74LS174
U4174LS85Package_DIP:DIP-16_W7.62mmhttp://www.ti.com/lit/gpn/sn74LS85
U5174LS175Package_DIP:DIP-16_W7.62mmhttp://www.ti.com/lit/gpn/sn74LS175
U6174LS08Package_DIP:DIP-14_W7.62mmhttp://www.ti.com/lit/gpn/sn74LS08
U7174LS194Package_DIP:DIP-16_W7.62mmhttp://www.ti.com/lit/gpn/sn74LS194
U8174LS02http://www.ti.com/lit/gpn/sn74ls02
U101NA555PPackage_DIP:DIP-8_W7.62mmhttp://www.ti.com/lit/ds/symlink/ne555.pdf

RetroStack Libraries

To work with this KiCAD project, you'll need the RetroStack libraries for KiCAD. Please follow this link to access and install these libraries.

Support this Project

RetroStack is passionate about exploring and preserving the legacy of older computer systems. BitStack is a sub-project of RetroStack, focusing on education in digital electronics. My work involves creating detailed documentation and videos to share the knowledge. I am also dedicated to reviving these classic systems by reimplementing them and offering replacement parts at no cost. If you're keen on supporting this unique project, I invite you to visit my Patreon page. Your support would be immensely valuable and greatly appreciated!

License

This project is licensed under the MIT License - see the LICENSE file for details.

Comments
Sign in to comment

No comments yet. Be the first to ask about this board.