Skip to content
HN On Hacker News ↗

A True Telnet BBS On A Casio Calculator. – EI3LH

▲ 115 points 12 comments by austinallegro 7d ago HN discussion ↗

Pangram verdict · v3.3

We believe that this entire text is human-written.

0 %

AI likelihood · overall

Human
100% human-written 0% AI-generated
SEGMENTS · HUMAN 1 of 1
SEGMENTS · AI 0 of 1
WORD COUNT 1,829
PEAK AI % 0% · §1
Analyzed
Aug 16
backend: pangram/v3.3
Segments scanned
1 windows
avg 1829 words each
Distribution
100 / 0%
human / AI fraction
Verdict
Human
Pangram v3.3

Article text · 1,829 words · 1 segments analyzed

Human AI-generated
§1 Human · 0%

Hosting a Bulletin Board Service on My Casio VX-4. 11–17 minutes I love my Casio VX-4 so much that I made an AI-generated fake magazine advert for it! August 14, 2026. About a eight weeks ago I had virtually no interest in calculators. Blank, dull, tedious-looking objects that remind me of long, arduous rainy afternoons in 1980’s/1990’s school maths classes. Fast forward to August 14th, 2026 and I now own not one but two Casio Pocket Computer calculators (imported at great expense direct from Japan), have developed 4 pieces of software for them (one published to Github already, the rest will be open source for you to play with I promise!), made (AI generated) calculator fan art, and am now completely and utterly besotted with them. So what changed my mind? BASIC and RS232. That’s it. Boeuf a la Mode! It started quite simply with a post I read by Mark M5TEA on the SOTA Reflector. Mark had made mention that he had ported over a popular calculator emulator. Some sort of pocket Casio contraption that was able to write BASIC software as well as the C and Casio CASL languages. I had a ‘curiosity click’ for the laugh, prodded a few buttons on the emulated calulator and thought little more of it. Later that day I went back for another look, curious to see how a calculator could run BASIC software, and moreto, how far could you push it? Minutes turned to hours that turned to days. I was hooked. Starting out with the classic: 10 PRINT "HELLO WORLD" 20 GOTO 10 RUN …and the resulting: HELLO WORLD HELLO WORLD HELLO WORLD Before long I’d had my fill of testing random quick shot programs and began to think about what might be possible with the calculator thanks to it’s programability but also the hackability of it’s two gateways. A small interface port and a 2.5mm jack which masquerades as an RS232 serial input and output port. Boeuf a la mode! This was the moment that hooked me. I began to think about one of my other passions, amateur radio – particularly CW (Morse Code). I don’t come from the world of software development and have very limited programming knowledge so I turned to an LLM to see could I vibe code a simple piece of software to log my radio contacts while operating portable. This became the birth of my now published (and still very much alpha) Jamoncito FX logging software. Shortly after I put together a small CW keying program, again written in BASIC. It’s unfinished and will require an external bridge circuit between the calculator and the radio to complete my goal, but it shows what can be done with a little thought. My rare Casio Z-1GR pocket computer calculator. Alas in need of a repair. (Seller photo) Aside, I have long had a habit of keeping a pocket notebook and a fountain pen (your choice of stationary and writing implement may vary). If something pops in to my mind during the day (or night) I jot it down in case it’s of use another day. I also find it helps me declutter my brain, and in comparison to taking digital notes, it keeps me focused and the mix of random thoughts betwixt notes of genuine importance do not get lost in the digital void. Whilst continuing to work on both pieces of software I had another idea and hastily grabbed my pocket notebook and fountain pen and scribbled it down. It quickly became apparent that if I wanted to take my ideas to the next level that I was going to need to look in to getting my hands on the actual hardware. So it was that I looked toward the East and found a Casio VX-4 that appeared to be in near mint condition. Fully boxed, mint condition accompanying manuals and programming books, the optional 32kb RAM add-on card. This adds 32kb to the on-board 8kb – if you are feeling particularly brave you can desolder and replace the 8kb IC with a 32kb chip, taking the VX-4 up to a fully loaded 64kb beast, akin to it’s 64kb FX-870P sibling. There was also a bonus item included with this particular VX-4 for sale. A fully built 2.5mm to USB-C FTDI RS232 cable! What a find, a fully loaded VX-4 with serial cable and for a decent price. All I had to do now was pay for it, ship it and pray that it worked on arrival to Ireland. My treasured Casio VX-4. Seller photo as I doubt I could surpass this staging! People Will Always Need Plates. I began to think about communications links between the Casio VX-4 and anything that could interpret the RS232 data to and from it. And thinking about communications walked me straight up the aisle towards what was waiting for me at the technology altar. How about a Bulletin Board Service? How original you might say. Yes, but how about a BBS hosted entirely on a calculator with 8kb of RAM? A genuine, true telnet BBS hosted on a calculator. Disco. I had my next project. Technology is an ‘Ology. That makes me a scientist! As the days passed and my two calculators made their way from Japan to Ireland, I continued to work on my projects and tried to learn as much as I could about typical Casio calculator operating procedures thanks to the emulator. The big day arrived and I hastily unpacked the parcel containing my purchases. The VX-4 was just as described. Fully boxed and basically immaculate. The packed in books look like they have never been opened. The Z-1GR was a different story. It was dead. Completely dead. No signs of life at all, not even when probing around with a multimeter. The seller did have it listed as ‘junk’ so isn’t at fault, though I paid a reasonable sum for it so it does sting a bit. With that said, I’ve some ideas to try and revive it. Firstly, trying to power it via DC instead of batteries, and if it does power on, seeing if the LCD display works as it is showing signs of a tired LCD polariser. I have some polarising film especially for LCD displays ready to go should the Z-1GR show signs of coming back from the dead. Watch this space! Now I had the physical hardware it was time to get to work on the (world’s first?) calculator BBS! My Casio VX-4 set to COM mode and connected to my RS232 USB-C cable. You Rang? To lay it out from the start, I won’t go in to the coding detail here. Rest-assured, when it this software is ship shape and fully ready to go, I will publish it to my Github repository for people to share, tear to shreds, laugh at my terrible skills and hopefully improve it or get inspired to make their own calculator BBS. Before setting to work on the project, the biggest obstacles I faced from the outset were a) getting the calculator online and b) the very limited 8kb of RAM. Yes, I had the luxury of the additional 32kb RAM module, but I wanted the BBS to work on all options in the VX-4 range, including the baseline 8kb model. To note, the FX-870P is the same device, just with more RAM. The VX-4 was the brought to market as the cheaper option and dubbed the ‘educational’ calculator. Per it’s moniker, it was sold primarily to education and commercial sectors. Naturally there was going to be no way whatsoever of getting the calculator to talk to the Internet without either some sort of hardware modification and probably reverse engineering – way outside of my area of knowledge. The more likely path to take was to harness the RS232 port and add a bridge. The answer turned out to be the latter, a Raspberry Pi Zero W that I had laying around doing nothing (I have an old original Raspberry Pi Model B doing nothing too which has just found a new purpose – more on this another day!) but with the stipulation that the Pi Zero must not interfere with the VX-4. Meaning that providing connectivity aside, the Pi must be reliant upon the calculator – aka, the calculator is 100% the host of the BBS and it’s operability. I did flex my own rules ever so slightly and made the Pi Zero W also act as a message archive vault, thus the VX-4 still stores the messages that callers leave on the BBS, but it will also replicate them to a txt file vault on the PI. This allows me as BBS admin to ensure that a copy of messages is archived and frees up space on the VX-4, particularly if a nefarious visitor decided to spam the BBS in to oblivion. Talking of security, I added another layer to the connection process without (in my opinion) taking away from the telnet experience of calling in to a BBS. I needed to ensure I could expose the calulator to the Internet securely, and without exposing my home network. While the BBS software is still being worked on I have made it available as an invite-only BBS via Tailscale and funneling. Once I tighten the system up a little more I will explore other avenues to publish the BBS safely whilst still allowing visitors to know that they are connecting to a real telnet BBS being hosted on a calculator. My Casio VX-4, connected to the Internet and ready for your EI3LH BBS calls! Leave Your Message after the Beep… The BBS is written in BASIC and when run, basically (excuse pun) puts the on-board COM port in to listening mode waiting to hear a CONNECT request. From here it will print the BBS welcome message and prompt the caller for their amateur radio callsign prior to logging in. I put this feature in so when I go to review logs I can see the ‘QSO’s I’ve made. I am going to revise the messaging system slightly with some improvements, but again I need to be mindful of the amount of RAM I have available to me. A later addition I made was to make use of an Adafruit OLED HAT I wasn’t taking advatage of. The OLED functions as an ‘at a glance’ BBS status display. It displays 2 of 4 status lines simultaneously. Example, the BBS is online and is currently in a call with a user. It’s a little hit and miss at the moment and also conflicts with the VX-4 which displays a “Caller hung up. Waiting for next caller…” message on it’s LCD. It is a shame the calculator display doesn’t power save so as to avoid any potential screen damage or burn in. I will investigate this further. Perhaps a short screensaver or char animation could play when the BBS is in a particular status?