Visualizing LEDs For More Efficient Pin Packing

The archetypal “blink an LED” is a great starter project on any platform, but once the bug takes hold that quickly turns into an exploration of exactly how many LEDs a given microcontroller can drive. And that often leads to Charlieplexing. A quick search yields many copies of The Table describing how many LEDs can be driven by a given number of pins but that’s just the most rudimentary way to describe it. Way back in 2013 [M Rule] developed a clever trick to describe the number of LED matrices which can be driven by a Charlieplexed array of a given size that makes this process much more intuitive. The post may be old, but we promise the method is still fresh.

[M Rule] was specifically looking to drive those big, cheap single color LED matrices which are often used to make scrolling signs and the like. These parts are typically a matrix of LEDs with a row of common cathodes and one of common anodes. Internally they are completely dumb and can be driven by row/column scanning, or any other way a typical matrix can be controlled. The question is, given known matrix sizes, how many can be driven with a a number of Charlieplexed LED drive pins?

The first step is to visualize the 1D array of available pins as a 2D matrix, as seen to the right. Note each numbered pin is the same on the X and Y, thus the black exclusion zone of illegal drive pin combinations slicing across the graph (you can’t drive an LED connected to one pin twice). The trick, if one were to say it resides in a single place, would be titling the axis anode and cathode, representing two “orientations” the drive pins can be put in. With this diagram [M Rule] observed you can simply drop a matrix into the array. If it fits outside the exclusion zone, it can be driven by those pins!

To the left is what this looks like with two 8×8 matrices, one connected between pins 1-8 and 9-16, the other connected between 9-16 and 1-8. This isn’t terribly interesting, but the technique works just as well with single LEDs and any size matrix, including 7-segment displays. Plus as long as an element doesn’t overlap itself it can wrap around the edges leading to some wild visuals, like 14 RGB LEDs on seven pins to the right.

The most extreme examples are pretty exotic. Check out [M Rule]’s post for the crown jewel; 18 pins to drive six 5×7 modules, six 7-segment displays, 12 single LEDs, and 18 buttons!

If this color coded diagram seems familiar, you may be remembering [openmusiclabs]’ excellent diagram describing ways to scan many of buttons. Or our coverage of another trick of matrix topology by [M Rule] from a few weeks ago.

Reinking Dot Matrix Printer Ribbons Because It’s Fun, Okay

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.

Continue reading “Reinking Dot Matrix Printer Ribbons Because It’s Fun, Okay”

Arduino Converts Serial To Parallel: The Paralleloslam

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.

“Hm. Paralleloslam?”

“Done. Cheers!”

Continue reading “Arduino Converts Serial To Parallel: The Paralleloslam”

Relive The Dot Matrix Glory Days With Your 3D Printer

With the cost of 3D printers dropping rapidly, we’ve started to see a trend of hackers re-purposing them for various tasks. It makes perfect sense; with the hotend and extruder turned off (or removed entirely), you’ve got a machine that can move a tool around in two or three dimensions with exceptional accuracy. Printers modified to carry lasers, markers, and even the occasional rotary tool, are becoming a common sight in our tip line.

Last year [Matthew Rayfield] attached a marker to his 3D printer and had it sketch out some pictures, but recently he decided to revisit the idea and try to put a unique spin on it. The end result is a throwback to the classic dot matrix printers of yore utilizing decidedly modern hardware and software. There’s something undeniably appealing about the low-fi nature of dot matrix printing, and when fed the appropriate images this setup is capable of producing something which we’ve got to admit is dangerously close to being art.

To create these images, [Matthew] has created “Pixels-to-Gcode”, an online service that anyone can use to turn an arbitrary image into GCode they can feed their 3D printer. There’s a number of options available for you to play with so you can dial in the specific effect you’re looking for. Pointillist images can be created using a tight spacing of dots, but widen them up, and your final image becomes increasingly abstract.

The hardware side of this project is left largely as an exercise for the reader. [Matthew] has attached a fine-point pen to his printer’s head using a rubber band, but admits that it’s far from ideal. A more robust approach would be some kind of 3D printed device that allows you to quickly attach your pen or marker so the printer can be easily switched between 2D and 3D modes. We’d also be interested in seeing what this would look like if you used a laser mounted on the printer to burn the dots.

Back in the ancient days of 2012, we saw somebody put together a very similar project using parts from floppy and optical drives. The differences between these two projects, not only in relative difficulty level but end result, is an excellent example of how the hacker community is benefiting from the widespread availability of cheap 3D motion platforms.

Continue reading “Relive The Dot Matrix Glory Days With Your 3D Printer”

Restoring A Forgotten Dot-Matrix Printer

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.

Dot-matrix printers are a favourite for our readership. Among others, we’ve seen another Commodore get the Python treatment, as well as an Apple capable of printing in full colour.

Full Color Dot Matrix Is The Art We Need

Fans of 80s-era computer printing technology are few and far between, but Apple’s ImageWriter II was a beast of a printer. This tractor feed dot-matrix printer is nigh-indestructible. The print quality was actually pretty great. It was loud as hell, which is a mark of quality electromechanical components. It could do color, and color dot-matrix art on tractor feed paper is the aesthetic we need. If you’re not convinced yet, you can also take off the perforations from tractor feed paper and make a cool little paper snake.

[Dandu] isn’t one to let things like serial printers and obsolete color dot matrix ribbons get in his way of creating ImageWriter art. A while ago, he printed off some incredible art using some obsolete equipment, and the results are better than what you would expect.

The process for creating full-color art on a dot-matrix printer was to plug the ImageWriter into an old Mac (an LC III in this case, with 12 MB of RAM). Photoshop (version 3.0!) was used to open a JPEG, and MacPallete II used to send the data to the printer. This isn’t a process that prints all the colors all at once; first the yellow is printed, and the tractor feed paper is brought back to the beginning. Then the magenta is printed, then the cyan, then the black. The single page of art took 20 minutes to print, and you can see a sped-up version of this process below.

Yes, the ImageWriter II can print in full color, but who cares about this now? A few people apparently — a company is now remanufacturing ImageWriter II color ribbons — opening the door to retro art for all. Yes, that ImageWriter in your basement still works, so let’s see what you can do with it.

Continue reading “Full Color Dot Matrix Is The Art We Need”

Air Bubble Characters Float Along This Unique Scrolling Display

We’ve seen a lot of unique large-format scrolling message boards on these pages, but most of them use some sort of established technology – LEDs, electromechanical flip-dots, and the like – in new and unusual ways. We’re pretty sure this air-bubble dot matrix display is a first, though.

While it may not be destined for the front of a bus or a train station arrivals and departures board, [jellmeister]’s bubble display shows some pretty creative thinking. It started with a scrap of multiwall polycarbonate roofing – Corotherm is the brand name – of the type to glaze greenhouses and other structures. The parallel tubes are perfect for the display, although individual tubes could certainly be substituted. A plastic end cap was fabricated; air nozzles in each channel were plumbed to an air supply through solenoid valves. An Arduino with a couple of motor driver hats allows pulses of air into each channel to create reasonably legible characters that float up the tube. The video below shows it in use at a Maker Faire, where visitors could bubble up their own messages.

It took some tweaking to get it looking as good as it does, but there’s plenty of room for improvement. We wonder whether colored liquid might help, or perhaps adding a Neopixel or even a laser to each channel to add some contrast. Maybe something to cloud the water slightly would help; increasing the surface tension with a salt solution might make the bubbles more distinct. We doubt it’ll ever have the contrast ratio of a flip-dot display, but it certainly has a charm all its own.

Continue reading “Air Bubble Characters Float Along This Unique Scrolling Display”