When I worked in the new main panel, I did rewire the INA219 so that the charge port is on the “output” side of it. Initially I thought feeding power in from the output side would damage it. It can actually read the reverse current though. Granted It can only take so much current, but the charger won’t charge the battery at that high of a current, well it “should” never. The fuse is inline still, so hopefully it would blow before the INA219 was damaged if something goes wrong.
I ordered a Raspberry PI Keyboard when I placed an order at Digikey as they were in stock and not a horrible price. I knew they were “close” to the same case as the Pi400. Also the Pi500 “looks” to be the same shape of case. I was going to by a Pi500, but decided against it at this time. Below you can see the Pi Keyboard fits in the plate. You can see it is not a perfect fit, but it this is the second Revision print. I knew it wouldn’t fit perfectly into it, as the Pi400 didn’t either. With the third revision of the plate the Pi400 fits much better, and therefore the Pi Keyboard will too, it does show the dimensions are the same, the port placement is good too. Based on that, I do expect the Pi500 will fit as well. The Pi500 would be a better fit than say a Pi5 due to heat, but the Pi500 doesn’t have the PCI Express support right? It would be best powered with some other power solution though, as I believe at 5V it is throttled. I guess a Pi3 (or earlier) or a Zero 2 or such could be used in conjunction with the Pi Keyboard. You could also use another 5V Powered SBC..
Speaking of the Third revision of the main panel, below are some pictures of the third print of the panel. You can see I installed the Magnets, and those yellow rectangles are the back side of some 2 sided adhesive on metal plates. The plates then had the backing paper taken off and were attached to the Pi400. It does fit the Pi400 better now.
You can see the bottom of the panel, that is the Revision 2 print before I removed the battery, speakers and touch pad while I was switching over to the new print. The last picture above is the internal below the plate. From the bottom the Revision 2 and Revision 3 print are the same. I did not install the threaded inserts around the speakers, and the two below the keyboard opposite of the battery compartment as none of those are used. It is a bit sloppy and messy. The 5V Regulator on the left is stuck down with velcro, the RTC as well, and the current and voltage sensor. The 2.5″ SSD is just loose as well as the fuse holder. The cables plug into the Pi400 ports, except the Battery power connectors.
That photo was before rewiring the battery connections and INA219. Doing that, connects the Charge port to the Main Power switch instead of only to the battery. That does mean there is no fuse between the 5V Regulator and Monitor. It though does mean that the charger port power goes into the INA219’s “output” side, and that it can now read the Negative Current, or the fact that it is charging. It also means that the Charging into the battery now is fused as the fuse is between the INA219 and the Battery. So the fuse is protecting the charging and discharging of the battery. Where previously it was only protecting the discharging of the battery.
Something I had found building this project up is that while the new switches look just like 30+ year old switches, the plastic they are made with is not very heat resistant. It melts easily. The terminals on these switches are big and thick just like the old switches, and they take some heat, and reworking the wiring is very likely to melt and destroy the switch. I had to replace a couple of them when I tried to redo the wiring on them as they melted apart. The old switches where hard and brittle almost like Bakelite? I almost used some vintage switches, but I didn’t have enough of them as I found some I had were cracked and not usable. They also had a different thread type, meaning I couldn’t use the Black Rubbery caps.
Below are some photos of the Revision 3 panel. If you look at the other photos of the Revision 2 print of the main panel, the Pi400 generally has some of the “raspberry” color showing on the left side, because it is not properly seated in the 3d print. Below you can see that only the upper White portion of the Pi400 is above the 3d printed panel. It is also much more difficult to remove as I can’t get a grip on it, because the seam between the upper and lower panel can’t be reached. It is down in deeper and does have the small metal plates and magnets under it.
I found the RTC module has a Red LED on it, that made me wonder why such a thing would be on it. I might look at removing it. You can see the LCD backlight is lighting up the inside of the upper panel, because there is no light blocking in there. I thought of putting in a black coating or cloth on the inside of the top, as the top is largely exposed metal. That may lower brightness of the screen if enough of it is actually reflecting back toward the lcd. I am not sure what difference if any would be noticeable.
I have worked with the Meshtastic LoRa radio setup some. I am still not happy with how it is operating. I did find a few things, one is an installer script utility/gui to install Meshtastic D on the Pi. That helps verify that it is all installed properly. I also tried out MeshSense on it, which is Beta on Pi. This is the only LoRa device I can currently use MeshSense on. I ran it for a long time the other week, and it seemed to work fine. I ran it yesterday and it kept cutting out after less than an hour I stopped getting any thing come in on it, and my other Meshtastic node showed it had went offline.
I have been testing out Meshtastic for a little while. My house is in a low spot, and in a somewhat rural area. Due to that, I can’t connect to many if any nodes from inside. This meant, I wanted to to mount a node out above the roof.
I wasn’t sure what I wanted to go with, but I really didn’t want to run power out to it. So I need a solar panel, battery, an outdoor grade antenna and the node with the Lora radio. I also wanted to go with a Temperature, Pressure and Humidity Sensor.
I decided to go with the “RAK4631-9-SM-MESH-STARTER” kit for the Meshtastic controller and radio. The RAK4630 is lower power than the ESP32 models. It is the US based 915MHz model. The kit includes everything except a power supply to make a node. Granted I am not using the supplied stubby LoRa Antenna. or smaller LoRa PCB Antenna.
This kit included both the PCB LoRa Antenna, and the stubby SMA connector and antenna. The kit was purchased from Digikey.
It was very easy to work with though overall. I was able to easily mount it, and use the MicroUSB to USBC Adapter to plug into the RAK board to power and charge it.
I also added a BME280 Temperature, Pressure and Humidity Sensor Module (Note the BMP280 is only Temperature and Pressure Sensor, the board I purchased first.. Then the board shown below well it has both BME and BMP listed on it making it rather confusing.) https://www.amazon.com/dp/B0DHPCFXCK
To round out the internals, I used a 18650 Lithium battery and battery holder. Then a few M2.5 Screws and 3d printed spacers.
The antenna is listed 915MHz and 5.8dbi. It came with a 10Ft Low Loss KMR195 Cable and mounting bracket and ubolts. Oddly the “listing” indicates the cable as N Female to RP-SMA Male. The cable though was N Female to SMA Male. .
I mounted the Antenna on the top of my mast for my TV Antenna. Below you can see it mocked up to the antenna mast before mounting it on the house.
That made the antenna easy, short of getting high enough to mount it.
Before I did that, I had to assemble and test the Meshtastic node.
It was reasonably strait forward. I first laid out where I figured I would place everything. From there I took out the removable plate in the back of the case. I then installed the two cable glands in the bottom of the box. One is for the Antenna wire, and the other is for the Solar Panel. The Battery holder has a screw mounting hole in the center, so that was easy to install with a M2.5 screw and nut into one of the square holes. The RAK carrier PCB was just a little more complex. I only mounted it with 2 screws, but because of the components on the back of the PCB I had to use some spacers to stand it off the plate. Two screws can hold it board fine, so as the other holes didn’t line up, I decided to leave it with just those two. The BLE PCB Antenna was just stuck with the provided sticky pad on the back of it.
The battery holder had to have a JST PH 2.0mm connector added to plug into the Battery port.
The BME280 was very easy to install, as the RAK PCB has a 4 pin header that exactly matches the layout of the BME280 4 pin header. Due to that, I soldered on pins to the BME280 board and a 4 pin female socket into the RAK PCB. That makes it removable, but it is so small and light that it is very secure on the pins.
The only real work was drilling out for the SMA port for the Antenna. I placed it just below the battery, and in the photo it has the stubby antenna that came in the kit. There was not quite enough clearance behind the plate once installed, to mount the SMA Female into the plate. Due to that, I very slightly drilled into the back of the case to give a bit of clearance. Also for enough clearance, I used a spacer/washer on the back of the screw for the plate that stands the plate just a bit off the back of the box.
After installing it initially, there were few items I wanted to address. I went to address was venting the box. When the sun is on the box it was getting up to 115 Degrees F. On a sunny day the highest temps look to peek at 9am and start to drop off around 1pm where it is mounted.
I looked around at types of vents. Due to the size needed, I decided to 3d print some vents. I am not good at 3d modeling, so I looked for a model to start with. I found this model https://www.printables.com/model/77087-enclosure-vent-w80mm-fan-mount for mounting an 80mm fan. Due to the size, I was not able to keep it that large, I worked out that a 25% scale would be a good fit to be similar size to the cable glands. That space limitation and the maximum size of my step drill bits as well. I could go slightly larger, but I couldn’t reasonably drill the hole required.
The primary changes were the scale, as well as taking it to a 1 part vent design, and adding a “Grill”. The downscaling of the model made the threads not as well defined, and the threaded area depth to short. I ended up looking around to replace the threads, and found this great Cable Gland model set that includes many sizes https://www.printables.com/model/114283-cable-gland-all-sizes. I picked the D16L10 I believe or the D17L10 size. I then replaced the threaded portion of the vent. This was because I was because I was printing that threaded portion at 100% scale. I also made a simple seal washer to print in TPU.
The nut was unchanged, but for it to fit when printed on my printers, I had to print the nut at 101.5%-102%. The Vents and nuts are in PETG, with the washers being printed in TPU. I did print the seals at double thickness compared to the model, you can see the thicker seal on the left vent and the thinner seals in the background.
Above you see the node installed with the solar panel. One of the 3d printed Vents is mounted on the side of the case behind the upper clip. If you view the full size image, you may see the 3 small drain holes drilled into the bottom of the box in a line along the center. The 10′ antenna cable is basically fully used to get to the top of the antenna mast. I have mounted the box below the antenna mast because my regular 12′ ladder can just reach it to service it there. I can’t get to the antenna bracket seen just above it (safely) with any ladder I have myself let alone reach the upper mounting bracket or antennas.
I don’t know if the Venting has made much/any difference. In the morning it did hit 95degrees this morning when the sun came up and it was closer to 65-70degrees outside. It did drop off, but it was getting cloudy. It may require another vent, and a fan to make a significant change.
The solar panel works well for much of the day in the position it is in. The battery ends up still being around 85% overnight with this setup before the solar panel starts providing power in the morning. I wish the solar panel cable was easier to shorten. It is 10′ long and obviously just tied up under the cabinet at this time. I may be able to stuff it inside the box, but I expect that could get crowded.
I thought of cutting the Solar panel wire and installing a connector to connect it directly to the RAK PCB has a header for a solar panel. I didn’t have the JST ZH 1.5mm connectors or crimp tool when I built the node a few weeks ago though.
There are various changes I would like to make. The visible one being to shorten the Solar Panel wire. I have not decided what to do there yet though. I did get the JST ZH 1.5mm connectors and crimp tool. The problem there is that I am planning to swap out the RAK unit for for a Pico based solution. The RAK works great, it is very low power, the battery keeps up fine overnight, and should keep up just fine in the winter as well. The RAK is only Bluetooth though, I am wanting to look into a Wifi based connection to it as that seems like it will give me some more options to interface with the node.
The node does get a direct connection to several other nodes now that it is mounted outside. The low node count is partly due to my low location and partly that there aren’t many nodes around. In the last few months there have been quite a few well placed nodes installed in the valley by someone though that have created increased coverage. I don’t believe my node is important to the mesh with those being out there. It is in Client mode though, and I do use it most often, as my other nodes much reach out to it to get signal to other nodes anyways. They are all in Client Mute mode due to that.
Lee of More Fun Making it on Youtube made a video building and testing the Pico-dram-tester. I like building up these types of projects, especially when the device is useful. I believe Lee mentioned he would like a power jack, as the intended power method was using test points. It can be powered by the Pico2’s USB port, but that wasn’t recommended, also such ports are easily damaged, and it would make it so you couldn’t update the device etc.
Lately when I have been ordering PCB designs by other people, I have found there were little changes I would have preferred to have made before ordering them. So I decided this time I would take the time to make some of those changes. I just didn’t want to use Test Points for powering it. I modified the design to include a DC Barrel Jack, center Positive 5Volts. The other primary change was I wanted to make it easier to “bodge” in the more common generic Rotary Encoders that I have. I didn’t know for sure if the generic Rotary Encoder would work, so I didn’t do anything too fancy in the first pass. I also made other minor routing changes throughout.
Because I picked White for the PCB, the tracks are very hard to see on photos. Somehow I put the wrong month reference on the board silk screen. I guess I should have labeled it as Revision 2.1. It was based on the Revision 2 with those minor changes. I did remove 1 Ground Test Point footprint, both were wired identically. There was no point in keeping it, and I didn’t have room for it.
The build went fairly strait forward. The primary recommendation is to put the Pico 2 on first. Don’t be confused by the project name “pico-dram-tester”, it doesn’t use a “Pico” it uses a “Pico2”. I put on the Resistors on next, then the 100nF Capacitors and then the taller components. I did use the Adafruit LCD so U9 was not required.
I did have to cut a trace at the Rotary Encoder, and put in a single bodge wire connection to ground. The common Generic Rotary Encoder lower center pin needs to be grounded, where the specified Panasonic Rotary Encoder that pin is a second “B” directional pin. (Note: “my” Rev 2.2 variant doesn’t need this done)
Rotary Encoder dodge on Rev 2.1
Once it was finished, I used it to test some 4116 chips and 4164s. It failed all of the bad 4116 chips I had, and passed the good ones, as well as the 4164s all passed. I found the 4164s pass to their speed specification and did fail if I set the tester to test for higher speeds.
The 4116 chips verified the -5 and +12 is working as well. I don’t have any of the other types of DRAM ICs to test.
With it working with the Generic Rotary Encoder, I just had a few finishing touches on this built. I needed a knob that fit the D shaped encoder. I found a knob that fit nicely.
The case didn’t require any changes to accept the DC Power Jack because there were already all of the Test Points there. The DC Power Jack does hang off the edge, which was intended, due to lack of space and I wanted it to be flush with any case it may be put in, rather than deep inside the case.
I did also print some spacers and install some M2.5 screws in the LCD PCB to keep it supported and solid. I put a bit of Red paint on the 4116 IC Socket. I also swapped out the button cap I had on the Back button.
Finally I put some stick on feet on the bottom.
While this little build is done, there were some things I wanted to change on the PCB after putting it together. I went back and reworked the PCB for Revision 2.2.
The new changes primary include a set of solder pad jumpers to configure the Encoder to either use the Panasonic Encoder, or the common Generic Encoder. The other changes are mostly Silkscreen changes. I prefer when the Component Values are on the Silkscreen as well as the part designations. There were some other minor routing changes, changes to via placement and such. I have uploaded Revision 2.2 to Github: https://github.com/Markeno76/pico-dram-tester
Below you can see renders of Revision 2.2 The solder pads can be seen to the left of the encoder footprint, instructions for JP1 are on the back of the board. Component Values have been added, also the Back button now has the “Back” text displayed.
I did find there is another fork of the project, that includes changes to the firmware. I want to look into that, as there are changes to work better with the Generic Encoder such as I have used. It works fine, but I believe you will get less “bouncing” with the alternate firmware. I do plan to look into trying that firmware, and see if I can bring it into my fork.
Update: 9/1/25: The original project has had the firmware updated several times since I built this and posted my revised pcb design. Now supports 4108 and 4132s the half good/bad chips used in some 8bit computers back in the day. I just found out about the firmware update watching another of Lee’s videos last night. I have merged in the updates into my fork, but those are current as of 9/1/25 so check the original github project for future updates.
I always like to having the option to use a game controller for my computers. I only like joysticks for certain types of games. I prefer gamepads for a lot of game types. The Apple II Joystick is an analog joystick, much like the IBM Analog Joysticks. I was not interested in tracking down a vintage joystick. I also again often prefer a gamepad form factor, and I like making things myself. I came across Swetland’s Apple II Gamepad project on Github. The project has good documentation for the rather simple project it is. I will just go over any variations or considerations I had with it.
The project worked like many projects I tend to do. Some little oddities in that it has not went through very many revisions. This project is fine, and can be built as is. If I had read the provided information before ordering the PCBs in, I would have probably implemented some of his suggested revisions.
The simple revisions that could be done. Swetland indicated making a switch to swap the button positions. I think this may very well have to do with him testing it with Lode Runner, which is the game I tested with. The buttons should be swapped for that game in perticular.
It was also indicated to potentially use the joystick’s button. I hate that on the Nintendo Switch though in some games.. I like having options though. I think the Apple II can address 4 buttons? I only think that as there is a PEEK for 4 buttons, and I don’t know how often that there were 4 on a joystick or if any games use them all.
It also was indicated that the range may be adjusted by adjusting the capacitance. To add more, it would be easy to just add some pads to add another capacitor or two.
My thoughts might be to increase the footprint size for the capacitors and resistors by one SMD size. It may just make more people consider building one, as I feel many people either have limited SMD experience or may just not be able to do it. It does take magnification for me, and my hands are pretty steady. It wasn’t bad for me, but I have a bit of experience with SMD soldering now. It would also be easy to add alternate through hole footprints for the resistors and capacitors. I had the required resistors and capacitors in stock (one size larger than specified I think though on the capacitors, they just could fit.), but I also have the parts in typical through hole type of the same values. SMD parts are cheaper, and take up less space, though space in this project itself is not an issue.
If I were to go to that trouble, I would also upsize the traces to make them more robust, that may also open up some options for customization and bodges for those old hacker types out there if someone comes up with something. The other thing I would probably do is look to put the wires on the pcb in the same order as they are on the DE/DB9 connector in hopes to reduce the chances of making mistakes. I might put some instructions and such on the silkscreen. If I find these other 4 unused PCBs in 10 years, I won’t know what the component values are etc to finish assembly and there is plenty of space to put the required basic information on the board itself.
I would also look into building in an optional auto fire circuit directly into the pcb design.
There is an oddity (at least to me) with the threaded inserts. The holes are basically 5mm in diameter. My threaded inserts are 5mm in diameter, which are designed for 4.5mm holes. As they were to small, I then went and ordered some that said they were 5mm, and they turned out to be identical to the ones I have. So you need some rather large M3 inserts. I happened to have a single giant M3 insert that I don’t know where it was from, and I used it, I then added some glue to the remaining ones and used the 5mm diameter ones. So another revision I would make myself is sliming down the holes in the 3d model.
None of the issues I had were a any kind of big issue. It is just the kind of little things I think would be easy to refine on the project. If I had noticed the suggestions, I would likely have taken time to make those changes to the PCB design. I am just not one to throw away the PCBs after ordering them because they could be just a bit better. Now that I have 5 of these PCBs, I have no drive to do the revisions myself.
Below you can see the threaded inserts installed in the case, the one to the left of the cable there is that single large diameter m3 insert I had, the black around the other two is a bit of the glue. The case printed flawlessly in a nice color change PETG that I like, and also in a filament I am nearly out of, so the little bit of glue is fine. If I ever assemble another of the PCBs, I will do that minor change to the case so the inserts I have fit it.
I didn’t look at the DB9/DE9 port on my IIGS recently, or read the specifications before building the joystick. I then proceeded to buy a molded DE9 Female cable for the gamepad and installing, which the Atari 2600, 800XL, Commodore 64/128 etc all used. So I have some nice photos of the Gamepad with a nice molded DE9 Female connector. I then quickly removed that really nice cable and attached a black piece of Cat5e stranded patch cable and a solder on DE9 Male connector and shell. I didn’t have any tapered m3 screws, so I used some button head screws.
Opps wrong cable.
The hole for the cable was just a little larger diameter than my cable, so I quickly made a gromet/strain relief sleeve in Tinkercad and printed it in TPU. That sleeve is just slid on, it is fairly snug, but can be moved, if I wanted to permanently attach it, a bit of thin superglue would fuse it to the cable jacket. Then for the Shell, the cable was to thin for the Clamp to grip the cable. If I had noticed that sooner, I would have slid on a couple layers of heat shrink tubing. As it was, I already had it all soldered up so I wrapped it with some glue backed Heatshrink and heated it to shrink it tight and fuse the glue. For the DB/DE9 Shell (and the reason I wanted a molded cable), the front holding lip that goes over the metal of the DB/DE9 connector needs to be shaved down to the minimum so that it inserts deeply enough into the IIGS Joystick port. This is the same issue that I had with the RGB Monitor cable shell. The casing around the ports is just too close, it is kind of annoying that Apple did that, I can’t think of a DB/DE Shell design that I have come across that will fit nicely without modification.
It was a very nice clean easy build. I wish it had the nice molded cable, which would have also made it an even quicker build. If you look at the Github project, you may notice I used different buttons. I did not use the ones with the square cap posts. They are the same height and footprint minus the little posts. I actually have both types. The difference is the button tops (which I printed in TPU) are not snapped/locked to the buttons, but they sit just on top, there is no extra space so they are not flopping around. I felt this may be less likely to make the buttons bind, that is not to say they actually would have bound up at all.
That other cable did not go to waste, it prompted me to finish another Gamepad project that has been sitting to the side for a few years. That other Gamepad was actually finished before this one, as I had no DB/DE9 male connectors left and had to wait for them to arrive.
It was a bit odd I used Lode Runner to test the Gamepad as well. It is not a game I have really played much at all, it is one I have seen and I am familiar with though and figured it would work with a joystick. It was somewhat frustrating having the buttons in the wrong order as the right one digs to your left and the left digs to your right. The cap keeps popping off the joystick, which is not the Gamepad design’s fault. I did turn both adjustment pots all the way to the left (counter clockwise) so I would get the full use of the joystick, it was staying pegged at 255 when centered on both axis with the pots centered. It feels good to hold and works well.
I’ll figure something out on the Joystick cap issue, and I look forward to using this to help me explore some of the many game possibilities in the IIGS. I have a second one of those types of joysticks, but I believe the stem design on the joystick is a bit different.
Below are some views of the models for the case. The upper two part frame, you can see the LCD Controller PCB Mounting plate as well. The LCD has the front bezel, so it sits above that plate with just a bit of clearance. To the left are the “feet” for the upper frame. The top feet are 2mm shorter than the bottom feet, the middle feet at the sides are 1mm shorter than the bottom feet. The right bottom foot is modified as the USB Hub is in the way of it a bit. I made the feet like that due to the clearances being so close with the antenna and lower panel when closed. There are some standoffs and washers below as well. There are the standoffs that the go between the LCD Bezel and top frame. There were washers I put on the LCD Bezel screws to spread the pressure a bit. There is also a ring that is behind the 3.5mm audio jack that stands it off the top frame a bit for more clearance behind the frame. The little plate to hold in the latching switch for the Headphone port discussed below is not shown. There are numerous feet and in the model when I have multiple of the same type I only have a single one in Tinkercad. I’ll have to export each of the files, and put them together with some instructions and properly named. Various parts have some minor changes to the ones printed so far to fix some minor things that I have had to work around or do modifications for.
You may notice the 4 round recesses and rectangle recesses below the Pi400. The 4 round recesses are for magnets. The rectangles are for thin metal plates. I didn’t want to rely on a press fit for the Pi400, so I had a thin metal plate with double sided adhesive on it.
The screen resolution has been adjusted, and the image now fits properly, although you can’t tell by the image on the screen below. The LCD is nice and clear. The audio from the speakers is very good, I mean I am comparing to laptop speakers. There is some hum in the speakers, I do wish I had found some shielded cable for the speakers, it isn’t bad though. I don’t hear it over the audio, it is only noticeable when there is no audio playing, you can tell something is coming from the speakers. If it bothers me, I can toggle on the audio to the headphone port, and the speakers go silent. I am happy overall how everything has turned out so far. The HDMI cable opening could certainly be smaller, but if it gets bumped it isn’t likely to bind, and has good freedom of movement. I printed a RJ45 cover in TPU to keep dirt and other things out of the network jack. I might modify the 3d model and print it so it better covers the keystone evenly. It is hard to take pictures of the system, the filament is a color change PETG filament and the surface is textured and rather shiny. The LEDs are plenty bright, but not nearly as bright as the camera indicates. The little .96″ LCD is very clear in person. The Voltmeters are easy to read as well and not washed out like the pictures. I did swap them, the upper one was originally the 5V meter, but as I am using a Green LED for the “Main power” Switch indicator, I wanted the Green meter for the 12V power reading. The 5V fluctuates a little, and the changes can be distracting, with it being the lower meter, it is less in view. I also swapped that lower meter with a Red one, the blue one was way to bright. The 5V Power LED indicator is also Red so that now matches too. The 12V Power switch indicator LED is actually a yellow or amber, but I didn’t have matching color volt meter. The LoRa Radio power indicator LED is a bit of an orange and not as piercing as the photo indicates.
Headphone Jack– The RCA and 3.5mm Audio jack just was not going to work like I wanted it to. The RCA is oddly tied to the “BNC” input mode instead of “AV1”. The 3.5mm Audio Input jack is connected only to the VGA Input. The Audio input won’t work without a video input signal.. The 3.5mm Headphone Jack, is one with the built in detect/disconnect switch. I thought a little about changing the wiring on the 3.5mm jack that I already installed to having 2 RCA connectors and keep the “BNC” AV Input option. Thinking about it though, adding a working Headphone Jack will likely be more useful. To add a working Headphone jack, I had to add a latching button to switch between the internal speakers and 3.5mm headphone jack. Below you can see the two small wires soldered to the “switch” pins. They go to a small latching push button switch 8.5mm/8.5mm. The hole is the same hole as the RCA jack was in, I made a frame to hold the latching button. The frame has 2 holes in it for heat set threaded inserts for the locking bar/plate. I had the tolerances tight, so I didn’t have to add the plate as the button is so tight. I just glued the frame into place. I also created a Black TPU button cap. The buttons actually came with some button caps, which are nearly the same size as the TPU one, but I wanted it in black to blend in. The pack of latching buttons I had ordered is no longer available and the ones I found now and linked below do not include the button caps. I then added the frame for the button to the 3d model for the upper panel. That does make it so the RCA jack would no longer work there, but prevents having to glue in a part (which takes careful alignment, and the glue may fail at some point). I was doing the AV Video input so that I would use the monitor for some other devices. It is annoying it couldn’t be used just for audio only, so that also made me more prefer to switch over to just having a headphone jack. I am thinking about adding a 3.5mm TRRS Jack, which is used on some modern knockoff game devices with Composite output. That could be wired into the internal RCA ports. It would take either a custom breakout cable or such though for anything I want to use with it. That would probably be 3 RCA ports to a 3.5mm TRRS. Doing a single RCA and a 3.5mm Stereo Audio jack would also often require a 3.5mm to 2 RCA jacks for the audio.. It is all compromises, 3 RCA ports would be the most basic and least likely setup to require having adapter cables on hand.
“Audio Switch Wires”3.5mm Jack and, Audio Switch “Button”
Adding a Realtime Clock Module was fairly easy. I removed the preinstalled header pins to slim down the board a bit, then I soldered on one of the 4pin “Grove” connectors that I picked up for the .96″ LCD. Then I backed it with some Kapton tape, and more of the strong Velcro to hold it into the bottom of the case. The Kapton tape again is to protect the RTC Module if I have to remove the Velcro, as the adhesive on it is so strong I am concerned it may damage the RTC, but the Kapton tape will not damage the RTC if I remove it. Beyond that enabling the Pi400 to use the module only required adding “dtoverlay=i2c-rtc,ds3231” to the config.txt on the pi.
Making and installing the Battery Module Mount. I made the battery holder to use 2 of the unused threaded inserts below the keyboard frame. It holds the battery a bit loosely, which I didn’t want it too tight, I may put some padding of some type to keep it from rattling around. There are 2 threaded inserts in the main body, then the lighter locking bar there screws in to keep the battery from falling out. Screw placement isn’t great, but I can easily work a 2mm Allen wrench in to install the required screws. The bar didn’t fit easily, so I have adjusted the tolerances on it to make it easier to install. It looks a like it might not be super strong, the battery is light for the size of it, and the top rail is boxed in at the front with the keyboard support rail. The battery holder is a little bit short. I didn’t want it putting pressure on lower panel, but with it in, I feel the Pi400 doesn’t fit as well, as it can’t flex as much? You can see the placeholder model of the battery pack in some of the pictures. The slightly revised battery holder and locking rail shown in the screenshots are stronger than the one seen in the photos below. Even so, the one I printed seems plenty strong, I just improved the holding rail and the back of the holding box is now slightly thicker. The rail is not actually in the photo, as I didn’t have the threaded inserts or battery in it yet.
This now feels like a much more complete project with the battery mounting finished and the battery installed. There are always more things to do, and things that can be improved. I would like to have made provisions to mount the RTC module, the Fuse Holder and INA219 discussed below as well. I would like the 5V converter to be attached to the panels, as it isn’t as easy to take it apart now. Some of the wires could be worked out to be a better length as I left everything a bit extra long. There is no cable management inside or ways to tie things in place. It is a bit difficult, in that there are a number of modules and such that were not initially going to be part of this project. The Pi400 did not fit quite right, I have revised the model and printed the revised model, it now fits much better. I also added a screw to hold the one “loose” leg to the connecting wall in the lower panel.
Adding a Fuse and Current/Voltage Sensor. Adding a battery level indicator.
The Battery is listed as rated for 3A, and the charger around that, and the INA219 current and voltage sensor being also rated just a bit over 3A. I figured I should add a fuse to the project. I have some of the bulkhead type holders, but space is a bit of a premium. They are fairly tall, and I could only place such a thing in the upper right corner of the lower panel, and then it would just barely fit. I looked around for some inline fuse holders, and came up with some for automotive blade type fuses, which are often 12V usage as well so that should be fine. They also can be purchased in a 3A rating. I found a good model on Thingiverse.
I also installed the INA219 module inline. It is wired up with a 4pin Grove connector to connect into the GPIO breakout board. I had found a widget meant to work with it. It hasn’t been updated in 2 years, and I can not get it to work at this time. Using the same interface they used I was able to verify that INA219 module is working and getting readings as expected. It seems I need to come up with a solution of my own. I can come up with something to display on the .96″ LCD. It won’t be as elegant as the widget.
I ended up using code from mklements’s OLED_Stats to run the .96″ status LCD. It worked great for the normal stats, there was a variant for a UPS, but that was a specific unit, and not based on the INA219 module. I have virtually never worked with Python and have limited experience with Linux. I spent a good part of the afternoon and a bit yesterday trying to sort out how that code worked. I do like some things that were done on it. I had to work out how to interface the INA219 with that code, eventually I settled on using the Adafruit INA219 sample code. Without being familiar, I modified the INA219 example code to output the information I needed in the format I required. It seems someone familiar with it, could do this in nearly no time at all. I worked it out to give me a Battery Icon based on the battery level, a relative % of charge, and the current draw. There is nothing fancy, and I am sure the relative charge is not very accurate. I verified the battery shuts down just below 9V. I the Monitor will run at 9V, the 5V regulator works at that level too. I will see how it goes and probably adjust the values. It runs for several hours on the battery, based on the battery capacity, and the current usage reading, it could be up to 5 hours with a SD Card, but it is a bit less with a USB 3 connected SSD Drive. The battery charges quite slowly. I rewired how the Charge jack is connected, and now the INA219 can read when it is charging the battery, which means I could rework the scripts a bit and change the battery icon to a charge icon.
I will see about cleaning up and posting the code up on Github.
Then just two spade crimp connectors and some wire to put it inline. I recommend testing your connectors are griping the fuse legs well, and that the wires are crimped solidly to the connectors. “Loose” wires or poor connections create resistance and generate heat, and can be a real risk. My crimps were very solid to the wires, but as the plastic bit is already removed, I did then solder the wires to the crimp connectors for added security. I had several types of these spade crimps, and some gripped to the fuse legs better than others. This model uses a single screw to hold it together. It is not secured in the case, with the small wire shown in the right photo, and the other wire attached to the ground lead, it doesn’t move around a lot. It is light even with the fuse in, the fuse is securely held in it. It would certainly be possible to make the screw hole a through hole and secure it into some form of mounting location somewhere if you wanted to.
It would be nice to rework the design to properly secure the INA219, the Fuse, the RTC module, the 5V Step down module and a SSD Drive. I believe to do that I would look at redesigning the “Legs”. The Legs have been designed to be minimal, they stand the panel off of the case bottom, but in the main cavity below the Pi400 they have a bit of height to them. They could be widened to mount smaller modules to the “wall/leg” and in some areas even have a mounting plate that extends from them with threaded inserts for larger items like the 5V Regulator and SSD Drive. That would make a plate there in the bottom to screw the various modules into. The plan is so that the whole panel could still be lifted out of the case as a single unit without having to detach any wires. With it fitting well with the legs that I have on it currently, and that it is resisting falling out, adding that weight may make it not be so secure so I might then glue certain legs placed around could into the case, then it would just require removing the “correct” screws to get it to release the panel and all the modules as a unit.
I am going to put the Meshtastic setup in it’s own post. It doesn’t seem there is a guide that covers the Adafruit radio, at least any I can find. I expect it will be easier for someone to stumble across if I make it a dedicated post, and I will cover as much of the wiring and installation as I can. I’m not very familiar with Meshtastic at this point, so I will cover what I can on the setup, but I am sure I won’t cover everything possible. It may be a bit until I post the Meshtastic setup post, as it is not working well, and I am not sure if I have something wrong, or have a bad antenna or radio. I am currently doing a fresh install on a SSD and will see if the new install leads to any changes, as well as setting up some additional Meshtastic radios locally at relatively short ranges to see if they are received properly. I only have one other radio right now setup, and being 20′ away from the Pi400 is not a good test. I am in the middle of nowhere for Meshtastic, and down in a low spot. I can’t get line of sight and out of the area right now.
With the additional items I covered here after the initial post, the project has all the expected features in place. The main thing is the Pi400 keeps wanting to pop out of the panel because it is too tight. I did make provisions for attaching two small metal plates to the Pi400 and 4 magnets in the 3d print to hold it, but it just won’t go into the opening properly, I don’t think the magnets will be able to help. I may go to the trouble to reprint the main panel in the hope that it will fit better after the changes I made. I have enough filament, but it is color change filament, and may not be at the right point in the spool to match the other panels well. It was not a good idea to use a color change filament for the project. Provided the Pi400 fits the revised panel properly, the 3d models files are complete, to the point that I plan to complete them. I have no other known issues remaining with the models. Granted again, mounting the 5V regulator, the little I2C modules securely would be nice, some wire management. The only feature I did not put in that I initially planed is the SSD drive (as of starting this second post). I am doubtful that anyone else would print and build this with compatible parts, but maybe if someone get the same case, they could use the models as a basis to make modifications to.
I would like to work out some GPIO accessibility. The question there is always, well what do you want to be able to access, and where is it going to be placed. “Maybe” it would be possible to do a 40Pin into the “wall”, keep it protected when not being used by using a cover, such as shipped with the Pi400 (well shipped with 2 of the 3 I purchased). I would be concerned about the very limited visibility to ensure that any wires are attached to the correct pins. Making choice of another connector which won’t have the full compliment of pins, requires keeping that pinout handy, and finding a place for that connector to be installed. Then whatever that connector is, to have a way to attach to it. Yes I have seen using of the round Military spec connectors, which are huge for their pin count. More normal Din connectors are still low count, and get large and expensive. They may be good if various modules are design to work with the system, but for prototyping and development I feel they aren’t very flexible.
Initially when I saw the pi400 come out several years ago, I was really looking forward to it. That was until I purchased one and started using it. It was lacking in several areas. It is nice in that it is compact. With it being so compact and light, and having to having a number of small cables connected, I found it messy and was concerned with it sliding around with use that may cause either the power or hdmi etc to come loose while using it. I ended up building my AMpi4 to tick all the boxes on changes I wanted for it. This left me with some pi400s in my stash with nothing to use them for.
I’ve liked the CyberDeck ideas. I like aluminum hardcase briefcases. My goal is to make this a fully portable self contained Pi400. I looked around for the largest reasonable display to use. I then looked around and found a touch pad to include. I then looked around at possible cases to use that I should be able to fit the equipment into. I also looked at options for a battery to power everything. The LCD runs at 12V, and is 13.3″ with a 1366×768 resolution, the resolution will be a problem later though. The battery is a 12V 5200mAh pack rated to be at 9V when drained, and 12.6V fully charged. The case is a 15″/10″/4″ case, this turned out with my choice of setup to be just about the minimum size case due to depth. My primary focus initially was to work out if and how I could fit everything into the case. I wanted the pi400 keyboard about flush with the lower thicker portion of the case, and then the LCD bezel had to sit just below flush in the top so they didn’t hit one another.
So the primary parts are above, the case, the battery, the touch pad, the 13.3″ LCD and the Pi400. There are many more components, but these were the first past to start to verify I could fit them in the case properly.
The case it a bit large, so I can’t print the panels in one piece. I did work out that I could do a 300mm wide that would hold the Pi400 portion fine, which is about the max of my S8 3d printer can handle. I found a 3d model of the Pi400 listed as intended to make cases etc, then modeled the touchpad. I did a test print, it worked for fitting, but neither the Pi400 or the touchpad fit properly.
First FitWallFeetProtopanel
The various other items I have been working on fitting in include some power switches, volt meters and leds. I also worked in a .96″ I2c LCD and RJ45 keystone jack into the lower panel. I recessed the control panel on the right so it would have clearance to the top. The switches are for the main power switch at the top, then 5Volt supply in the middle and the 12V supply on the lowest switch. Each switch has an LED to show it is on. The various status LEDs are wired up with 2.7k resistors. The volt meters are for the 5V and 12V supplies, there is a difference with mounting them. I had to use “smaller” threaded inserts and screws, they are salvaged M2.5 Inserts from broken Laptop cases. The 4mm Diameter M3 inserts were too large there to line up with the screw holes in the volt meter pcbs. There is a vented wall connecting the two panels together, and feet that contour to the case to keep the panel at the proper depth. The holes on either side of the touchpad will be speaker grills, as I am relocating the speakers from the back panel of the LCD case.
The LCD needed a nice way to mount as well as to be thinned down. I just didn’t have the clearance the keep the original case back for the case. The Speakers needed to be relocated, and the best place for that was down in the main case by the touchpad, to do that I made up an extension cable for the speaker wires. They really should be run with a shielded cable, unfortunately I didn’t have a 4 wire shielded cable to use, this does have a bit of a noise out of the speakers from interference. I may swap the wire out for a shielded cable once I come up with one. I also had the relocate the buttons, as they were on the back of the LCD case, and needed to be accessible. The Power/Status LEDs for the LCD are very small SMD parts, and were not practical to relocate, and the IR Receiver is on back of the button board as well. I was going to relocate the IR Receiver, but I have nice slot vents around the LCD and the IR Remote still works with it on the back of the Button PCB. Removing the back of the LCD case let me keep the Bezel and use the old mount points to connect it to the new upper panel. I did have to make some standoffs and find some longer screws to mount the bezel with due to the standoffs. The Button pcb is using the original screws. The LCD Controller pcb had been mounted to the back case, so I had to design up a mounting plate for it.
The other portions I added to the top panel were an RCA port for Composite Video input, and a 3.5mm Audio input jack. That did not work out, but some pictures here show that layout. I wired the 3.5mm into the audio in on the monitor, but that doesn’t connect when in Composite Video selected, I think it is for the VGA in. The audio doesn’t play if there is no Video signal either. I later changed the setup there. I also have added an Adafruit RFM95W LoRa Radio to setup Meshtastic on the pi400. For that I also added a power switch and status LED for the LoRa radio. The radio runs on 3.3-5V, with 3.3V IO, I am powering it from 5V. The Antenna mount is also in the panel, and fitted so it can stay attached when the case is closed, with it to the right of the toggle switches. The top panel also has a 4Port USB 3 hub, when installed it bottoms out back to the case top for support, and the usb cable just comes down through an opening into another opening in the lower panel, the primary issue is things are quite tight and I needed to use a 90 degree extension as there wasn’t enough clearance for the regular usb connector. The USB Hub is not actually secured very well. I did reuse some of the cloth tape from the LCD Monitor’s case that held the wires in place. I was going to use zip ties to grip around it, but there is no clearance, I was going to make a 3d printed band or strap and use threaded inserts in the front panel around it to grip it, but no clearance for that either. It could be taped in tighter, it could be glued in, even possibly using the holes I made for threaded inserts for points for the glue be it hot glue or epoxy or other glue if it turns out to be too loose. I left in a square hole to the right for the LoRa wiring, speakers, 12V Power for the LCD and potentially the HDMI connection for the monitor. I put that wiring all through a wire loom bit that I salvaged. I went with a HDMI Ribbon cable, so there is a small slot (larger than required) that lets the ribbon come down from the top panel into the lower panel.
Speaker ExtensionYes the Speakers are unplugged yet.LCD Standoffs
The second print of the panel for the pi400 and Touchpad fits mostly. The pi400 is still too tight, which is why it looks a bit “popped out” in the picture above. I reworked the speaker grills, which I like better than the square ones that I had before. In the photo the battery is external as I haven’t worked out the internal mounting for it. This second print of the panel was printed face down, where the first prototype was printed face up.
Fixing the Resolution: You may not see but in the photo above the image is going off the edges of the LCD, you have to use a custom resolution 1360×768 to prevent the image going off the edge of the display.
To use the custom display, you have to edit the “/boot/firmware/cmdline.txt” At the end of the line add ” video=HDMI-A-1:1360×768″ or ” video=HDMI-A-2:1360×768″ depending which HDMI Port you have attached the monitor to. Save the file and reboot, you should see the screens on startup have changed to the new resolution. When you get into the GUI, the resolution will change back to what it was set to previously. Go to the menu, and find “Screen Configuration” under the Preferences menu. You should now see 1360×768 as a selectable resolution and be able to change to it. Then the overscan works properly and image is no longer going off the edges of the screen.
To power the pi400 and LoRa radio, as well as anything else 5V, I am using a 12/24V to 5V step down regulator unit that I have had for awhile and it is kept in place with Velcro so I can easily enough remove it. I ended up not using it for another project. It seems to give just a bit over 5V, which is what the pi400 likes. I have run it for quite a few hours without any issues. I made up a USB C power only cable to connect it up. The 13.3″ LCD power goes to a 5.5mm barrel power jack to make it easy to remove. The LoRa radio is mounted with some double sided mounting tape, which I put some Kapton Tape on the bottom of the LoRa radio board before putting the mounting tape on it, as I wanted to make sure I could get it off without damaging the board if I ever need to.
The USB Touchpad needed the cable modified. It was a bit too high up on the side of the case, and extra long. I ended up removing the cable and installing a shorter usb cable. It is a heavier cable, being shielded, but it was just about the perfect length. It also had a short usb connector so it has clearance to plug into the Pi400 USB 2 port without right angle adapter.
I do wish the touch pad had a middle button, as it is handy. Still I can use a mouse instead either by Bluetooth or USB. I am using Bluetooth Mouse with the PiCase, but the Touchpad does work well. While I don’t like Touchpads very much, but I included it because it makes for a complete and usable device without additional bits of hardware.
Above you can see the bottom panel and a closer view of the control panel when they were nearly complete. I did swap the wiring for the Voltmeters, as I wanted the 12V at the top and the 5V at the bottom meter. I also rewired the “charging” jack wiring when I was doing some other changes later. The charging port was rewired so that the current sensor can now monitor when the charger is connected and charging the battery. You can see the Speakers are hot glued in, they were originally glued into the LCD Back case. I had made it with M3 inserts around the speakers, but I didn’t feel like making frames for them. The Speaker mount area is larger than the speakers as I have some very similar larger diameter speakers I wanted to allow for, still in the end the original ones work very well. You may notice 4 more M3 inserts along the bottom edge of the pi400 opening. I had added those expecting that the panel may flex, but for now it seems rigid and doesn’t need supports added below. I will use two of those four inserts to mount the battery holder. Due to the fit of the Pi400 in the main lower panel, I did print revised panel to replace it. On that third main lower panel, I only installed the 2 threaded inserts that the Battery Holder is attached with, the speakers are again attached as seen here with hot glue. You can also see the various “feet” around the panels. I am still debating gluing at least some of the feet into the case so the panels can’t slip out. All of the feet have M3 inserts in them and are screwed in through the panels, 1 has a screw into it through the wall that connects the two levels.
The panels fit well into the case, I still have some things I am working on with the panels, so I will not be gluing any feet into the case at this time. Right now it is just regular Raspbian OS 12 Bookworm. I have connected in the .96″ LCD and set it up for a status screen. I have also wired in and setup the LoRa radio for Meshtastic with limited success. I’m looking to add a Realtime Clock module, and also a Current module and battery status widget. I had some ideas on a GPS module and maybe an RFID module. I will make another post going over the LoRa Radio, the 3.5mm headphone jack, the .96″ LCD, the Battery mount, and battery status and RTC module and some other things to finalize. When I get finished up, I also plan to post the 3d model files for the case parts. I am still making various mostly small alterations. The last main thing should be working out the Battery mount.
I am not certain, but there is a good possibility that a Pi500 would fit this build, also possibly the official Raspberry Pi Keyboard that is largely the same case design and using an more traditional Pi of your choice or another small SBC. There is plenty of room under the Pi400 for a different choice of battery pack. The power draw of the setup varies around 0.900A to 1.25A. I fully expect that under heavier load it will go up, it is on the low end with a MicroSD card, and then with a USB3 attached SSD it is in the 1.25A range, the LoRa radio does put more load on as well when it is in use. Using a Pi5/500 may be best making a different battery and regulator choice. I would get a Pi500, or stick in my Pi5, except this build is to “use up” a spare Pi400. I really don’t like the Pi400/Pi500 as a stand alone design, so I don’t want to invest in a Pi500 at this time, or rework the power setup. I might see about getting a Pi Keyboard at some point if I am placing an order for other parts and test fit it though, but isn’t happening in the near future though. I really don’t expect to see anyone else build one of these units based on my build and models, although that would be cool to see.
In a prior post I mentioned I have the Apple II RGB Monitor cleaned up and I needed to make a cable for it. Since I was making a cable, I decided to make a RGB to SCART Cable. This will go with the GBS Control devices and let me use modern displays. I had an old piece of cable used for a VGA cable originally that I thought would be a good use. I had a SCART Connector that in my spare parts that I had ordered awhile ago. I just needed the 15 Pin DE15 Male connectors.
Based on the source post at VintageWare, I need to wire the Red (2), Green (5), Blue (9), Sync (3), Audio (11) and three Ground pins (1, 6, 13) from the DE15 to the proper Pins of the SCART connector. It also requires using the 12V pin (8) wired two two other pins on the SCART connector via some resistors. The 12V should be wired by a 1k Resistor to Pin8 on SCART to select AV Mode. The 12V should be wired to by a 270 Ohm Resistor to Pin 16 on the SCART Connector to set the SCART input to RGB Mode. I am not using this cable on a true SCART TV, so those two pins should not have any impact for me, but I might as well make it to the proper specification.
This SCART cable was nothing but trouble due to the wire I have used. Everything just kept going wrong with it. The cable has Coax lines in it for the video etc, which is great, but very problematic to work with, this may not be as common an issue, but I am expect working with multi pair coax will commonly have at least some of these difficulties. The core wires for the signals kept breaking off at the solder point. The cable is overly thick making it not flex easily, and break them more. The DE15 connector Pins push inward out of the plastic housings (which I have never seen before, but may be common on cheap connectors..). The IIGS has thick plastic around the ports, and the Shells for the DE15s don’t fit, they don’t let the connector go in far enough to make a connection. That is common on Commodore 64 Joystick ports as well (although that is a metal surround). It was very frustrating. When testing, I just removed the Shell from the DE15, it went it great, except some pins started to push out, then when I removed it more of the coax signal wires broke off. When testing it before trying to take it out, I didn’t have the blue signal. I figured another broken coax signal wire. On inspecting I couldn’t find an issue, well visually inspecting, although the sync wire had broken off by then it couldn’t have been broken before unplugging it..
Next I repaired the DE15 end, cut down the Shell “lip” that holds it on as much as I could. I pulled all the extra DE15 pins out. I used Liquid Electrical Tape to insulate, and basically “glue” the pins into the connector and keep the coax signal wires from flexing and breaking. I also used the Liquid Electrical Tape on the SCART Connector. Then I let that fully cure. I reassembled the connectors and tested again. I again didn’t have Blue, only Green and Red. I further shaved down the Shell lip, thinking maybe it just wasn’t making contact. That made no difference, still no blue. I tried the old SCART to HDMI adapter box, and I got no video output from it. I decided I would make the cable for the RGB Monitor by cutting the cable in half and installing DE15 connectors on both making it into two cables. This cable was awful the worst I ever made. I took a week or so away from it as I didn’t want to mess with that cable again.
The cable would have been a little neater, but I didn’t initially intend to use the 12V line so I had to solder on that blue wire to the stub of one of the remaining wires. The various wires kept breaking off at the solder points and I kept adding in little bits to extend and try to get tension off of them. I am not happy with this cable. Hopefully as I went on further below I will get this working and it will be a solid cable after all the trouble and fixes listed lower in this post.
Above you can see the Liquid Electrical Tape applied to the connector. I put it all over the pins to the base. I has a good bond to the pins and case, this has locked the pins in so they don’t push out. It also holds the thin coax cores giving them support preventing them from breaking off easily.
Moving on to the RGB Monitor Cable
I decided to start fresh with the RGB Monitor Cable, I wasn’t interested in working with the other SCART cable again. I had a piece of shielded cable that isn’t individual coax for the signal wires that I decided to use for this cable. It is much smaller and flexible. I again pulled all unneeded pins from the connectors (partly as they like to fall out of these, but also as I needed them for another connector for the IIGS). This cable took nearly no time at all to make. It was easy to work with, had the exact wires in it that I needed. I even soldered the shield to both DE15 housings without any issue. I did take the modified DE15 Case Shell from the SCART cable. This cable took nearly no time at all to make, it was refreshing and was a joy to put together compared to the SCART cable.
For this basic strait through cable, I used pins 1, 2, 3, 5, 6, 9, and 13 as well as soldering the Shell to the Shield wire. This is a lot easier than the SCART, as I don’t need the Audio, the 12V, any resistors, the Grounds are just “strait through”. With the SCART most of the grounds were tied together, which is just more work in itself. I usually only wire the Shield wire to one end Shell or the other to prevent ground loops. In this case, the specification was to wire the Shell to ground, so I figured I would do it.
Only the required PinsModified Shell
This cable I did not put on the Liquid Electrical Tape, as I had with the Scart Cable. Nothing here is binding, pulling etc, there isn’t excess loose bare wire, the Shield Ground is soldered directly above one of the Ground Pins and can’t reach the R, G, B or Sync pins easily unless it breaks off. I did not have issues with the pins pushing out yet, I think it helps that so many pins are “removed”, creating less friction, less chance of minor miss alignments etc. Granted I did go back and remove the unused pins in the Scart cable as well. The pins were repurposed for the wDrive DE19 to IDC20 adapter in another post.
I connected up the monitor and it worked great the first time. Well I didn’t have the right colors initially as the cable fell partly out of the back of the IIGS. I pushed it back in and everything worked properly. I then used the screws to screw it in. I didn’t have to modify the shell on the monitor end, it has enough clearance for the shell.
I do think this monitor has been used a fair bit, it is clear and bright enough though. It looks better in person than in pictures. I noticed a crack the lower left front corner of the case just above the Apple Logo.
Back to the SCART Cable
On getting the RGB Monitor cable working, I looked at the SCART Cable again. Not that I wanted to after all the problems with it, but I had it apart after taking the DE15 Shell off. I checked for loose or broken wires, although everything is covered in Liquid Electrical tape making that difficult. I didn’t see anything. I then started checking continuity. I was checking all of the ground wires, checking that I didn’t solder wires to the wrong pins. On checking the ground wires, I found the Blue signal wire was shorted to ground. I had checked that pins went where they should and that the Blue pins were connected, what I had failed to check the first time was if it was shorted to another pin such as Ground.. That will cause the Blue to not work. I inspected the DE15 end and it didn’t look like anything was wrong there. I carefully removed the liquid electrical tape from the Blue signal and the Ground pin beside it on the SCART end. I found the blue somehow jammed itself into the ground. Initially I thought the blue signal wire in the coax had broken, but somehow the blue was pulling into the shield ground around it. I hate that cable. I got it worked loose, and covered it in liquid electrical tape again. Then I let that cure, checked for shorts again and reassembled it. This SCART cable is wired differently than the ones I have made in the past. I have added the resistors and used the 12V power to Pins 8 and 16. That won’t matter to the GBS Control, as those pins don’t do anything on it, but I do wonder if it will make the SCART to HDMI act differently, or if it will make the SCART work on the Sony LCD TV which I have never been able to get to take any input. I figured I had the wire for it, (and I did do pin 16 in the other cables, but not pin 8) and it was easy enough to wire up. I then tested it on the GBS Control and the SCART Cable is now working properly. I then tried it on the SCART to HDMI Adapter box, and it worked on that as well. There was some “noise” in the display, but I think I had seen that is actually there on the IIGS and masked on the CRT Monitor.
I plan to likely use the IIGS with the SCART cable to the GBS Control more than anything. The Apple RGB Monitor has certainly seen better days, and if I use the IIGS very heavily I will probably not use the monitor with it. I actually didn’t intend to get the IIGS, and I don’t currently have room to setup yet another computer. I could put the G3 iMac away somewhere, as all I have for it is Oregon Trail..
I’m really not too sure about the Apple II projects out there. I wasn’t looking to get into the Apple II, I just came across the IIGS and well I wasn’t ready for it. I always liked the IIGS from school, in Jr High I had spent time writing programs in basic on one in my Science class during study hall. They were old at that time, but I didn’t have a computer at home yet and always liked computers. We had used Oregon Trail, Number Munchers, Logo and other programs up from first grade on various models of Apple II computers in school.
The IIGS came with just three 5.25″ floppy disks. Two of them worked, but the other has errors and won’t load the program fully. I looked into the Apple II storage options. Nothing I have for any of the other computers works on the Apple II. There is a paid firmware for the GoTek that can work in combination with special adapter cables, but that looks to be rather limited in what it can do. Doing some looking around, I don’t know what the best option is. There are a number of devices. The Floppy EMU was one I looked at, but shipping and cost are up there. I found the wDrive and that was in stock and cheaper, and seems to be comparable for the Apple IIGS even though the Floppy EMU can work on early Macs (I have no early Macs and I don’t at this time plan to get any). https://ct6502.org/product/wdrive/
Some things I didn’t like about the wDrive are, that while it looks to be one of the go to devices, it does not appear to be in active development any longer. I would also like to see more documentation on it. It took me awhile to figure out why it wasn’t showing me the menus on the IIGS on startup (you need to copy the wdmain.dat in the SD Card from the firmware download). Either device though, or any of the devices I found weren’t exactly in the budget that I wanted to just jump in and purchase on a whim. Many of the other 80s era computers have pretty decent cheap data storage options these days, I was disappointed to not find something similar with the Apple II. I think it may be a bit complex though, and the IIGS is a 16bit computer as well. Update: there seems to be more new projects that started coming out around the time I was looking for solutions. So there are certainly more solutions out there than the two primary ones I had found at the time.
My limited experience and time looking at devices for the Apple II computers means, I may or may not, have made the best choice. I think the FloppyEMU has various settings that are changed per the file type, or usage you want to do, with the wDrive it just takes the files and emulates what it needs if it can use the file type. That may be a plus if I am understanding the usage, in that it is simple. The wDrive won on price being $79 vs $118 for the Floppy Emu + the case. If I had chosen the Floppy Emu I would have went with the Deluxe bundle at $129 which includes the Floppy Emu + the case and a DB19 to IDC20 adapter similar to what I had to build myself that I cover below. It was measurably cheaper, but still not super low budget. I did still need a compatible DB19 to IDC20 adapter, but that wasn’t an additional $40.
Connecting the wDrive to the IIGS:
I mentioned above that the wDrive requires a DE19 to IDC20 adapter when used with the IIGS. It is a bit problematic that the store doesn’t carry them. They do have a link to two compatible adapters, but then you have more shipping yet (the FloppyEmu store is one of the sites.). This lead me to looking for another source, and specifications on these adapters. The information on exactly what is needed is not clear. Sure we see the two connnectors… we can find pinouts of the ports. I was quite concerned I would get the wrong adapter, and it wouldn’t work, or would damage the wDrive or the IIGS (or both).
Looking around I came across one marked with the Fujinet project on it. I found the Github for the project. This is a project I hear about on videos and such, but not one I am following. It they make a version of the Fujinet for the Apple II and the IIGS, and this adapter board must be for connecting up certain models in certain situations. I don’t know much about Fujinet, but this is not the exact use case for the adapter, so I still had some concerns this wasn’t exactly what I needed. They do have all the specifications and schematics, as well as build photos of the adapter on their github post, which is helpful. This adapter uses male pins pulled from a DE/DB Male type connector and a 3D Printed DE19 shell cover to make a DE19 to IDC20 adapter that perfectly fits to the IIGS. The Gerber files and 3d models are all there for download. https://github.com/FujiNetWIFI/fujinet-hardware/tree/master/AppleII/DB-19M-Adapter-Male-Rev1
This adapter is not exactly what I wanted as I wanted to be able to use the 5.25″ drive in combination with the wDrive, but it is what I needed at a minimum to use the wDrive with the IIGS. I downloaded the Gerber files, then ordered 5 boards from JLCPCB. It was under $5 including shipping as I got the cheapest shipping option (which is as cheap or cheaper than shipping for an adapter). The adapter was easy enough to build.
Thanks to the DE15 Male connectors I purchased to make up RGB Monitor cables for the IIGS, I had DE Male Pins. I pulled enough pins from the three DE15s I am using for those cables to have 19 (and a couple extra) pins to make up this adapter. As they are not very tight in the connectors, they were easy to remove without damaging them, I don’t know if the pins are normally that easy to pull as I haven’t tried before (I suspect they are tighter in high quality DE connectors)
I then printed the 3d Model for the shell. I had to get the spacing right on how far to push the pins through the PCB and have the right depth. The instructions/guide shows someone having hacked up a DE25 female connector into a DE19 to hold the Pins in for proper placement for soldering. I didn’t want to ruin a DE25 female connector. So I put the pins into the DE25 and used the printed 3d model to get the spacing close. If I had expected to make more than 1, I probably would have taken the time to hack the DE25 down, it was old and not in very good shape. It would take some effort to do that with the tools I have available to me, more than I would have wanted to invest for making up a single adapter.
I soldered in the end pins on each side. I then checked the alignment of the remaining pins and soldered them all in. This did make the complication that now I had to manage to put the 19 pins into the 3d printed part without bending them. Thankfully that was not hard though.
To make this adapter I did only need to buy the PCBs. I used a piece of dual row pin header for the IDC20 port. This did mean I didn’t have the Shroud that has the alignment notch in it. The 3d model didn’t have that build into it. I found a OpenSCAD model for download, set it to 20 pins and printed it out. Having a 3d printed Shroud probably won’t be as durable as a molded one. I did assemble the adapter and put it in the shell though. It worked.
The wDrive looks like a very small 3.5″ drive from the “top” or “bottom”.
The interesting design to the wDrive case is that when placed with the LCD and buttons downward, it looks just like a 3.5″ disk drive. That does make the LCD not usable, but there is a work around for that by using the IIGS to control it with the menu system, it is also small and easy to flip over to use the screen and buttons if needed.
I looked around for a IDC20 shroud. I found exactly what I needed. Someone had made a OpenSCAD model and posted it for download. https://www.thingiverse.com/thing:3200902 They didn’t list it as being an OpenSCAD model, but thankfully it was. I was able to set it to a IDC20 size and print it out in the same filament as the case for the adapter.
It didn’t quite fit, it was slightly to large. I wouldn’t have scaled down the thickness though of the shroud as being 3dprinted it already won’t be quite as strong as a factory part (made with PLA at least). I shaved the opening larger on the cover. I got it to be a good snug fit.
ShroudOriginal CoverEnlarged OpeningDry Fit TestDry Fit Test
After I had it fited, I put the case together to make sure it was aligned well. Then I took it apart and used SuperGlue and Baking Soda all around the inside rim to secure them into one solid piece.
Once it was cured and I had cleaned off any loose Baking Soda, I put the completed adapter together.
The filament I used to print the case is Polymaker PolyTerra Muted White PLA, as recommended by the MacintoshLibrarian on Youtube awhile ago. It was available recently, but I’m not currently seeing it listed. The case of the IIGS is a bit yellowed, and it is a close match to it but still a bit lighter. You can see the wDrive stands out against it, being the wDrive’s case is 3d printed in what appears White filament.
I did work to merge the two parts. Below you can see the merged part as well as the two independent parts which are shown above. It was simple enough to combine the models in Tinkercad. The opening is a little too small as seen above, so once I had them lined up properly they worked very well as a completed part with no gaps. I just had to get the offset correct, as to how much it needed to protrude into where it would come in contact with the PCB inside.
With the individual parts, there is no support required, but it does take more work to make the two into one part as seen above. I think it is worth the 2grams of support material and 10 additional minutes to print them as a single part. The finish of the part isn’t quite as nice as the outer surface is not face down on the print bed, I do have it positioned so that the “support” is on the interior of the case though so that the supported areas defects won’t be visible once assembled. I did print one of these combined parts to see how it went. It was pretty good, and I may use one of the other PCBs and build up a second adapter at some point using this new combined part. It might actually be possible to take that outer 3.25mm protrusion off the outside, making the outer face flush again. That may retain enough shroud for a good positive fit, but then let it be flipped back over and printed with no support (or only a tiny support at that little bit of overhang where the notch is for the alignment on the IDC).
PCB Solder Bridges
The PCB has several solder bridges. For the first adapter I did not connect them. They are for the 12V and the -12V and Drive 2 Select. Since there is no pass through, and I am not connecting something that uses those voltages, I didn’t connect them up. I am not sure what the Drive 2 Select does, or would do. The wDrive doesn’t use the 12V or -12V, so I don’t have any reason to connect them up at this time. Other adapters that I have come across do tend to have them connected, which is required if using “real” disk drives. It is still unclear to me how the Drv2 jumper should be set, or what scenario requires 12V on it.
There is no Pass Through port, so I expect I would only have “Drive 2″ if it actually does change the selection.. I was thinking maybe I could make one of these up with 90degree angle headers and connectors and that would be able to be plugged into the back of the 5.25” drive letting me use the wDrive as Drive 2. I’ll have to find out how Drv2 works or should be used if I ever do that.
It is nice having the Shroud on the IDC20 port, so I can’t connect the cable backward. That was the other reason to not connect up the 12V and -12V pins incase that ever happened. I only had the red dot to mark where the Red Stripe goes to let help me ensure I didn’t get it backward, also there had been enough room in the IDC20 port opening to plug the cable in off by 1 pin, which tends to go badly as well.
This adapter and the wDrive will let me do a lot more with the IIGS than the two good floppy disks I have. What little I have found on the IIGS so far, shows me there is a lot more to the Apple IIGS than we ever took advantage of in school. I do hope to find the time to get to know the machine better.
I did do a little testing with the wDrive, but not much, I tried out a few other programs and such, I want to try out the GS OS graphical interface. I need a mouse for that, and I have one on order that is supposed to be tested and working.
I have a few more things to do with these machines. I have to finish up the RGB Monitor cable and SCART RGB Cable, which should be next (they are made now, I just have to finish the posts and get a couple of the SCART shots of it in use and a bit more testing). I still have that filthy and messed up keyboard that I don’t want to touch, and then to do an internal clean and maintenance on the other two 5.25″ drives so I know their condition. I need to get a battery as well the next time I place an order at Digikey, or somewhere else that I trust to get quality parts from.
Case Cleanup. I removed the RF shield from the inside of both IIGS case top covers. I wiped down the RF shields, and then I washed the case tops with some 409 cleaner and a brush in the tub. The next day once the cases were dry, I reinstalled the RF shields into the case tops with some UV Resin to replace the plastic melted rivets that I had to cut away.
RF Shield Reinstalled with some UV Curing glue where the plastic rivets had been.
The RF shields rust easily and already have some rust on them, so I didn’t want water all over them that I couldn’t readily dry off quickly.
For the working keyboard, I removed all of the keys that don’t have stabilizer bars. I then brushed out all the dirt, hair and dust from the keyboard. I then used the air compressor to blow out what was remaining. It didn’t look like anything had been spilled in it, so it cleaned up well. I don’t know how the stabilizers remove, so I didn’t want to risk removing them. I cleaned the keyboard with Windex and IPA as well as the remaining keys. I took all the loose keys and put them in the tub, spraying them down with 409 and a brush again brushing all 4 sides and the top. Then I rinsed them off well, and laid them out on a towel to finish drying. The next day they were dry so I used the other keyboard as an example to be sure I had all the keys reinstalled properly on the keyboard.
The cords including power cord were wiped down with Windex to get the worst of the dirt off, and a bit of touch up with some 99% IPA.
For the Color and Monochrome monitors, I opened both up to check them internally. I was checking for RIFA caps, which neither had. I was also checking if there were any problems that could be seen. There were no obvious broken solder points or evidence of leaking capacitors. Unfortunately the Color Monitor’s flyback case is cracking around the Focus control. I wiped out a bit of dirt and dust. There wasn’t anything else that I saw of any concern in the monitors. I also cleaned the case backs with 409 in the tub, and dried them out. The front of the monitors, I just cleaned with windex and paper towels.
The next day I was able to check the Monochrome display, I was waiting to ensure no water was in the monitor and that it was all closed up. The display worked normally. I don’t know if it is dim or anything. It looks fine to me, but I don’t use CRT displays often and my memory from when I was using Apple IIs in school has been way to long ago to be helpful. Internally the Monochrome monitor looked like it may not have been heavily used.
Testing the Monochrome Monitor with an original disk.
I now have a single IIGS in working condition with a 5.25″ Disk drive and Monochrome monitor.
It looks pretty good, but with the texture of the plastic, it still has dirt in the texture. I think there is a chance that simple dishsoap and a good scrubber would get some more of that out. That is what I usually use, but this had mouse filth all over it. I have seen people use Mr Clean Magic Erasers for such things, but they are actually abrasive, so I want to limit their use, I may give it a try, but they are over 30 years old, so they aren’t expected to look brand new, by me at least. I figured as bad as it was the 409 would do well, but it really was not as effective as I was hoping. There is some yellowing, and the old id number badge left a non yellowed spot above the logo that stands out a bit.
I do have the Color RGB Monitor cleaned up, but I have to make up a cable for it. Making cables takes time, and I’ve been working on some other projects. It is missing the back feet as well, so I will 3d print some new ones in TPU. It is also missing 1 of the “front feet”, which are a bit weird, and because of the front bar that tilts the monitor up it doesn’t rest on the front feet. The Monochrome monitor has what looks to be the same foot setup, so I figure if I can use them to measure up to quickly model replacement feet.
I also have the second keyboard to tear down and clean. That keyboard also has a few keys not moving properly, I don’t know what that might involve to correct. I have the other two 5.25″ disk drives to tear down and clean and service internally. I don’t need those two drives at this time, and I have cleaned the cables and outside of the cases.
The work on these items is mostly cleaning, and testing the items. The Power Supply did need some work, and the second keyboard has issues. The other Power Supply I am not going to be doing anything with at this time as I don’t need both IIGSs.
When I purchased the TI 99/4a Computer a few years ago, the keyboard was not working properly. I had ended up with one of the Mitsumi based keyboards with the membrane that degrades. After taking it apart to separate the stuck membrane on the keyboard, it still wouldn’t work properly. The best option for me at the time was to get another TI 99/4a that had one of the other keyboard types in it as many of these Mitsumi membranes have failed.
There were other modern replacement keyboards for 80s era (well late 70s for the TI 99) computers, but there wasn’t one for the TI 99 that I had been able to find at the time. I looked over the Mitsumi keyboard, it is very similar to the Commodore 64 Mitsumi keyboard in construction. The plungers look to be identical to the Commodore 64 except they are white plastic instead of black. The “pads” on the bottom of the plungers are different though, as these work with the Membrane not with carbon pads like on the Commodore 64. The frame is the same style, and I expect it is possible the springs are the same or close enough to use. The Spacebar spring is not the same as the rest. There were projects for the Commodore 64, so it needed a PCB design, and maybe adapting the key “adapters” that were used for the C65. That was well beyond my current abilities (and probably still is).
I decided to buy another TI 99/4a with one of the “other types” of keyboards. I ended up with a TI 99/4a with a Hi-Tek brand Stackpole keyboard. The Stackpole uses square tubes that the keys insert into that tend to split at the corners. I do have some split tubes in my keyboard, but it was working fine. I did have concerns the stems would split worse with use. Shelby of the Tech Tangents (at the time still called AkBKukU) on Youtube worked on restoring another Stackpole type keyboard and released a 3d model to print new tubes for the keyboard. I printed one on my 3d printer and it turned out great. So there are options to extend the life of the Hi-Tek Stackpole keyboard. The keys may not work as good as new, but they should be reasonable.
With the keyboard issue sorted, I shelved the idea of coming up with a new Keyboard PCB. I didn’t like I had an otherwise completely functional TI 99/4a sitting unusable on the shelf though.
I recently came across a project to rebuild the Mitsumi 99 keyboard with Cherry MX Style mechanical key switches. https://github.com/visrealm/keyboard4a99 I watched the Youtube build guide. I have worked on various keyboards, and the project is quite strait forward. It is designed specifically to rebuild the TI 99/4a Mitsumi keyboard, which is what I needed. It reuses the keycaps, the spacebar supports and clips, as well as the keyboard cable and some support rails and screws.
I expect with a bit of work, that it could be adaptable to use the Hi-Tek/Stackpole keycaps. It would take a different Stackpole to Cherry MX Key Adapter (I found one, but I don’t know that key height would be correct https://www.thingiverse.com/thing:4735119) You would also require making some metal support rails. I believe the keyboard “cable” is shorter on the Hi-Tek, so you would probably be making a new one. The visrealm project has an alternate spacebar support clip, which may work with it, depending how the spacebar works.
He has the Bill of Materials in the Github post. As of right now.
We need the original Mitsumi type keyboard to get the Keycaps, and Metal support rails with screws. Then optionally the keyboard cable (which I used), and the Spacebar Clips to put into his inserts. There is an optional version of replacement Spacebar Clips, but there is no point in me leaving those on the old keyboard, the same with the cable it can be recreated but there is no point in that for me.
My bad Mitsumi Keyboard
Then we need the Keyboard PCB. I downloaded the Gerbers from Github and uploaded them to JLCPCB. He recommends black to reduce seeing the PCB through any gaps between the keys, so I went with black.
5 new PCBs
We need 47 Cherry MX Compatible switches. I wanted Brown Switches, as they are my preferred type. I know there are now many other “colors”, but I don’t know anything about the colors other than red, blue and brown. I like a reasonably quiet switch, and I like the tactile feedback of the brown switches. I went with the cheapest option for me to get enough brown switches, which was to buy one of those 60% keyboards for $20. It was cheaper to buy that keyboard on sale than it was to buy 50 loose key switches.. I was sure to buy a keyboard with removable switches. It was a bit of a pity to strip the keyboard. It seems to be made well enough, but I don’t like the form factor. I will keep it for the few remaining switches, or incase one of my kids wants a keyboard of that style. It will be easy to repopulate it.
Parts Keyboard for Switches..I now have enough loose key switches.
I needed a 8mm latching switch (compatible with the GPBX-800L at Mouser) for the Alpha lock, which again I went to Amazon, as I don’t have a need to place an order with Mouser. I now have 19 spares, and 20 of some three other variants. There is also a 1N4148 diode for the Alpha lock mod to keep the Alpha lock from letting the joysticks work. Which I have plenty of in my stock.
I used some M3 Brass inserts. It mentioned 10, where there are 3 for each of the “PCB mount rails”. I take it the other 4 are for the Spacebar support mount, but the ones to reuse the Mitsumi spacebar clips do not have the larger holes to accept the Brass inserts. I used M3x8 machine screws, for in the Brass Inserts as well as for the Spacebar mounts. The holes for the Spacebar mounts are for self-tapping screws, but the M3 machine screws went in fine, and actually were nearly too tight.
We need to 3d print the PCB mounts for each side, the Alpha lock, the PCB support backers (2), the Spacebar supports (2). The Keycap adapters (46?), there is a model that you can print them all at once, I did find them annoying to get apart but they were usable. There is also a unique Keycap adapter for the Spacebar (supposed to be a little different), and a unique one for the Right shift. I printed the parts all in PETG. I did make sure they were not brittle, during assembly and testing I had no issues with any breaking in my case. I did print “outer walls” first, this kept the cross on the top sized properly and kept it from stringing between the crosses.
The various 3d printed parts.
I have to have the Mitsumi keyboard pulled from the TI 99. Which is 7 screws in the bottom to open the case. Then 2 to release the power supply board, 3 to release the main computer pcb and housing, and 4 screws to remove the keyboard itself after unplugging it from the computer pcb. The guide on Github shows all the screws and steps.
Next I striped down the Mitsumi keyboard. Desoldered the wires from the Key lock switch. Then I unscrewed the metal support rails putting them to the side to reuse later.
Starting here. First I will remove the metal rails to reuse. Then the remaining screws.
Then I took the rest of the screws out to release the PCB. Next I used my desoldering iron to remove the keyboard cable. Just a little note on the cable, “pin 1” is Not the Red side of the cable. Keep an eye on how it is installed and reinstall it in the direction it was on the original pcb.
Cable to be desoldered.
While the PCB was off, I removed the spacebar and took out the Spacebar support clips.
Spacebar, Spacebar clips, and Keyboard cable. (and 8 key)
While I had the Mitsumi keyboard in storage, I had broken the 8 key stem. I had to get the broken stem top out of the 8 key without damaging the key. I used a 1/16th” drill bit to drill a hole in the broken stem top. Then I screwed a small screw into the 1/16th” hole, and used a pair of pliers to carefully pull the part out of the keycap. The screw was only screwed in a short distance, if it is too big, or in to far, you may wedge the part in tighter.
Getting the broken stem top out of the 8 key
I then took the screw out and used some super glue to glue the key stem back together, it may or may not hold up, but I also don’t expect the keyboard to get keycaps again.. After that I screwed the old keyboard back together. I will keep it for parts. If you don’t put the PCB back on, when the keycaps are pulled off the key stems will just fall out everywhere.
Stripped Mitsumi, and springs.
To start building up the new keyboard. I mostly followed the video guide. First I took the Metal support rails and added Kapton Tape to the bottom for insulation. The guide he used clear tape, and suggests maybe 2 layers. The Kapton Tape is much more durable, and is a proper insulation tape it you happen to have it. Note that the rails are “turned” compared to on the Mitsumi, using the “other holes”. I lined them up with the white lines on the PCB Silkscreen.
Kapton Tape for Insulation.
Once the rails are insulated they get installed with the 6 original screws, into the 3d printed support rails that are basically just to hold the screws.
Then I installed the Spacebar Supports. You can also see the PCB Mounts with their brass inserts installed. I was checking that they were going to fit properly. The PCB Mounts were added after all the key switches were soldered in.
I soldered on the keyboard cable next.
I started soldering in the switches. It is recommended on Github to get the key switches with the extra support pins in line with the center posts. The switches I purchased did not have those. It did make soldering them in strait a bit more difficult. I did work to solder them in strait as possible, which I did have some issues with. If they are perfectly strait, well the keycaps will still be crooked… well in my case they were. While I don’t know the reason for them being crooked, once installed, it has something to do with the 3d printed adapters.
To solder the switches, I started with the spacebar and went across the rows from there. I didn’t do it the way the guide showed. I am sure they would have been very crooked, maybe if I my switches had the additional alignment pins it would have been too bad. I ended up using Silly Putty to keep the keycaps in place and strait when I flipped the keyboard. With just one Silly Putty egg, I could do a full row. Though when I started I was using larger clumps of it as seen in the photo below.
The 0 key switch ran into the edge of the one 3d printed screw rail. I had to shave just a tiny bit off the rail to get it in strait.
A Tiny Shave0 swtich fits after the Shave.
So now the soldering is completed.
The soldered keyboard. The Spacebar Clips are installed. Tested the 8 Key.
So we did the key adapters. I printed out the grouped file. Then I had to cut them apart. I used Cura which did something weird to the one layer. Cura was reliable, but Orca indicated a better outcome, but I couldn’t get it to print successfully.. So It came down to using a new sharp Xacto blade to cut the adapters apart. When I had rough edges, I cleaned them up with the side cutters or Xacto blade.
The spacebar has a slightly different adapter. The Alpha Lock has a different type of cap. Then the Right Shift has a special centering double pin adapter.
So then I went through all of the keys separating the adapters and installing them. The key switches are quite strait, although not perfect. Though once installing the keycaps with the adapters they end up not aligned very well. They look to have printed well. I expect it is due to variations in the inside stem that goes into the Cherry MX type switches. The seam on the outside may have also affected them and made them rotate a bit. The stems are rectangular, so you have to be careful to not have them rotated 90 degrees, as they may “force on” but will bind. They may have been more consistent if I had been careful to not rotate them 180 degrees, but that was hard to tell.
Below is the completed unit ready to be installed. If you click on the front view, you can possibly see the P key is obviously twisted. The angle makes it hard to tell how numerous of the keys are twisted a bit.
Next I installed the keyboard. The keyboard is the lowest part of the 99 or rather the highest part. The keyboard must be installed before the Computer PCB and under the Power supply PCB. First I lifted the loose computer out of the way just enough to drop in the keyboard behind it, so that I could get the keyboard screws in properly. Then I lifted the computer up to plugged in the keyboard to the computer assembly. Then I screwed the computer and finally the power supply PCB. After that the bottom gets screwed back on. Finally the outer part of the Power Switch piece slides back into the case.
Finally the TI 99/4a has the new Cherry MX style replacement keyboard installed.
The P is kind of obvious from the angle again. There are other keys twisted a bit. I tested the keyboard before reassembly of the computer. All the keys work as expected including the Alpha Lock. The only issue, is the Enter key must have a clearance issue, it is partially press. I may pull the 99 apart to recheck it. It is only partially pressed, so it isn’t stuck down, and it still operate normally except not raising fully to the expected position.
As far as the project, it is great. The oddity is with the 3d printed key adapters. Others may have less problems with that and not have keys twisted noticeably. The key switches with the extra alignment pins may be a good idea and speed up assembly. The Alpha Lock switch doesn’t have “much” travel, it is not very obvious that it is pressed by looking at it. It does work fine.
I did have an issue with the Spacebar initially not wanting to raise up, it was binding a bit. I loosened the 3d printed supports and managed to get the alignment better. This may also be due to “twisting” related to how my adapters printed.
The keyboard feels great to type on. I was able to put the Hi-Tek Stackpole type keyboard back in my spare TI 99/4a making it complete again.
I hope to make some time to use the TI 99/4a. I think I’ll put away the Commodore 128 for a while so I can have the 99 hooked up and see if I can get familiar with it.