£D printed parts with glossy toner transfer images on

Add Full-Color Images To Your 3D Prints With Toner Transfer

Toner transfer is a commonly-used technique for applying text and images to flat surfaces such as PCBs, but anybody who has considered using the same method on 3D prints will have realized that the heat from the iron would be a problem. [Coverton] has a solution that literally turns the concept on its head, by 3D printing directly onto the transparency sheet.

instrument panel design with toner transfer markings
The fine detail is great for intuitive front-panel designs

The method is remarkably straightforward, and could represent a game-changer for hobbyists trying to achieve professional-looking full-color images on their prints.

First, the mirrored image is printed onto a piece of transparency film with a laser printer. Then, once the 3D printer has laid down the first layer of the object, you align the transparency over it and tape it down so it doesn’t move around. The plastic that’s been deposited already is then removed, and a little water is placed on the center of the bed. Using a paper towel, the transparency gets smoothed out until the bubbles are pushed off to the edges.

Another few pieces of tape hold the transparency down on all corners, and the hotend height is adjusted to take into account the transparency thickness. From there, the print can continue on as normal. When finished, the image should be fused with the plastic. If it’s hard to visualize, check out the video after the break for a step-by-step guide.

There are, of course, some caveats. Aligning the transfer and the print looks a little fiddly at the moment, the transparency material used (obviously) has to be rated for use in laser printers, and it only works on flat surfaces. But on the other hand, there will be some readers who already have everything they need to try this out at home right now — and we’d love to see the results!

We’ve covered some other ways to get color and images onto 3D prints in the past, such as this hydrographic technique or by using an inkjet printhead, but [Coverton]’s idea looks much simpler than either of those.  If you’re interested in toner transfer for less heat-sensitive materials, then check out this guide from a few years back, or see what other Hackaday readers have been doing on wood or brass.

Continue reading “Add Full-Color Images To Your 3D Prints With Toner Transfer”

An All-In-One Serial Printer Playground

One of the peripherals of most desire for a microcomputer-obsessed youth in the 1980s was a printer, probably a dot-matrix device. In the decades since, printers have passed into being almost a piece of discardable junk as cheap inkjets can be found in any garage sale. That’s not to say that there’s not plenty of fun to be had hacking older types though, and there are plenty of small thermal printers out there to play with. [Tanmoydutta] has provided a platform that may help, in the form of an ESP32-C3-based serial printer controller.

On board is a level shifter for the 5 volt printer electronics and all the appropriate connectors for the printer, as well as the ESP and onboard USB interface. It’s a networked print server, but one which is entirely and completely hackable. We think the printer in question is this one sold by Adafruit.

So this board makes easier a whole host of printer-related projects, and should you try it you will no doubt finding yourself ankle-deep in little curly pieces of paper. This printer’s not the only one in town though, don’t forget the cheap Bluetooth printers!

New Gear Saves Old Printer

As the digital photographic revolution took off, and everyone bought a shiny new film-less camera, there was a brief fad for photo printers. The idea was you’d have the same prints you’d always had from film, but the media for these printers would invariably cost a fortune so consumers moved on pretty quickly.

Now the pop up in second-hand stores and the like, which is how [Amen] acquired a Canon Selphy 740. It didn’t work, and on investigation it was found that a particularly tiny plastic gear had failed. Most people would have tossed the printer in the trash, but they instead opted to CNC-machine a new gear. It’s not everyday you tackle a job this small, so it makes for an interesting tale.

While the first instinct might be to reach reach for a CAD package, [Amen] instead wrote a script to create the raw GCode. The machining is done with a 0.2 mm bit ground to the desired profile. The result: a gear that gets the printer working again. It’s a dye-sublimation printer that leaves a negative image in the cartridge, allowing negative prints to be made with a bit of cartridge rewinding. And for those who might have ended up with a Selphy of their own, there’s a further post about using cheaper aftermarket cartridges.

Continue reading “New Gear Saves Old Printer”

No ARM Printer Driver? Just Write Your Own

When you think of the small machines that print the sticky labels on packages, you might not expect to find a complex printer with its own programming language (ZPL). However, [Dan Pastusek] was looking around online and found a small label printer on everyone’s favorite online warehouse for a great price that suggested it supported ZPL. Unfortunately, [Dan] had big dreams for creating a Raspberry Pi-based print station and found the drivers packaged for this particular printer were not ARM compatible. Not quite content to leave it there, he began to chip away at the layers until he had a working driver.

ZPL, at its core, is just a language describing ASCII commands transmitted over a serial connection. So while the printer showed up as an endpoint, it wasn’t working as the filters (the part of the driver that knows how to convert from a PNG to ZPL) was x86 only. On Linux, printer drivers also have a PPD file that describes what a printer can handle in paper size and other settings. The PPD file for the little printer gave the first clue. In the ShortNickName field, it identifies itself as HPRT N41, which is a popular HP printer. So this little printer must be a clone of a printer in that family. Notably, they don’t support ZPL. Instead, the HPRT series support TSPL, another printer language developed by TSC.

This presented a problem as the shipping service that provided the labels that [Dan] was using offered labels in three formats: PNG, PDF, and ZPL. Currently, it does seem like there’s a TSPL to ZPL converter out there for use, so rather than write his own, he took a shortcut and wrote a rasterizer instead. Initially, he tried to use some sample code that he found, and while he got something to come out of the printer, it was blank. So the next test was to save the raw TSPL output from a filer and cat directly to the serial port. This worked amazingly. Next, he wrote a converter to take a PNG and convert them into the bitmap format the TSPL has. The converter is in Javascript as it runs as part of the webserver that manages the print station. Could it be faster in a different language? Sure. But a different language wouldn’t make the printer any faster.

With the addition of a wireless barcode scanner, it’s satisfying to see the print station up and running. Here at Hackaday, we’re no stranger to seeing folks take apart printers to peel back the software and physical layers that make them up.

Reverse Engineering: Trash Printer Gives Up Its Control Panel Secrets

Many of us hardware-oriented types find it hard to walk past a lonely-looking discarded item of consumer electronics without thinking “If only I could lug that back to the car and take it home to play with” and [phooky] from NYC Resistor is no stranger to this sentiment. An old Epson WF-2540 inkjet printer was disassembled for its important ‘nutrients,’ you know, the good stuff like funky motors, encoders and switches. But what do you do with the control panel? After all, they’re usually very specific to the needs of the device they control, and don’t usually offer up much scope for reuse.

The RP2040 PIO is quite capable of pushing out those LCD pixels

[phooky] doesn’t usually bother with them, but this time decided to have a crack at it for fun. Inside, nothing out of the ordinary, with a large single-sided PCB for the key switches and LEDs, and a small PCB hosting the LCD display. The easy part was to figure out how the keyboard scanning was done, which turned out to be pretty simple, it just uses some 74-series shift register devices to scan the columns and clock out the row lines. A Raspberry Pi Pico module was pressed into service to scan the keyboard and enable a keyboard map to be created, by pure brute-force. No need to trace the circuit.

Things got interesting when [phooky] started looking into the LCD interface, based on the Epson E02A46EA chip (good luck finding a datasheet for that one!) and quickly realised that documentation simply wasn’t available, and it would be necessary to do things the hard way. Poking around the lines from the main CPU (an Epson E01A9CA , whatever that is) the display clock was identified, as well as some control signals, and three lines for the RGB channels. By throwing a Saleae data capture into some ROM exploring software, the display configuration was determined to be a standard 320×120 unit.

The PIO unit of the RP2040 was used to generate the video waveforms and push the pixels out to the LCD controller, allowing the RP2040 board to be wired inside the case permanently, converting the control panel into a USB device ready for action!

Want to know a little more about reverse engineering junk (or not) items and repurposing them to your will? Checkout this hacking piece from a couple of weeks back. For something a little more advanced, you could try your hand at a spot of car ECU hacking.

Thanks [Perry] for the tip!

Belt-drive 3D-printer extruder

Back-to-Back Belts Drive Filament In This Unique Extruder Design

It’s hard to say when inspiration will strike, or what form it’ll take. But we do know that when you get that itch, it’s a good idea to scratch it, because you might just end up with something like this cool new design for a 3D printer extruder as a result.

Clearly, the world is not screaming out for new extruder designs. In fact, the traditional spring-loaded, toothed drive wheel on a stepper really does the job of feeding filament into a printer’s hot end just fine, all things considered. But [Jón Schone], aka Proper Printing on YouTube, got the idea for his belt-drive extruder from seeing how filament manufacturers handle their products. His design is a scaled-down version of that, and uses a pair of very small timing belts that run on closely spaced gears. The gears synchronize the movement of the two belts, with the filament riding in the very narrow space between the belts. It’s a simple design, with the elasticity of the belt material eliminating the need for spring pre-loading of the drive gears.

Simple in design, but not the easiest execution. The video below tells [Jón]’s tale of printing woe, from using a viscous specialty SLA resin that was really intended for a temperature-controlled printer, to build tank damage. The completed extruder was also a bit too big to mount directly on the test printer, so that took some finagling too. But at the end of the day, the idea works, and it looks pretty cool doing it.

As for potential advantages of the new design, we suppose that remains to be seen. It does seem like it would eliminate drive gear eccentricity, which we’ve seen cause print quality issues before.

Continue reading “Back-to-Back Belts Drive Filament In This Unique Extruder Design”

Coding A Custom Driver For The Adafruit Mini Thermal Printer

Thermal printers are cool… or, uh, warm actually. They use heat to make images, so they never need ink and they print on receipt rolls. The thermal printer available from Adafruit is a particularly tasty example, as it comes fully documented for the budding hacker. [Ed] is one such person, who set about writing his own driver to use the hardware with Linux on a Raspberry Pi.

The project came about as [Ed] didn’t like the halftone output from the standard Adafruit CUPS driver. Thus, a dithering-capable driver was needed instead. The first step of the project was to get dithering working via running such an algorithm into a custom driver, as well as to vary the heating time of the print head to gain greyscale capability. From there, the driver was integrated with CUPS and could be used with the Linux lp command. Finally, measures to deal with the paper running out were coded in as well.

It’s a fun dive into the nitty-gritty of talking to printers at the low level, something that few of us think about when printing concert tickets in a rush. There’s a lot that goes on to get a page to print successfully, and [Ed]’s work leaves us more respect for everything that goes on to get an image on the paper. The driver is available for keen tinkerers over at Github.

Meanwhile, consider a thermal printer for all your banner-printing needs.