I'm not trying to reestablish the practicality of using a calculator in 2024. I honestly believe this is silly. You have a python prompt in your terminal, what else do you need.
But calculators are also objets d'art. They have beautiful buttons with cryptic signs, weird displays and magical quirks or even bugs in their comically tiny brain. I find it attractive and worth exploring.
This project is not really about one device, but rather various things that are remotely related to calculators.
After some fooling around with text on the 7-segs, I'm returning back to the original purpose of these display modules: the calculator. I assembled both OLED and VFD modules on a single breadboard and plugged them into MK-61 emulator.
The plan is to make an universal carrier board that would accept both OLED and VFD modules:
If you missed it, here's a video about my 7-seg VFD text experiments:
In the previous log I documented a modern imitation of the old VFD display look. There is no shortage of the original VFD displays on ebay though. A word of warning: their quality may be highly variable. Out of 3 that I bought only one worked without issues.
A while ago I designed a PCB that would let me use this display in a project as a module. I pretty much copied a design for a Futaba VCR display that I found on Taobao. It is based on MT3608 step up converter for -24V, AC generator around some 74LS04 and UCC27517 gate driver + some discretes and the main course is PT6315, which is a very convenient and rather flexible VFD display driver.
Here's the kicanvas link to the module schematic and PCB. It works.
There's not much to say other than compared to the more recent Japanese VFDs this display looks rather dim. I'm not sure if this is simply because the technology is inferior, their age, or maybe my driving circuit is inadequate. It's good, just less bright than expected.
The module must be powered by 5V. The limiting factor is UCC27517 gate driver used in the AC generation, which has undervoltage cutoff around 4.3V. I've yet to test if this module can be driven by 3V3 TTL signals, but I'm hopeful.
The most iconic calculator for me is Elektronika MK-54, or MK-61. MK-52 to a lesser degree, because it came out so late and I never had a chance to actually use it. In the mid-80s, alone in the summer at a country house I spent countless hours on MK-54 playing lunar lander and displaying various things it shouldn't display. Actually it ate through the batteries really fast and the hours were pretty short after all.
The display that those calculators used may seem nothing special today, but the peculiar shape of its segmented characters is very dear to my heart as it turns out. The display is called ИЛЦ2-12/8Л and it's easy to buy it today on ebay. Of course I have a few of them and there's a driver circuit in the works.
However before I found them and the courage to make a VFD driver board, I found an OLED screen which seemed to be perfect for modern fakery. It's a 2.08" 256x64 OLED screen. It has a SH1122 driver with SPI interface. The driver can achieve 16 levels of grayscale, so in theory it could show some antialiased fonts. The lot on aliexpress looked like this:
It was easy to adapt it to Arduino HAL, which is what I blasphemously use with Pi Pico. The mini library provides functions for initialisation, graphics primitives and and text rendering with several fonts included. The fonts that it supports can't be antialiased though, so I ended up pixeling up my own stuff.
I traced the indicator in The GIMP from a high-resolution photo. After several iterations I had a tilemap of every character my calculator can display.
It's impossible to catch this on camera really, but the surprising thing about this display is how close to VFD it actually feels in person. Sold as white, it's rather blueish, so not that far off from a typical VFD and would be indistinguishable under a green filter.
In the likeness of the VFD it imitates, this display is also very power-hungry. I couldn't power it from 3.3V rail on a pipico without rendering rp2040 completely unstable. You need a dedicated LDO to power a display...
IVEE, a FORTH-based Arduino calculator is a mostly completed project. It is based on IVEE by zooxo. Kudos to zooxo for designing this beauty and making it public. Please visit his repository, give it a star and watch his video explaining the features of this calculator. It's inner beauty is hard to appreciate without some deep diving in.
My contribution here is purely aesthetical and mechanical. I designed a carrier PCB with cute buttons and a means of packing it together in one sandwich. I made a bunch of mistakes which I hope to avoid in the future, but nothing serious. Things that you can't avoid when designing things based on incomplete technical drawings.
Buttons on a frame, printed in resin. The engravings are added as displacement in Blender with very high mesh subdivision level. They are then filled in with water based gouache paint (not acrylic!) and subsequently fixed with several layers of transparent acrylic spray.
Buttons with top cover assembly. The legends are designed to be recessed by leaving out copper and mask layers, this creates trenches deep enough to fill them in with gouache paint. Also fixed with acrylic spray.
The dome switches SKRRAAE010. The whole thing didn't work quite as planned because of incorrectly accounted for the height of the display assembly. I added a second layer of buttons as spacers, luckily I printed several.
The bottom side of the buttons have little push pimples that are supposed to be perfectly aligned with dome centres. The reality is such that the pimples need to be larger and higher than I designed them. Eventually I was able to align the buttons with the domes, but it was incredibly fiddly.