Tuesday, September 28, 2021

The Sakhr AX170 Cyberdeck Build Part 2

First things first, getting the original MSX keyboard working. Without that I will lose the whole aesthetic of the project. While doing a little research on how to make the MSX keyboard compatible with the Raspberry Pi I came across a project by Carpespasm on hackaday who as it happens is also converting an AX170 into a cyberdeck, although he is going a different route than I. (Go follow his project) His post ultimately led me to this Intructables by Frank Adams which demonstrates how to use a Teensy microcontroller to convert a keyboard to USB. I have no experience with the Teensy but I decided to give it a try and ordered a Teensy 4.0 from PJRC. Upon its arrival I studied it and noticed that the pinout of the Teensy board had 13 data pins on one side and 11 on the other. That nearly matched the pinout of the dual ribbon connectors of the keyboard which is a dual row of 12 pins. This gave me an idea; I could solder the Teensy directly to pins of the keyboard connector on the reverse side of the perfboard. I would only need to jump one pin across to the opposing row. this would save me some real estate and I wouldn’t have to solder a bunch of jumper wires between the two. This proved to be more difficult to execute than I expected and partially due to my rusty soldering skills it took a couple of hours of frustration to complete. But I got it done in the end.


Teensy
Keyboard connector



With the soldering out of the way it was time to program the Teensy. I followed the instructions on Frank Adams' Instructables site to decode the keyboard pins then loaded the output into the matrix generator. Next I took the results of the matrix generator and input the matrix into one of Frank's custom keyboard Arduino files, then loaded in onto the Teensy. Opened up a text editor and started typing with the MSX keyboard. Success! Or so I thought. All of the keys worked except for the shift keys. I Scratched my head awhile then looked back over my files and ran the generator again in case I was doing something wrong. I tried to create a manual matrix per the instructions on the site but could not wrap my head around creating the matrix. I gave up and posted a comment on the Instructables site in case anyone had any ideas.

To my delight Frank responded the next day and offered to look at my files. Within a day he had sent me a new file. I put the new data into the Arduino file and uploaded it to the Teensy and it worked! Full keyboard functionality.


MSX keyboard


With the keyboard working successfully I can really get the project moving forward. Time to gather the other parts and plan the assembly.
 


Sunday, September 26, 2021

The Sakhr AX170 Cyberdeck Build Part 1

 With the AX170 in hand it was time to open it up and see what I have to work with. Only a few screws on the bottom held the case together and it came apart easily, allowing me to view its vintage design.


The original motherboard is of no use to me but I want to retain the cartridge slots and keyboard connector. I was able to source identical 50 pin card edge connectors so I wouldn’t have to go through the pain of desoldering the originals, but unable to find matching through-hole FPC connectors for the keyboard so removed those from the motherboard. Since I am removing the original motherboard I need a new base for the components. I found a large perfboard that was almost an exact fit, so I trimmed some off the back to fit the shape of the case, drilled holes for the mounting posts to pass through and mounted the components.



With these components in place I can start to design the layout of the Raspberry Pi, hard drive and other components. But before any of that I need to get past what I consider what may be the most difficult part, the keyboard. I want to use the original keyboard but I must first convert it to work with the Raspberry Pi.


The Sakhr AX170 Cyberdeck Build Intro

Since childhood I have always been a big science fact and science fiction fan. Every chance I got I would consume some new science article that was published or find a new sci-if author to read. In my teens I was reading a lot of books by authors of the golden age of sci-fi; Robert Heinlein, Isaac Asimov, Ray Bradbury and their contemporaries.

Always on the lookout for newer sci-if authors I discovered the novel “Neuromancer” by William Gibson in the mid 80’s and was immediately fascinated by his cyberpunk aesthetic. Also being a big computer nerd I loved the idea of cyberspace and the cyberdeck from his novels. I remember pretending to be hacking in cyberspace while sitting at the keyboard of my Amiga 500. I imagined finding some way to convert the Amiga 500 into something resembling a cyberdeck from the novels, but at the time I did not have the knowledge nor the means to do so.

Fast forward about 30 years, technology and my knowledge of it has advanced. Every so often as I see the continued miniaturization of computers I thought back to the cyberdeck concept. I have a bunch of Raspberry Pi’s that I tinker with and I often think about building one into a computer console but my vision of what it would be has never been well defined.

One day while browsing eBay for random computer parts to start a project I came across a listing for a vintage Sakhr AX170 MSX computer. I was struck by it’s quirky design and the neurons in my brain fired up. This was almost exactly the idea in my head of how a cyberdeck from “Neuromancer” would look. I had my inspiration, I purchased the computer and waited for it to show up. When it arrived I tore open the box and placed the computer on my desk, admiring its quirky beauty and planning the details of my cyberdeck build.

I plan on putting a Raspberry Pi 4 inside since I have several lying around. I want to retain some functionality of the slots, I plan on using one for GPIO and USB, the other for USB and maybe battery power.

In my vision of a cyberdeck there is no display as all output would be via a neural interface. That not being practical today I will put some sort of display on this, and I plan on a secondary HDMI port as well as USB and Ethernet out on the back panel

Sakhr MSX computer