A common requirement for first year students preparing for an engineering degree is to take a digital design class in which they breadboard various digital designs. This project aims to create some basic digital building blocks to make it easier to experiment with digital logic without the need for a breadboard.
The third board for the inital set of boards is a CPLD based I/O board. The CPLD used in this design is an older Altera EPM7000S series. Hackaday readers might be familiar with this particular CPLD as it was covered in a series of articles( A Better Way to Plug a CPLD Into a Breadboard ). The CPLD is a 5V part which makes using a basic 5V power supply easy! I've added in 4 LEDs, 4 SinglePole-DoubleThrow (SPDT) switches that toggle between ground and +5V for basic logic levels. I've also included a 7 Segment LED and a pushbutton. To make programming the CPLD easy, a JTAG port was added that is supported with the inexpensive USB Blaster programmer that works with Altera's Quartus software. This board potentially could be used as a standalone development platform, so I added a barrel jack for power.
The second board in this initial batch of Dave's Digital Design Doohikey boards is a 4-bit Binary Ripple Counter based on the popular 74HC93 chip. This board is pretty simple with just the chip and some bypass caps. Since I want these boards to be reusable and configurable, I added a series of jumpers to allow the end user to configure the counter with different modulus. The 74HC93 has a built in NAND gate that controls the reset of the chip. As an example if I wanted a modulus 10 counter, I would place a jumper on the 8A position, and a jumper on the 2B position. This would then cause a reset back to zero on the tenth count. This board would normally be used between other boards, so no barrel jack for power was included.
The first board for the Dave's Digital Design Doohikey boards is the 555 Timer Pulse Generator. This board is intended to provide a clocking source for digital projects. The uses a classic 555 timer, with a Schmitt trigger to clean up the signal. I've added in a switch to select between 2Hz and 10Hz frequencies. The 2Hz frequency is slow enough to easily look at events being clocked, but fast enough not to get annoyed. The 10Hz frequency is just fast enough to get things done quickly, but not so fast that it happens in the blink of an eye. I've also added a switch to change to "single step" mode. A button press provides a single clock pulse to the system, which is great for debugging. This board includes a barrel jack for power. I don't plan to put on on all of the boards, but since this is one of the boards that "starts a chain of boards", it makes sense to put one on it.