Close
0%
0%

reComputer 1000

An experiment in alternate computing.

Similar projects worth following
Based on a VTech PreComputer 1000 toy from 1988, the reComputer is meant to be a mobile computer from a version of the 1980s that never was.

It's got a handle for portability, a mechanical keyboard, and cartridges for expansion. The secondary OLED display can be used to show system stats and other ancillary information, while the square lighted push-buttons give you complete control over the hardware. There's even an LED notifier on the back of the lid that can be easily controlled via software

Everyone has a different reason for building their cyberdeck. For me, it was a desire to explore what computing could have been like if things had gone a little differently. What if concepts like expansion cartridges became more prevalent? What if computers kept that 80s bulk instead of becoming slimmer and lighter each year?

It was also important that my cyberdeck be easy to upgrade, maintain, and repair. We've all looked down at a half-disassembled laptop and wondered just what the hell the engineers behind it were thinking, and I wanted to create the opposite. Something you could pop open with just a few simple tools whenever you needed to get in there to fix or upgrade something.

To that end, I've created a teardown video that I hope demonstrates not only the thought that went into putting the reComputer 1000 together -- but the thought that went into how you could take it apart again.

  • An Arduino Attention Grabber

    Tom Nardi09/23/2022 at 23:21 0 comments

    The very final piece of the reComputer 1000 to be built was the LED notifier in the lid, primarily because the idea to build it never even occurred to me until the very end of the project. It wasn't until I realized that I'd have some empty space inside the LCD lid that I thought about putting something up there. My first thought was an external WiFi adapter, but I figured if I wanted something higher -performance than the onboard wireless, I could always make it a cartridge (and indeed, I did).

    With the addition of the USB hub in the lid, plus the dedicated micro-USB lead coming off of it, all I needed to do was add in a mount for an Arduino Pro Micro and a diffuser for a common addressable RGB LED bar. 

    I'm quite pleased with how the elements of the notifier diffuser continue the "vent" design that runs across the top of the lid, and integrates with the speaker grills. It's the little things in life, you know?

    On the software side, I was planning on writing some kind of a friendly tool to control the notifier. But in the end, you have to fire off commands using echo on the command line. Which actually works out pretty well, since it's easy to implement into Bash scripts and that sort of thing.

    For a demonstration of some of the notifier's built-in animations, and how you control/customize them, check out this video I put together:

  • Putting a Lid On It

    Tom Nardi09/23/2022 at 23:10 0 comments

    If you can believe it, out of all the parts that went into the reComputer 1000, the back of the LCD frame was the most time-consuming and difficult to design. It's probably also the farthest from what my initial goals were, and the most likely to get redone if I ever feel like building a reComputer 1001.

    Part of the problem is that, originally, I wanted all the buttons on the LCD to be accessible from the outside. I spent a lot of time working on a button module that would blend in with the design aesthetics of the rest of the build, but could never come up with anything I was totally satisfied with. After spending weeks fiddling with the idea, I eventually just gave up.

    Unfortunately, that means none of the LCD's controls are actually accessible unless you take off the rear panel. For the most part that's not a huge deal, as obviously I set things like the brightness to where I wanted them before buttoning it up. But it does mean you can't turn off the LCD without cutting power to the whole deck, nor can you turn up the physical volume of the speakers -- though at least you can still adjust the software volume.

    Then there was what I call the "lid interface", which is a bracket that holds the HDMI and USB terminations. Since I didn't want to hard-wire anything (in an effort to keep the deck modular and easy to work on) I had to come up with ways to work with the full size connectors. So the HDMI cable goes into a female-to-female coupling, and then to a ribbon cable, before actually connecting to the screen.

    I also decided, very late into the process, that I wanted to make use of the USB inside the lid to add a notification LED. But that also meant adding a USB hub to the mix, so I had to find a tiny commercial one and strip it down as much as possible to get it to fit. Then of course there were the actual considerations for the notifier, but we'll save that for the next post.

    In an effort to improve the audio, I added openings for the speakers which are disguised on the outside a bit with the same "vent" motif that I used on the front panel. So many computers in the 1980s had deep grooves cut into them, so I figured why should mine be any different?

    There's also the big circular opening in the middle which is where the emblem mounts. I had a lot of different ideas here, including putting in a little LCD or OLED display so the emblem could be changed in software. But in the end, I just did a two-color print of the Hackaday Jolly Wrencher.

    Interesting note -- the blue glow of the Wrencher is entirely unintentional. The USB hub had a tiny blue LED on it that I didn't bother to remove, and it so happens to align perfectly with the logo. I had considered removing the LCD or just putting black tape on the back of the logo...but it's kind of grown on me.

    In fact, I've even considered going in and adding another RGB LED to the Arduino that runs the notifier, so that I could make the logo change color and flash.

  • I've Been Framed!

    Tom Nardi09/23/2022 at 21:27 0 comments

    There's actually not much to be said about the LCD frame. In fact, now that I look back through the hundreds of pictures I took during the construction of the reComputer 1000, I realize it doesn't seem like I ever took a clear shot of the thing in isolation. Ah, well. We can look at the CAD file:

    Pointing out some of the interesting bits:

    • Rectangles on the right and left are for the magnets to hold down the LCD
    • Three nut catches at the top center hold the frame to the hinge with M4 hardware.
    • Angled opening on top-left is for the cable that runs back down to base
    • The nearby integrated zip tie holder secures the cable
    • The semi-circles around the LCD mount screws are to accommodate PCB shape

    Everything came together fine, and this is probably one of the easiest parts of the whole build to design since everything was a known-element at this point. If I'd do anything differently now, it would be to trim off the round edges of the mounting tabs, just so I didn't have to weaken the frame with those semi-circular openings.

  • Designing a New Face

    Tom Nardi09/23/2022 at 21:13 0 comments

    Up to this point, everything had been kind of coming together without any sort of real plan. In fact, the cartridges had ended up taking more effort than anything on the deck had. But now it was time to get serious -- I had to design a faceplate that would be a drop-in replacement for the original.

    This component was critical, as it would hold the secondary OLED display, the buttons to control the hardware, the lower magnets that would eventually hold the LCD down, and the cooling fan. A lot of parts had to be crammed into a relatively small piece of plastic...plus, it had to have the faux-80s look I was going for.

    To try and expedite things without wasting more time and plastic than necessary, I did test fits in sections. Like if I wanted to test the fit of the lighted buttons on the right hand side, then I would just print that half (or even quarter) of the face. When I wanted to make sure the OLED would bolt on properly, I just printed out that section, etc. It was a slow process, but I'm very happy with the end result.

    Notice the somewhat unconventional duct attached to the fan, this was designed to (hopefully) redirect some air over the heatsink mounted to the top of the 5 V regulator that sits underneath. The rest of the fan's airflow is directed directly onto the Pi's CPU.

    The wiring for the buttons is a bit janky, to say the least. As another time saving effort, I just did everything point-to-point instead of spinning up a custom PCB. This is something I might revisit down the road, but I've also considered just taking the lessons learned and putting them towards building a second deck that would be a bit more practical for daily use.

    For those wondering, the top red button is main power, white is for the OLED display, blue is for the fan, and green is connected to one of the Pi's GPIO pins so it can be used for whatever software-defined purpose I have in mind.

    Incidentally, this is also around the time I designed the hinge to hold on the LCD. I don't actually have many good shots of this, probably because it went through so many revisions, but you can see the CAD version of the final design here:

    It simply uses an M5 bolt (with captured nut on the other side), and alone, isn't particularly tight. The only reason it stays closed is because of the magnets built into the face and the LCD frame. But printed from PETG, it's plenty strong to hold the display up when the lid is open.

  • retroCART is Born

    Tom Nardi09/23/2022 at 20:42 0 comments

    As luck would have it, around this time there was a lot of discussion on the Cyberdeck Cafe Discord about developing a common cartridge format that cyberdeck builders could use on their machines. The leading idea at the time was to base it on something like the Sega Genesis cartridge, as the interface was well-known, and getting cases and edge connectors would be no problem. But it still had the same problem as my first idea, the need to spin up a custom PCB for each and every cart.

    I had been posting some progress images about the reComputer in the Discord, and a couple members asked if it would be possible to retool my cartridges into something more broadly compatible since they were just USB anyway.

    So the first step was to develop cartridges that had the same profile (as I wanted them to retain compatibility with my own deck) but could have a variable length. This was done through OpenSCAD's customizer, so that anyone could create STLs for custom cartridges even if they didn't know any CAD themselves.

    Carts could now be smaller or larger than the original PreComputer carts, which combined with some of these modern flash drives, made for a surprisingly compelling storage device.

    I also implemented code that would put an opening in the back of the cartridge for an antenna. So instead of just being purely for storage, they could also hold things like Bluetooth and WiFi adapters. While I have yet to try it due to the heat generated, I'd like to even do one for an RTL-SDR.

    The final step was to come up with some kind of cartridge slot that could be easily added to another cyberdeck. After all, we didn't want to just limit this idea to 80s era VTechs. So I created a design that combined elements of the adapter for the reComputer with a printed slot that you could bolt onto your deck -- all you need to do is make a rectangular opening and place the screw holes.

    I officially presented the project as part of the Cyberdeck Cafe's Virtcon 2021 event:

    A few cyberdecks from other builders have already implemented support for retroCART, and if you're interested in learning more (or adding it to your own project), you can check out its Hackaday.io page:

    retroCART USB Cartridge System

  • Conquering the Cartridges

    Tom Nardi09/23/2022 at 20:08 0 comments

    It was about this point where I started thinking more about the cartridge slot. Originally I had no intention of doing anything with it, and had actually considered printing a plug to close up the hole entirely. But as I started pulling the rest of what would eventually become the reComputer together, ignoring this feature increasingly started to feel like taking the easy way out.

    My early concept was to use the same PCB edge connector as the original cartridges, and wire it up to both USB and a few of the Pi's GPIO pins. This would have been relatively easy to implement on the deck side, as the original male connector was actually a separate board that I could have attached new wires to.

    This would have opened up some fascinating possibilities in terms of what kind of hardware the carts could support, but it meant the cartridges would all need custom PCBs. Plus, I'd probably have to buy up a lot of PreComputer cartridges on eBay to salvage their female edge connectors and cases, which didn't seem very appealing.

    So to keep things easy, I had the idea of trying to recreate the physical design of the VTech cartridges with a printed case that could hold a standard USB flash drive or other small gadget.

    Then all I needed to do was mount a female USB extension cable in the cartridge slot, and run that back to the Pi itself. Now cartridges didn't need any special hardware at all, there were simply USB devices plugged into a USB port. Not as impressive technically, I'll admit, but a lot easier to implement.

    Here in this final image you can see the USB cartridge adapter installed in the deck, and connected to the Pi that has now joined the power supply in the lower half of the case.

  • Now You're Playing With Power

    Tom Nardi09/23/2022 at 17:21 0 comments

    I knew early on that I wanted the deck to use USB-C Power Delivery, as over the last couple of years I've switched most of my personal devices over to the standard. Luckily, so-called "trigger-modules" are easily sourced online that will handle the communication with the PD power supply.

    Here I'm using the ZY12PDN, which happens to be an adjustable module. If I was going to do it over again I'd have simply selected a less expensive fixed-voltage mode, but at the time I wasn't sure how everything would fit together yet. If you're interested, the 3D printed holder for the trigger module is available on Thingiverse:

    ZY12PDN Mount

    Though experimentation I found that 20 V seemed to be the most reliable, in that all the PD power supplies and cables I had could provide it. When I tried 9 or 15 V, sometimes nothing happened. 

    The 20 V coming from the trigger module then go into a 5 A adjustable step-down regulator that has been dialed into 5.25 V to provide USB nominal voltage. I should mention here that I went through a couple regulators before I found one that get anywhere near its promised specs. When tested under an adjustable load, the first ones I purchased all browned out at 2 - 3 amps. 

    From the regulator, the 5.25 V goes into a female barrel jack that's integrated into the bottom of the mounting block. This allows for the other end of the cable (which leads to the top side of the case) to be disconnected by opening up the former battery compartment door. This is demonstrated in the teardown video linked on the main project page.

    I mentioned previously that there are no batteries onboard, though there's plenty of room underneath the keyboard should you want to go that route. Personally, I'm not much of a road warrior -- even my legitimate laptop spends 90% of the time plugged into the wall. That said, a USB-C PD battery bank capable of outputting 20 V should be able to run the deck.

  • Tough, but Beautiful

    Tom Nardi09/22/2022 at 21:14 0 comments

    Alright, I know what you're thinking. It seems pretty early to be painting, and you're right. In truth, there was a bit of test fitting before the paint stage, but probably not nearly as much as you'd think.

    Like the keyboard fitment, the painting of the PreComputer seemed to be a make-or-break step. I wasn't sure how the 30+ year old plastic would take paint, and I definitely didn't want the thing to be blue. If it was going to be a hacker's computer, nothing but proper "Balaclava Black" would do.

    So after filling in surface imperfections with modeling putty and sanding the case down with 400 git paper, I sprayed on a few coats of high-build automotive primer:

    Now I said before that I wanted the case to be black, but more specifically, I wanted it to be a textured black. That's because all the 3D printed parts (bezel, lid, etc) that would be getting mounted to the case would be done using the textured bed of my Prusa i3 MK3, and I wanted it to match.

    So after a couple coats of flat black, I went over the whole case with spray-on truck bed liner. This gave the case a rough and gritty texture that I absolutely love.

    Not only does it look great, but it's extremely strong. Even when I intentionally tried to scratch up a test piece with a knife, I could barely put a mark into it. Under normal circumstances, I'm confident this finish will take whatever abuse comes its way.

  • Making Some Room

    Tom Nardi09/22/2022 at 20:56 0 comments

    Now that the keyboard was settled, I turned my attention to the body of the PreComputer. Up until this point I had assumed the internal volume of the case would be more sufficient for my needs, but that notion went out the window once I started dry fitting components.

    The first thing that had to go was the battery compartment, since it took up a huge amount of space in the bottom half of the case. Oh, suppose this is a good a time as any to mention that the reComputer does not have any onboard batteries, and is powered by USB-C Power Delivery. I figured if I ever wanted to actually go mobile with it I could get a PD battery bank, but so far it's never moved more than ~50 feet from the workbench on which it was assembled, so no worries there.

    Before:

    After:

    After removing the battery compartment, I also had to trim off a lot of plastic from the top side of the case. I'm not actually sure why this big flat section of plastic was necessary in the original design, since it was covered by the while bezel anyway.

    With the excess plastic removed, it was time to sand and paint.

  • Mechanical Keyboard or Bust

    Tom Nardi09/22/2022 at 20:41 0 comments

    At this point, it seemed to me that the entire project hinged on the viability of slotting in a new keyboard. If I couldn't get better input on this thing, there was no sense putting any more time and money into it.

    Now I've previously said that the PreComputer 1000 had a full-sized 60% board...which is technically true. If you measured the actual width of the keys themselves, the spread was within a few mm of what you'd measure if you went from Ctrl to Ctrl on a standard layout board. Unfortunately, all the 60% mechanical keyboard PCBs I could find extended out considerably beyond the surface area of the keys themselves. I could probably have taken one of those open source PCBs and slimmed it down a bit, but that seemed like a lot of work for a one-off project like this. What I really needed was a way to fit an off-the-shelf board into the original keyboard tray.

    In the end, I realized that if I shaved off about 5 mm on either side of the tray, I could just drop in the PCB from a Royal Kludge RK61 board in there. It would be very close, with only maybe 2 mm of plastic left on either side after the operation. At this point I actually ordered a few more PreComputers on eBay in case I managed to ruin the tray on this one, but I'm happy to report that a steady hand and a Dremel got me where I needed to be.

    That gave me enough width to fit the PCB, but there was still a catch -- the original board used membrane keys, so the tray was very shallow. The mechanical switches would stick out much farther. In fact, the RK61's plate would actually be at the level the tops of the keys were previously.

    I thought this would be ugly, but in the end, I think it actually works really well considering the computer's overall bulk. The raised keys give it an almost typewriter sort of look.

    But we're getting a little ahead of ourselves. Getting the PCB even that low into the tray meant having to cut out (blindly) around all kinds of stuff on the backside of the board, such as the battery connector (incidentally, I'm not using the battery here) to the USB-C connector. It looks pretty ugly, but if I didn't post this picture here, you'd never see it anyway.

    To hold the board in, I cut those two pieces of flat bar stock and drilled holes which aligned to the mounting holes on the RK61 board. With the addition of longer screws, I was able to tighten those to the back of the tray so everything is nice and tight.

View all 12 project logs

Enjoy this project?

Share

Discussions

palomaresonthomas wrote 09/29/2022 at 08:35 point

Amazing Work. Also, visit https://apkranch.com/naruto-senki-mod-apk/.

  Are you sure? yes | no

Niccolò Rogai wrote 09/24/2022 at 21:58 point

Wow!!! It's incredibile at so many level!!! Really love the cartridges!!! :D

  Are you sure? yes | no

Chris wrote 09/22/2022 at 18:11 point

What a beauty! I grew up with cartridges and it is still a very special feeling to hold a cartridge in my hands and put it into a computer. So: more cyberdecks with cartridges please! :) The whole build looks absolutely impressive.

  Are you sure? yes | no

Tom Nardi wrote 09/22/2022 at 21:19 point

Thank you. I've taken many pictures and notes along the way, and will be uploading a lot of the build process over the next day or so. 

I've actually spun the cartridges themselves off into a separate project for anyone else who would want to use them. This includes a slot that can be fit onto any deck with a large enough flat area. I know of two or three other decks that have implemented the carts, and one day I'd love to be able to meet up with those folks and swap cartridges.

https://hackaday.io/project/177861-retrocart-usb-cartridge-system

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates