Homemade Calculator

djsfantasi

Joined Apr 11, 2010
9,237
Are you willing to share more of the details? If built of 7400 series chips and no microprocessor, where is the machine code stored? How is it loaded/maintained? I’m assuming it is designed with many sub-modules, like memory, display, input and ALU. How did you design them and what are the schematics? How is it powered. And so on...
 

Thread Starter

Chris65536

Joined Nov 11, 2019
270
The program is stored in an SST flash PROM. I can address 64K out of 128K, but I'm only using about 10K of it so far. The program counter is four 74161s. Most of the registers are 74377, and decoders are 74138. The RAM are 2KB Cypress CY7C128-35PC which I salvaged from an old ISA card. it's powered from any USB-A 5v source. I tried to measure the amps using a 1ohm resistor, but the resulting brownout kept it from running at all. I'll need to get a smaller shunt resistor.
 

Thread Starter

Chris65536

Joined Nov 11, 2019
270
Here are a few more pictures. The first shows the flash PROM chip. I removed and reseated it so many times, that I wore out the pins on the first one and had to toss it. The second picture shows some of the 64 MOSFETS that drive the RGB common-cathodes.
20191111_015145.jpg20191111_015232.jpg
 

dl324

Joined Mar 30, 2015
18,326
I removed and reseated it so many times, that I wore out the pins on the first one and had to toss it.
You can avoid that problem in the future by putting the chip in a machined pin socket.

You could have saved the original and soldered on extensions to the leads; then insert it in a machined pin socket. I did that for a CD4510 counter. I only have a few of them and didn't feel like buying more.
 

Thread Starter

Chris65536

Joined Nov 11, 2019
270
Are you planning to make a PCB?
Not for this project. Part of the fun has been changing the design and adding new functionality. I changed the input from a 74922 with a 4 x 4 keypad, to a standard PS/2 keypad. I also added a serial EEPROM for non-volatile storage. I tried to connect an old SP0256 speech synthesizer chip, but it seems to be fried. I do want to learn to make PCBs, but I need to start with something smaller.
 

Ohmlandia

Joined Mar 2, 2020
32
This is truly beautiful, you have created a magnificent beast (applause). However, I dread to think of the possible outcomes when placed in the hands of others as a kitset (especially a non-PCB kitset!). The probability of wiring it up without making a mistake must be billions-to-one against!
 

Thread Starter

Chris65536

Joined Nov 11, 2019
270
Thanks everyone! I really never intended this to be a kit. I started out building a state machine for a different project, and got the idea for this. My original design had smaller red digits, and only 4 bits of ALU. Then I found these RGB digits on sparkfun.com, and built this version with 8 bits. I've added a few more features since November, and I still use quite often for calculating. It's kind of amazing that it still works, when one loose wire would kill it! Here's another picture, with labels on all the chips. I really should make a demo video and post it here.
CalcChips2.jpg
 

Thread Starter

Chris65536

Joined Nov 11, 2019
270
I found an error. There is one orange jumper there that has fallen out of its hole.:p
I have had problems like that, and debugging was an adventure! Notice the chip at the bottom labeled "Stop Latch" - this was only used for debugging, and would stop the clock on a certain opcode, letting me observe the state of all the registers, and hopefully discover something. I would re-burn the program over and over, as I narrowed down the problem. Some of those breadboard jumpers are rather low-quality, and don't survive many bending cycles. I'd find a loose broken wire, with the stripped part still in the hole. But as long as I don't fiddle around with the design, it keeps working OK.
 

atferrari

Joined Jan 6, 2004
5,011
I have had problems like that, and debugging was an adventure! Notice the chip at the bottom labeled "Stop Latch" - this was only used for debugging, and would stop the clock on a certain opcode, letting me observe the state of all the registers, and hopefully discover something. I would re-burn the program over and over, as I narrowed down the problem. Some of those breadboard jumpers are rather low-quality, and don't survive many bending cycles. I'd find a loose broken wire, with the stripped part still in the hole. But as long as I don't fiddle around with the design, it keeps working OK.
If you bought the same jumpers as me, made at Coronaland, the reason is simple: their terminals are round. They do not have the expected square section.

That is why they insert so easily and fail so frequently. I realized that too late after happily buying two big bunches of them.
 
Last edited:

dl324

Joined Mar 30, 2015
18,326
Yup. I bought a whole bunch too. They keep getting shorter and shorter as I re-strip them after they break.
I buy those from Ali Express and the only problem I've had is that 1 (out of 600) was missing a hood. No breakage yet, but I've only used a couple hundred of them.
 
Top