Resto-Mod Audible Digital Dice Towers

Art, engineering, retro cool, and modern geek all in one package

Public Chat
Similar projects worth following
This page captures an ongoing art and engineering project I have been working for a couple years now. I originally summarized it as the Digital Dungeon Delvers Electronic Dice Tower. But, it's grown to be more than the initial vision. It's now a series of "art" pieces and tools for the vision impaired that represent a beloved time of my childhood in the late 70's. The pieces are based on Heathkit gear, random vintage electronics, and table top radio cases from the 60's and 70's. Each one is unique and hand built using input and display devices of that era. They utilize modern AVR CPUs in through hole packaging soldered to hand wired proto-boards. Each one represents what 12 year old me would have built if I had known what I know about micro-controllers and electronics today.

This project explores a simple concept and takes it in many different directions. It combines art and engineering with nostalgia. It even took a turn I had never anticipated when fans of my pieces asked if they were available for their vision impaired significant others that play table top roll play games. Thus several display-less pieces were built and given away.

Each piece implements the function of a Dungeons and Dragons dice tower and dice using retro cases, input switches, and displays. The user selects a number of dice, then selects the dice type (2 sided, 4 sided, 6 sided, 8 sided, 10 sided, 12 sided, 20 sided, or 100 sided), and finally presses the roll button to get a die roll result. The device calculates the result then displays it and/or speaks it. The user can then re-roll by pressing the roll button again, or change the count and/or dice and roll a different set of die.

This project represents several things l love. 

  1. It's Dungeon & Dragons: I've been playing D&D since 1978. Thus, it's a resto-mod build based on user interface technology from that same time frame
  2. It recycles: It's fun reusing old parts and technology. Besides being "the right thing to do" for reasons we already know, "Recycling" requires disassembly and reverse engineering. It's fun to take things apart and figure how they work. I often learn things applicable to other projects in the process. "Recycling" also requires a different approach to design and implementation. It defines the space you are working in and presents challenges that force you to look at projects from a different perspective
  3. There's a micro-controller: A project just isn't fun unless there's a micro-controller and some software to write, download, debug, and iterate
  4. It's retro-cool without the retro software development: I love the old display technologies, the classic panel mount switches/dials/buttons, wrinkle paint, "lab equipment" blue, and sheet metal cases. I also appreciate the TTL logic IC's and big through-hole parts on PCBs. They simplify reverse engineering, hardware prototyping, and the tools/skills required to do it. However, I'm not a big fan of antiquated software development environments and code libraries. I prefer to stay current, thus the resto-mod approach using AVR micro-controllers
  5. It enables vision impaired players to experience table top gaming in a new independent way. After I started building and posting videos of these devices, I was contacted by a couple players. Each asked if I could build one for their significant other that was vision impaired. They each wanted to give their spouse a new independence at the game table that would improve their game experience

This is a ongoing project that encapsulates several pieces, I've posted logs that capture the new builds and features.

See the latest blog entries for a very detailed description of building my latest design based on the Bell & Howell IMD-202 Digital Multimeter. These blogs walk step by step through every phase of the build. The meter is the most available of the original period cases and parts that I resto-mod. They are commonly available on E-bay for a reasonable price. This design has the lowest part count and is the easiest to build.

The video below demonstrates my latest designs. These utilize a couple different display technologies. One was designed and built by request for a vision impaired gamer so it has no display at all.

Source and Microchip Studio Project files for the Bell & Howell based digital dice tower.

Zip Archive - 414.70 kB - 09/12/2022 at 00:58



Source for linux application to convert sound files to C data structures to be used with the digital dice tower software for the AVR.

x-csrc - 5.93 kB - 07/25/2022 at 00:08


Source and Atmel Studio project files for the 5 digit bubble LED digital dice tower with rotary encoders based on the Heahkit HD-16. The pinout can be found in the comments in main.c

Zip Archive - 320.52 kB - 07/25/2022 at 00:02


  • 1 × Bell & Howell IMD-202-2 multi-meter Case, nixie tubes, 7441 decoder/drivers, power supply, and power cord. Used for the lab blue crinkle paint dice towers
  • 1 × Sears Silvertone Solid State Radio model 6004 Burnt orange case, speaker, knob, and potentiometer with on/off switch
  • 1 × Sears Silvertone Solid State Radio model 7004 Ivory/Blue case, speaker, knob, and potentiometer with on/off switch
  • 1 × Heathkit HD-16 Code Oscillator Two tone olive green case, speaker, on/off switch
  • 1 × Wildlife Materials Inc. TRX-1000S PLL Synthesized Tracking Receiver Blue case with handle

View all 23 components

  • 70's Digital Dice Tower

    John Anderson10/23/2022 at 07:05 0 comments

    I've had this old desktop AM radio case sitting on my shelf for a few years now. I bought it at Goodwill and I loved it's period look. When I saw it, I immediately recognized it's potential as a classic 70's "digital dice tower". So this past week, I finally got around to building the tower I envisioned when I first saw this case.

    This tower uses the HP 5082-7466 HP MINI BUBBLE RED 5 DIGIT 7-SEGMENT LED DISPLAY. It's perfect for the early seventies period look. It's the same display that was used in calculators and digital watches of the era. The rest is similar to the previous Bell & Howell Digital Multimeter based build I recently documented in the blog. The only differences is a slightly more complex circuit for the LM386 amplifier and a 9 volt battery based power supply. I tried to add more filtering to reduce some of the slight buzz in the speaker. And, I had to add a 7805 voltage regulator to get the right voltage to power the microcontroller and rotary encoders.

    The build started with disassembling the case, painting it, and fabricating a custom faceplate from some thin finishing plywood. The faceplate was then stained and painted in a very fitting 70's color scheme.

    Next, I started assembling the controller board. I started with the power supply based on a 9 volt battery and a 7805 voltage regulator. I also soldered the sockets for the microcontroller and the audio amp to the protoboard. Note: The 10K pot that controls the volume also has a switch to control the 9 volt power to the controller board.

    Then I wired up the audio circuit based on the LM386 audio amp. As mentioned above, this circuit was a little more involved than the one I used for the recent Bell & Howell Digital Multimeter based unit. Given the 5 digit 7 segment LED display, this board can be a little more noisy than the nixie display controller. The result was a little disappointing but worked reasonably. I added a 5K pot on the PCB to set the amplifier gain. This helped to tune it so the volume was reasonable and clipping is minimal.

    Next, I wired up the 7 segment display. I cut a small protoboard down to size to make wiring and mounting it as easy as possible. Even so, there are 12 wires from the microcontroller to the display (7 segments plus 5 digit commons). The board and wiring started to get a little busy.

    Then for the controller board, I wired up the button and the two rotary encoders.

    Lastly on the controller board, I programmed the AVR microcontroller, inserted it into the 28 pin socket, and inserted the LM386 audio amp into the 8 pin socket. For the Atmel Studio project for this 5 digit seven segment LED type device, download this zip file from the project page.

    Then it was a matter of mounting everything into the faceplate and assembling the case. A couple short standoffs and some hot glue held the display in place behind a red filter I cut from an old dead piece of test equipment.

    And, here's the result of my efforts.

  • It's Alive

    John Anderson09/13/2022 at 02:38 0 comments

    Now that it's complete and I updated the build notes to capture a few things I discovered once it was powered it on, let's see what this thing can do!

  • Software and ICs

    John Anderson09/12/2022 at 04:47 0 comments

    Now that the controller board is built and installed, the next step is to load the application into the MCU flash, install the IC's, and test the device.

    Start by downloading the file from the project page here. Unzip that into a location in your local storage. You will load the application from there.

    If you don't already have it, you will have to download and install the Microchip Studio software next.

    Then, start the Microchip Studio application and load the BH_DiceTower.atsin project. 

    The project comes with the solution already built with .s19 and .hex files that can be loaded to the MCU flash. However if you make changes to the source or simply want to rebuild it, select Build | Buils Solution from the application menu.

    With the source built, the next step is to setup the MCU and program it's flash. To do so, you need a programmer and a board with a 28 pin socket for a ATmega 329P MCU and ISP programming port. I use an Atmel-ICE for my programmer. There are cheaper options, but I can't say enough good things about the Atmel-ICE. It provides seamless debugging for AVR and SAM MCUs using multiple interfaces like ISP and UDPI. If you want use something else, I'll leave it to you to research how to make that work. It's also an option to take the .hex or .s19 files from the project and program the MCU using a programmer with the Arduino IDE. However, I am not familiar with the Arduino IDE. So again, that's left as an exercise for the user.

    For the board with the ISP port, I used to add an ISP port directly to the controller board. This is still an option and a little web research will turn up how to wire that up. You can see in one of my previous project blogs where I did just that on a different configuration of the controller baord.

    I now use a Evil Mad Scientist ATmegaXX8 Mini Dev Kit ( They are cheap and very easy to build. I upgraded my board with a 28 pin ZIF socket, 7805 5v voltage regulator, and mounted it to plexi-glass base with banana connectors for power connect. With this setup, I can use a 12v bench power supply or wall wart and program 328's for use on various boards.

    Here's a pic of my programming setup.

    To program the MCU, select Tools | Device Programming from the Microchip Studio application menu.

    A pop up dialog will appear. In this dialog, select the programmer (Tool), MCU (Device), and programming port (Interface). In this case, it's Atmel-ICE, ATmega328P, and ISP in that order. Then click the Apply button. This will connect to the programming device. Clicking either of the Read buttons will connect the programmer to the MCU using the interface. This will confirm that the MCU can be programmed.

    Next, select Fuses in the left pane. In the right pane, scroll down and deselect the LOW.CKDIV8 fuse. Then, click on the Program button below that. The pop up window will report that "Verify registers ... OK" in the bottom status line. This turned off the divide by 8 on the internal clock. If you don't do this, the audio will be garbled. The software's PWM setup assumes this flag is cleared.

    Next, select Memories in the left pane. In the right pane, click the Program button. With the default Interface settings, this step will take about 15 to 20 seconds. When it completes successfully, the status line at the bottom of the pop up will report "Verifying Flask ... OK". At this point, the MCU is programmed. So, turn off power on the board and remove the MCU.

    Next insert the MCU in the 28 pin socket on the controller board, paying attention to where pin 1 is correctly located. Note: this end of the controller board is not supported and simply pressing the IC into the socket will dislodge the controller board from the PCB sockets. So, support the end of the controller board with your other hand/fingers as you locate and press the IC into the socket. The same goes for the audio amp IC.

    It's an option to install stand-off on this end of the controller board...

    Read more »

  • Mechanical Assembly

    John Anderson09/03/2022 at 06:55 0 comments

    Now we'll apply graphics, install the controller, mount speaker, LED, and controls.

    Start by installing the controller board back onto the PCB. Be careful to line up the header pins with the socket on the left. With that one lined up, the rest of the headers should line up as well. Lightly press the controller board into place. It won't take much pressure.

    Once the controller board is in place, everything should look like this.

    Next, mount the speaker to the holes drilled earlier. A stash of small screws, washers, and nuts is helpful here. I always keep all screws from disassembling other vintage electronics.

    Use a pair of needle nose pliers and a screw driver to get these screws nice and tight. If they are loose you'll get some rattle in the voice/sound.

    Once mounted, it should look something like this from the outside of the case.

    Next put the panel mount LED holder in the front panel and tighten it with the needle nose pliers.

    The LED press into the holder from the back.

    Then select some washers to space the roll button properly.

    Then insert it into the front panel and tighten.

    Next select the washers to set the volume pot knob appropriately.

    When you mount it, you will need to pay attention to it's orientation. This way low volume is on the left and high volume is on the right according to the knob indicator. Since the lugs will be very close to the metal chassis, I wrap the lugs/body in the single layer of electrical tape.

    Insert the potentiometer into the front panel, double check it's orientation, tighten, and mount the knob. In this case, the knob has a flat head set screw.

    Then check out the rotary encoders. They often have a tab the keeps them from spinning in the panel. I just bend this tab back with a pair of, you guessed it, needle nose pliers.

    The encoders insert through the angle bracket that's screwed to the PCB. This holds everything square. To be honest, it's a little overkill for these encoders. The torque required to turn them is far less than the original rotary switched. So, it's an option to remove the angle bracket if it troublesome.

    If you use the bracket, no washers are required on the back side to space the knob appropriately. Tighten up the encoders with my favorite tool.

    I like to use a variety of knobs on my builds. In this build, I reused the original knobs from the rotary switches. They don't have set screws. They have an interference fit instead. To create this fit, they have a thin piece of spring steel wedged into the pot metal inserts. Using a small screw driver, you can pry the spring steel up and grab it with the trusty needle nose pliers. With a little effort, you can pull it out. Frequently, the pot metal insert will pull out of the knob while doing this. Once the spring steel is out, you can simply press the pot metal insert back into the knob with your thumb.

    Since there is no set screw, the knobs will have a loose fit. A single drop of super glue is enough to hold them in place. However, I suggest doing that very last after you have proven that everything is working the MCU programmed and in place. We'll do that in the next blog. At this point, your face plate should look something like this.

    For this build I am going with graphics that appear silk screened to the face plate like the original graphics. To get this effect without a lot of effort, I like you use laser printer compatible water slide decals. Just design the graphics you want your PC, print them on the water slide "paper", and put them on the face plate. I have been using these water slide decal papers. They seem to work reasonably.

    Print out the graphics and cut them out. Then, soak them one at a time in warm water for exactly 30 seconds. I say that because if you soak them any longer the decal will come off the paper backing before you pull it from the water. Pull the paper with the decal from the water and slide the decal off the paper (or the paper out from under...

    Read more »

  • Build the Controller (Part 3)

    John Anderson08/30/2022 at 04:57 0 comments

    Next we'll connect the volume potentiometer, rotary encoders, button, LED, and speaker to the controller board.

    Start with an 0hm speaker and a small 10K potentiometer with appropriate lengths of 28 awg stranded ribbon cable wire. You'll need two conductors for the speaker and 3 conductors for the volume potentiometer. I have a stash of 10 conductor ribbon cable I pull these from and cut to approximately 8" to 9" length.

    First, solder the tow conductor wire to the speaker.

    Then solder the other end of the speaker wire + to row 62 column J. This is the negative side of the 220 uF filtering cap.

    Next solder the three conductor wire to the small (5/8" diameter) 10K potentiometer. Before doing so, confirm which of the leads should be wired to signal input should be wired to ground.

    The center lead/lug is the wiper and that will be wired to signal output to the audio amplifier. Turn the shaft all the way to the left (turn the volume down). Then check the resistance between the center lug and each of the other two lugs. Ground will be connected to the lug with near zero resistance and the input will be connect to the lug with near 10K resistance.

    For solder lugs like the ones I have here, it's easiest to blob some solder on the lugs before connecting the wires.

    The wires from the potentiometer are then connected to the controller board. 

    • The ground lead wire is connected to the ground bus 
    • The input signal lead is connected to the output from the RC filter connected to pin 17 of the microcontroller (row 55 column C)
    • The output signal is connected to pin 3 of the audio amplifier (Row 59 Column C)

    Next connect the roll button to the microcontroller. This I/O pin is configured with an internal 10K pull up. So, you can wire the Normally Open leads to directly to pin 15 of the MCU (Row 52 Column J) and the ground bus.

    Next wire the result indicator LED to the current limiting resistor (pin 14 on the MCU) installed in a previous log and ground. The positive lead of the LED (the longer lead) will connect to row 53 column A. The negative lead connects to the ground bus.

    Finally connect the two rotary encoders to the MCU. These will be connected directly to +5v bus, ground bus, and 3 I/O pins. The rotary encoders that I purchase come with inline 5 pin IDC connectors. However, I find it easier to remove this connector with my handing solder sucker and wire the 5 conductor ribbon cable directly to the board.

    As with other stranded wire, I find it much easier to tin the wire before soldering to the board.

    The ribbon cable wired to the encoder board will look something like this.

    Now the +5v, ground, switch, data, and clock signals will line up so connecting to the MCU is relatively simple. For the dice count encoder:

    • SW (switch) to MCU pin 28 (Row 39 Column J)
    • DT (data) to MCU pin 27 (Row 40 Column J)
    • CLK (clock) to MCU pin 26 (Row 41 Column J)

    For the dice type encoder:

    • SW (switch) to MCU pin 25 (Row 42 Column J)
    • DT (data) to MCU pin 24 (Row 43 Column J)
    • CLK (clock) to MCU pin 23 (Row 44 Column J)

    When you are done, your controller board should look like this octopus.

    In the next blog, we'll apply face plate graphics, install the controller board, and mount the indicators and controls.

  • Build the Controller (Part 2)

    John Anderson08/16/2022 at 05:02 0 comments

    Now it's time to solder the connections to the nixie display drivers, lamp transistors/drivers, and the current limiting resistor for the LED result indicator.

    Do these steps in the order presented and it will make the soldering easier.

    First, determine where to connect the microcontroller digital outputs to the 1's Nixie digit. For this, I happen to have the original assembly manual for these digital multi-meters.

    And it has a full schematic of the circuit board.

    I won't bore you with all the details. But, we are interested in how to drive the Nixie displays. So, here's the relevant part of the schematic. It shows how the original 7490 decade counters (IC6 and IC7) connected to the 7441 BCD to decimal decoder/drivers (IC3 and IC4).

    The controller board plugs into the sockets that used to contain IC6 and IC7. The interface here between the old 7490 decade counters and the 7441 decoder/drivers is TTL logic levels. This is compatible with the digital outputs on the ATmega 328P microcontroller. So, wiring this up will be simple. The outputs from the microcontroller can directly drive the inputs on the 7441 decoder/drivers.

    Here's the pinout for the microcontroller. Pins 2-5 are the outputs for the 1's digit.

    On the controller board, it looks like this for the 1's digit Nixie display.  

    • Pin 2 (row 40 column D) of the microcontroller connects to pin 12 (row 35 column D) of IC7
    • Pin 3 (row 41 column C) of the microcontroller connects to pin 9 (row 32 column C) of IC7
    • Pin 4 (row 42 column B) of the microcontroller connects to pin 8 (row 31 column B) of IC7
    • Pin 5 (row 43 column A) of the microcontroller connects to pin 11 (row 34 column A) of IC7

    Run these wires on the top side of the board and solder from the bottom side.

    Next, connect the 100 digit (it's just a neon lamp representing the digit 1) and the overflow indicator (another neon lamp).

    As you can see from the original schematic, the 1's digit is driven by pins 5 and/or 12 on IC5. The overflow indicator is driven by pin 9 on IC5. Again, these are TTL level compatible. So, they can be driven directly by the microcontroller.

    It looks like this on the controller board.

    • Pin 9 (row 47 column A) of the microcontroller connects to pin 5 (row 3 column G) of IC5 
    • Pin 10 (row 48 column B) of the microcontroller connects to pin 9 (row 2 column B) of IC5

    In hindsight, I could have connected 100's digit to pin 12 of IC5 and saved the jumper wire between rows 10 and the wire from row 10 column G to row 3 column G. That would have required a 5 pin header instead of the 4 pin header I had installed. Lesson Learned: Use a pair of 7 pin headers for the IC5, IC6, and IC7 socket connections.

    Now, wire up the connections for the 10's Nixie digit. These wires will be run on the bottom side of the board and soldered from the top side. This will keep everything cleaner.

    It looks like this on the controller board.

    • Pin 6 (row 44 column D) of the microcontroller connects to pin 12 (row 24 column D) of IC6
    • Pin 11 (row 49 column C) of the microcontroller connects to pin 9 (row 21 column C) of IC6
    • Pin 12 (row 50 column B) of the microcontroller connects to pin 8 (row 20 column B) of IC6
    • Pin 13 (row 51 column A) of the microcontroller connects to pin 11 (row 23 column A) of IC6

    Lastly, solder up the current limiting resistor for the result LED indicator. I am using a 5mm green LED for this. So, I used a 68 Ohm resistor. Pin 14 on the microcontroller drives this indicator. So, solder the resistor from pin 14 (row 52 column D) to row 53 column D. Row 53 columns A, B, C will connect to the positive lead on the LED when we wire up the external switches, speaker, and LED indicator in the next blog. 

    With that, all of the visual indicators are wired up.

  • Build the Controller (Part 1)

    John Anderson08/11/2022 at 05:17 0 comments

    Now that the case and the PCB are prepped and you have soldered the headers that will connect the controller board to the original PCB, you can start building the controller board.

    Start by putting a solder blob on both sides of the proto board connecting the left and right side power bus.

    Then locate the 28 pin dip and 8 pin dip sockets on the protoboard as so. If you align them on the same rows I have it will make referencing this photos easier. On my board, pin 1 for the 28 pin dip socket is on row 39 and pin 1 for the 8 pin dip socket is on row 57.

    Next wire up the power and ground to the power bus. Wiring power and ground to the headers will provide 5v and ground to the controller board. Wiring power and ground to the 28 pin and 8 pin sockets will provide 5v and ground to the microcontroller and op amp. Note: I have soldered some of the rows adjacent to the headers so that you can see all the pins for IC5, IC6, and IC7. This will help reference the pin numbers for these. Pin 1 for these three is the upper left. Therefore pin 1 for IC5 is the upper row 7, pin 1 for IC6 is the upper row 26, and pin 1 for IC7 is the upper row 37. Pin 1 for the 28 pin microcontroller is the lower row 39 and pin 1 for the 8 pin audio op amp is the lower row 57.

    For the header connections, wire IC5 pin 4 (row 4), IC6 pin 5 (row 22), and IC7 pin 5 (row 33) to the 5v bus. Then wire IC5 pin 11 (row 4), IC6 pin 10 (row 22), and IC7 pin 10 (row 33) to the ground bus.

    For the microcontroller and audio op amp sockets, wire microcontroller pin 7 (row 45) and audio op amp pin 6 (row 59) to 5v bus. Then wire microcontroller pin 8 (row 46), microconroller pin 22 (row 45), audio op amp pin 2 (row 58), and audio op amp pin 4 (row 60) to the ground bus.

    Tip: I print out the pin out for the microcontroller cut it out and post it on my work bench with a magnet so I can reference it easily. You can find this pin out in the comments in the main.c file in the source code I provide ( I do the same for any other circuits I might be wiring up. In this case, I printed out the simple amplifier circuit for the LM386 op amp I am using.

    Next, wire up the decoupling caps on Vcc and ground going to the microcontroller. These will filter out noise coming from the power supply. These are the 10 uF electrolytic capacitor and 0.1 uF ceramic capacitor documented in the BOM log. They will be soldered between pin 7 (row 45) and pin 8 (row 46). When soldering in the electrolytic capacitor pay attention to the polarity. You will need to connect the negative lead to ground (pin 8 on the microcontroller). Note: I later added a 10uF decoupling capacitor to the power pin (pin 6, row 59) of the audio amp IC. This reduced the noise in the audio circuit.

    Next start wiring up the audio circuit. First wire up the feedback for the amplifier gain. This requires the 10 uF electrolytic capacitor and 1K Ohm resistor from the BOM. Again pay attention to the polarity of the capacitor. The negative lead should be soldered to pin 8 (row 57) and the other lead with be soldered to row 56. Then the 1K Ohm capacitor will be soldered from the same row 56 to pin 1 (row 57) of the op amp. Note: The 1K Ohm capacitor provides about 40x gain. I found this to be a little quiet with the cheap LM386 ICs I purchased. So, I soldered a jumper wire from row 56 to pin 1 (row  57). This bypassed the 1K resistor and provide 200x gain. Sound was better. If you use a reputable LM386-1 IC you may or may not need to do this. It also will depend on the speaker you select. A 4 ohm speaker will be louder than an 8 ohm speaker.

    Next wire up the output filter. This requires the 10 Ohm resistor, 0.1 uF ceramic capacitor, and 220 uF electrolytic capacitor. Solder the 220 uF electrolytic capacitor positive lead to pin 5 (row 60). The negative lead will solder to row 61. This row will be the positive (+) output to the speaker when it is wired up later....

    Read more »

  • Prep the Case and Board

    John Anderson08/02/2022 at 07:15 0 comments

    Once you have assembled the parts, it's time to get busy building.

    Start by removing the four screws that hold the top portion of the case to the base. There are two screws on each side of the meter.

    Once it's open, hopefully it looks a lot like this. Note: this unit was missing one of the screws and standoffs that secured the transformer.

    Next, you'll remove the rotary switched and banana plugs from the front. Start by pulling the knobs off.

    Then you'll cut the wires connecting the three banana plugs.

    Note: the red plug is connected to the left rotary switch.

    Now you can use a pair of needle nose pliers to loosen the nuts on the three plugs and remove them from the faceplate.

    Next, cut the wires connecting the rotary switches to the PCB.

    Don't forget the two wires connecting the rotary switches to the PCB just behind the nixies.

    This cap will have to come off. A small flathead screw driver will work (ignore the needle nose pliers).

    Once the cap is off, you can clip the two red wire off. You'll want to keep these wire as long as possible. In the pic below, I removed the on/off switch from the rotary switch before doing this. That is not required.

    Now you can remove the rotary switches from the faceplate.

    Then remove IC5, IC6, IC7, and IC8 from their sockets on the PCB.

    Now it's time to remove the PCB from the base of the case. Remove the 5 screws holding the PVB to the standoffs mounted to the case. Three are on the front left, front right, and rear right corners. The other two hold down the transformer.

    Once the board is free, pull the to red power wires through the board and lift it up. You will use these red wires to turn the device on and off. So leave them intact and soldered to the boars. The PCB will still be connected to the power cord in the rear at the transformer and fuse. You will need to clip these connections to the power cord at the soldered connections.

    Next you'll make some room for the controller board. Start by pushing this cap behind IC7 down and out of the way for the controller board.

    Then clip and remove the pot behind IC6.

    And clip/remove the large green capacitor behind the rotary switches (at least where the rotary switches were).

    The final step of making room for the controller board is grinding/filing a little off the edge of the controller board so it will clear the large ceramic on the far left side of the board. Be careful not to file or grind into the wire trace that connects the power busses.

    Now it's time to install some headers and fit the controller board in place on the PCB. The controller board will need to be connected to the sockets for IC5, IC6, and IC7. IC6 and IC7 are 7490 decade counters that controlled the digits displayed on the nixies. So, they provide the 4 pin interface to select the digit displayed on the corresponding nixie. They also provide the 5v and ground needed to power the controller board. IC5 will provide the interface to the one hundreds digit and the overflow indicator.

     Cut and insert 2.54 mm single row headers into the sockets for IC5, IC6, and IC7 as shown in the picture. Note: these headers are longer on one side (6 mm vs 3 mm). Insert the long side into the socket.

    This is the hardest part of the build. You will have to line up the headers so they fit into the breadboard with the left most pins fitting into  row 1 of the board. It should look like this once you get it lined up and in place. Look closely, you can see the pins poking through.

    Now with the breadboard still in place on the headers plugged into the sockets on the PCD, solder the headers to the breadboard. It should look like this when you are done.

    When you pull the breadboard out and flip it over it should look like this.

    Next you'll modify the base of the case to mount a speaker and a toggle on/off switch. I suggest installing these in the rear for the case.

    Start by creating a template for the speaker holes the...

    Read more »

  • Acquiring the Parts

    John Anderson08/01/2022 at 04:51 0 comments

    To build the Bell & Howell digital multimeter based digital dice tower, you first need to get a Bell & Howell IMD 202-2 Digital Multimeter. These were originally kits that were assembled as part of the Bell & Howell electronics curriculum back in the late 70's. Apparently, the course and/or the kits were reasonably popular at the time. Because, it's not hard to find them in decent condition today.

    Note: In the picture above, I've included a Heathkit model IM-1212 digital multimeter as well. That is the original design the Bell & Howell IMD-202-2 is based on. So it can be a substitute for the Bell & Howell meter. However, the Heathkit IM-1212 are a little harder to find and tend to cost much more.

    As you can see in the picture, they came with one of two different paint schemes for the top of the case. The internals are all the same no mater which case top it has.

    I bought all of my meters from Ebay. If you have a little patience, you can buy one in pretty good condition for $50 plus shipping. That's a pretty good deal for a case, nixie tubes, 7441 decoder/drivers, power supply, and power cord.

    Tip: Don't buy one of these meters unless the seller has a picture of it powered up and the Nixies are displaying readable digits. The only bad component I have discovered in the 15 different meters I have bought, is one or two bad 7441 decoders/drivers. These are not easy to find or cheap to replace. If they are bad, you won't be able to display digits on the nixies. So, make sure the seller posts a pic of it powered on with the digits displaying.

    The remainder of the parts can be purchased new from various sources like Amazon or Digi-key. Although buyer beware when ordering parts from Amazon.

    Here's the Bill of Materials (BOM) for all the components.


    • LM386-1 op amp in 8 pin dip package
    • 8 pin dip socket
    • 10 potentiometer
    • 10 Ohm resistor
    • 0.1 uF ceramic cap (104)
    • 10 uF electrolytic cap
    • 220 uF electrolytic cap
    • small 8 Ohm speaker

    Audio low pass filter

    • 0.1 uF ceramic cap (104)
    • 200 Ohm resistor

    Decoupling capacitors

    • 10 uF electrolytic cap
    • 0.1 uF ceramic cap


    • ATmega 328P in 28 pin dip package
    • 28 pin dip socket


    • 6mm Panel mount momentary push button switch
    • 2 pcs KY-040 Rotary Encoder Module
    • 5mm LED (Green)
    • 68 Ohm resistor
    • Panel mount 5mm LED holder
    • Small panel mount 10K potentiometer


    • On/Off toggle switch at least 120V/2A
    • 10 conductor ribbon cable
    • Single row 2.54mm header (40 pins)
    • Spool or two of 22 awg solid core wire (I like Adafruit's Hook-up Wire Spool Set)
    • 63 Row solderable breadboard (I use ElectroCookie's Large Solderable Breadboard)
    • Evil Mad Scientist ATmegaXX8 Mini Dev Kit (

  • Building the revised Bell & Howell Digital Multimeter based Dice Tower

    John Anderson08/01/2022 at 03:51 0 comments

    In a previous log, I mentioned that I have revised the original design of the Bell & Howell digital multimeter based Digital Dice Tower. I presented some of the features in that log and provided a video of how it works. Now, I am starting a new series of logs that step you through the build in significant detail. I'll be posting these logs over the next few weeks.

    • Acquiring the Parts, bill of materials (BOM)
    • Prep the Case and Board, steps to prepare the case and PCB
    • Build the Controller (Part 1), Solder the dip sockets, power bus, and audio circuit on the  controller board
    • Build the Controller (Part 2), Solder the connections to the nixie display drivers and lamp transistors/drivers
    • Build the Controller (Part 3), Connect and install the rotary encoders, button, LED, and speaker
    • Mechanical Assembly, Apply graphics, install the controller, mount speaker, LED, and controls
    • Software and ICs, options to program the ATmega 328P and a walk through the software
    • It's Alive!!!, demonstration of the new digital dice tower

View all 19 project logs

View all instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates