Sometimes we find projects that border on the absurd but are too cool to pass up. The Comprinter is exactly that. [Mason Stooksbury] had a dream. An all-in-one scanner printer that was also a computer. What would turn heads more than walking into a hackerspace with a printer, plugging your headphones in, then opening up the top to reveal a monitor?
[Mason’s] dream became possible when friends gave him some old laptops and a dead Kodak printer. After going through the laptops, he picked a Dell Inspiron 1440 to be the donor machine. The printer and laptop were both carefully stripped down. [Mason’s] goal for the project was to build a “beautiful” printer/computer. No bodges allowed. He spent most of his time planning out how to mount the motherboard and display inside the scanner section of the chassis.
The actual assembly was quite fiddly. Working with only an inch or so of clearance, [Mason] installed standoffs for the motherboard and display. He to do all this without breaking the wires for the display and WiFi antennas.
Once the main parts of the laptop were assembled, [Mason] completed the build with a nine-port USB hub, some internally mounted speakers and a USB keyboard mounted in the paper tray. The twelve-hour operation was a complete success. What looks to be a cheap inkjet actually hides a complete laptop running Xubuntu. The only downside is that the printer doesn’t actually print, but [Mason] is quick to note that if the printer hadn’t been broken in the first place, it would work fine — all the modifications are in the scanner section.
Ink! No matter the printer you’ve got, whether it be inkjet, laser or otherwise, it’s the consumables that will send you broke. At times, the cost of Hewlett-Packard black ink has exceeded the price per volume of human blood, and shareholders around the world have rejoiced.
As a retrocomputing reprobate, I have a personal dilection for printers of the vintage persuasion. My previous dalliances have involved fully fledged office copiers, but lately I’ve found myself tinkering with dot matrixes of a 1980s vintage. These workhorses are now reaching middle age, and as you’d expect, their ribbons are a little worse for wear after all this time.
Replacements are cheap enough for the most common printers, but shipping takes weeks and hackers are an impatient bunch. Plus, if you’ve got one of the more obscure models, it’s unlikely you’ll find a fresh cart just sitting on the shelf. It was these factors that spurred my good friend [Cosmos2000] and I into action.
After a youth spent playing with Amigas and getting into all sorts of trouble on the school computer network, I’ve always had a soft spot in my heart for hardware from the 80s and 90s. This extends beyond computers themselves, and goes so far as to include modems, photocopiers, and even the much-maligned dot matrix printer.
My partner in hacking [Cosmos2000] recently found himself with a wonderful Commodore MPS 1230 printer. Its parallel interface was very appropriate in its day, however parallel ports are as scarce as SID chips. Thankfully, these two interfaces are easy to work with and simple in function. Work on a device to marry these two disparate worlds began.
Enter: The Paralleloslam
While I was gallivanting around the Eastern coast of Australia, [Cosmos2000] was hard at work. After some research, it was determined that it would be relatively simple to have an Arduino convert incoming serial data into a parallel output to the printer. After some testing was performed on an Arduino Uno, a bespoke device was built – in a gloriously plastic project box, no less.
An ATMEGA328 acts as the brains of the operation, with a MAX232 attached for level conversion from TTL to RS232 voltage levels. Serial data are received on the hardware TX/RX lines. Eight digital outputs act as the parallel interface. When a byte is received over serial, the individual bits are set on the individual digital lines connected to the printer’s parallel port. At this point, the strobe line is pulled low, indicating to the attached device that it may read the port. After two microseconds, it returns high, ready for the next byte to be set on the output lines. This is how parallel interfaces operate without a clock signal, using the strobe to indicate when data may be read.
At this point, [Cosmos2000] reached out – asking if I had a name for the new build.
Dot matrix printers are the dinosaurs that won’t go extinct. They are not unlike a typewriter with the type bars behind the ink ribbon replaced by a row of metal pins controlled by solenoids, each pin being capable of printing a single pixel. At their best they could deliver a surprising level of quality, but their sound once heard is not forgotten, because it was extremely LOUD.
[Wpqrek] bought an old dot-matrix printer, a Commodore MPS 803. Sadly it didn’t live up to the dot-matrix reputation for reliability in that it didn’t work, some of its pins weren’t moving, so he set to on its repair. Behind each of those pins was a solenoid, and after finding a crack in the flexible ribbon to the head he discovered that some of the solenoids were open-circuit. On dismantling the head it became apparent that the wires had detached themselves from the solenoids, so he very carefully reattached new wires and reassembled the unit. Of course, he had no replacement for the flexible ribbon, so he made a replacement with a bundle of long lengths of flexible hook-up wire. This hangs out of the top of the printer as it follows the carriage, but for now it keeps the device working.
Sure there are the occasional functional Christmas tree ornaments; we had one that plugged into the lights and was supposed to sound like a bird gently trilling its song, but was in fact so eardrum-piercing that we were forbidden from using it. But in general, ornaments are just supposed to be for looks, right? Not so fast — this 3D-printed ornament has a 3D-printer inside that prints other ornaments. One day it might just be the must-have in functional Christmas decor.
Given that [Sean Hodgins] had only a few days to work on this tree-dwelling 3D-printer, the questionable print quality and tiny print volume can be overlooked. But the fact that he got this working at all is quite a feat. We were initially surprised that he chose to build a stereolithography (SLA) printer rather than the more common fused deposition modeling (FDM) printer, but it makes sense. SLA only requires movement in the Z-axis, provided in this case by the guts of an old DVD drive. The build platform moves in and out of a tiny resin tank, the base of which has a small LCD screen whose backlight has been replaced by a bunch of UV LEDs. A Feather M0 controls the build stage height and displays pre-sliced bitmaps on the LCD, curing the resin in the tank a slice at a time.
Results were mixed, with the tiny snowflake being the best of the bunch. For a rush job, though, and one that competed with collaborating on a package-theft deterring glitter-bomb, it’s pretty impressive. Here’s hoping that this turns into a full-sized SLA build like [Sean] promises.
The Computer History Museum in Mountain View has two operational IBM 1401 mainframes, which use IBM 1403 high-speed printers. They aren’t some decades-old notion of “high speed” that barely looks sluggish today, either. These monsters slam out ten lines per second thanks to a rotating chain of type slugs and an array of electromagnetic hammers. Every 11.1 microseconds, a character in the chain would be lined up with a hammer, and if the control circuitry identified it as a character that needed to be printed, the hammer behind the paper would drive the paper into the print ribbon and the slug, putting an imprint of the character onto the paper. When one of these printers failed with a sync error, it kicked off some serious troubleshooting to diagnose the problem.
Investigation of the problem ultimately led to an intermittent connection in a driver card due to a broken PCB trace, but by then some fuses had been blown as well. In the end the printer was brought back online, but possibly with a slightly damaged coil on one of the hammers.
[Ken]’s writeup on the repair process is highly detailed and walks through the kind of troubleshooting and repairs involved when solving problems with vintage electronics. Electrical fundamentals might be the same, but a deep understanding of not only the architecture but also the failure modes of vintage hardware is needed in order to troubleshoot effectively.
If IBM 1401 mainframes and fixing 1403 printers sounds familiar, it’s because a printer fix has been done before. That was due to a different problem, but still a challenging task to narrow down and fix.
We can tell that [Jon Howell] is our kind of guy. After updating his vintage 1985 Hewlett-Packard plotter with WiFi and the ability to load SVG files, he obviously needed to find a bunch of stuff to run off with it. Gotta justify those hacks somehow. So he doubled down and decided support a hack with another hack by writing a maze generator to keep his plotter well fed. He was kind enough to unleash his creation on an unsuspecting Internet as an open source project, and now we all can benefit from a couple of reams worth of mazes.
The generator itself is written in Java, and should work on whatever operating system your box happens to be running thanks to the *nix and Windows wrapper scripts [Jon] provides. To create a basic maze, one simply needs to provide the script with the desired dimensions and the paper size. You can define the type of paper with either standard sizes (such as --paper a4) or in the case of a plotter with explicit dimensions (--paper 36x48in).
If you aren’t a big fan of right angles, there’s support for changing the internal geometry of the maze to use a hexagonal or triangle grid. You can even pass the program a black and white PNG “mask” which it will use as the boundaries for the maze itself, allowing for personalized puzzles of whatever shape catches your fancy. [Jon] even ran the Wrencher though his software, leading to the creation of a maze which we can neither confirm nor deny will be making an appearance on our Christmas cards this year.