Author Topic: Laser printer hack  (Read 10323 times)

0 Members and 2 Guests are viewing this topic.

Offline ali_asadzadehTopic starter

  • Super Contributor
  • ***
  • Posts: 2139
  • Country: ca
Laser printer hack
« on: July 20, 2017, 01:28:53 pm »
Hi,
I'm curious about these laser printers, do we have any standard bus or protocol or datasheet to interface normal MCU's to the printing head to control it? Do you have any idea?
ASiDesigner, Stands for Application specific intelligent devices
I'm a Digital Expert from 8-bits to 64-bits
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 18111
  • Country: 00
Re: Laser printer hack
« Reply #1 on: July 20, 2017, 04:32:13 pm »
Which laser printers?  :-//

 
The following users thanked this post: alm

Offline Richard Crowley

  • Super Contributor
  • ***
  • Posts: 4319
  • Country: us
  • KJ7YLK
Re: Laser printer hack
« Reply #2 on: July 20, 2017, 06:14:30 pm »
Hi,
I'm curious about these laser printers, do we have any standard bus or protocol or datasheet to interface normal MCU's to the printing head to control it? Do you have any idea?
Highly unlikely. Those are high-speed, full-custom circuits and furthermore, they are designed to be manufactured to a price-point.  Any one of those factors would make any sort of "standard" unlikely.
 

Online JacobPilsen

  • Regular Contributor
  • *
  • Posts: 171
  • Country: cz
Re: Laser printer hack
« Reply #3 on: July 21, 2017, 07:37:12 pm »
Isn't it ARM at all???

Back in 1984 it was Motorola 68000.
What else?
 

Offline Richard Crowley

  • Super Contributor
  • ***
  • Posts: 4319
  • Country: us
  • KJ7YLK
Re: Laser printer hack
« Reply #4 on: July 21, 2017, 08:49:44 pm »
Isn't it ARM at all???
What does "ARM" mean?
There are probably at least 1000 variations on "ARM".  Only the "core" is standard. And nobody makes a "raw core" ARM chip.
The ARM controllers found in pretty much everything are either semi-custom or full-custom.
 

Offline C

  • Super Contributor
  • ***
  • Posts: 1346
  • Country: us
Re: Laser printer hack
« Reply #5 on: July 21, 2017, 09:07:34 pm »
Think some are thinking the wrong way

The printers that I know of do not print a page.
They print the page in bands of page width.
For 11in paper this might be 1in bands, so the page buffer is printed 11 times with only what fits in band stored in dot buffer.
With two dot buffers, one can run laser while CPU is filling the second..

With cheap memory today, I would guess that three or more buffers are used.
In addition
The laser is sweep across the page with a multi-sided mirror with an optical encoder that drives the dot generation.

comparing to a PC
Your video card generates the data & timing and feeds it to monitor.
The timing is in the monitor side and pulls the data as needed.

 

 
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4720
  • Country: au
  • Question Everything... Except This Statement
Re: Laser printer hack
« Reply #6 on: July 21, 2017, 09:21:08 pm »
your fastest method would likely be to focus on network printer, say a second hand mid office one (e.g. hp laserjet), you can then easily log the network packets and figure out what you need to send. I suggested HP because networking on one is similar for many of there models
 

Offline C

  • Super Contributor
  • ***
  • Posts: 1346
  • Country: us
Re: Laser printer hack
« Reply #7 on: July 21, 2017, 11:26:55 pm »
If you just want to talk to a laser printer.

For formating print PCL6 or postscript
older printers use PCL5

For network printer you can find the IP port to send to on printer config page.
 

Offline ali_asadzadehTopic starter

  • Super Contributor
  • ***
  • Posts: 2139
  • Country: ca
Re: Laser printer hack
« Reply #8 on: July 22, 2017, 06:15:53 am »
Thanks for your hints, Please do not worry about the MCU that I just said, I will use something that has enough power, say for example some Cortex A parts, like Raspberry PI , beagle bone or a custom designed PCB, I juts wanted to be able to control the printing mechanism or head, I would also like to trough away all the mechanical parts and I would build some custom mechanics for it!  In short terms I just wanted to build a custom printer for a custom job ;) I thought It would be much easier and affordable to prove the  concept even mass market it with ready off the shelve laser printer spare parts.  :) ;)
ASiDesigner, Stands for Application specific intelligent devices
I'm a Digital Expert from 8-bits to 64-bits
 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 11298
  • Country: fi
Re: Laser printer hack
« Reply #9 on: July 22, 2017, 07:43:54 am »
It's probably easiest to skip all the control logic chips (MCU, ASIC or whatever) and just do it yourself. Basically, a laser printer print head is nothing more than a simple laser diode, a motor (you can utilize the motor driver circuit; it's probably based on an off-the-shelf BLDC control chip and provides speed feedback) rotating a mirror, and a feedback phototransistor that gives a pulse each time the laser hits the side so that you can sync the pixel generation frequency. Then all you basically need is to PID control the motor to run at a constant speed, modulate the laser using an IO pin on any MCU you are familiar with, while locked into the frequency given from the pulses from the phototransistor.
« Last Edit: July 22, 2017, 07:45:34 am by Siwastaja »
 

Offline Alex Eisenhut

  • Super Contributor
  • ***
  • Posts: 3732
  • Country: ca
  • Place text here.
Re: Laser printer hack
« Reply #10 on: July 22, 2017, 03:33:32 pm »
Siwastaja got it right, as usual. My ancient HP 5L has 1 MB memory by default and somehow manages to run the entire firmware and image in there.

The more complicated part is all the mechanical monstrosity after and before the laser. Getting the fuser to the right temperature, getting the corona wire to work, moving the paper constantly, etc.

There's also a nice piece of glass in there that turns the beam always normal to the paper. Do all laser printers have that? I would guess so to keep the spot size small.

Hoarder of 8-bit Commodore relics and 1960s Tektronix 500-series stuff. Unconventional interior decorator.
 
The following users thanked this post: Siwastaja

Offline georges80

  • Frequent Contributor
  • **
  • Posts: 932
  • Country: us
Re: Laser printer hack
« Reply #11 on: July 22, 2017, 04:43:23 pm »
In the time before dinosaurs I subcontracted to design a laser printer control board for Xerox. I also designed various other laser printer control boards and did some prototypes for Canon to wean the off the 68000 they were using (they were the OEM for HP at the time, i.e. the laserjet 1 and 2 were Canon printers, including the PCL firmware development).

Anyhow, the old laser printers did not have enough dram for a full page buffer (dram was expensive). So, they actually rendered a band (double buffered) at a time and that was then serialized to drive the laser one raster row at a time). The printer had to perform bitblt operations to render the fonts etc. Firmware had to keep up with the overall frame rate or the page would be a disaster. Basically you received 'sync' signals to know that the laser mechanism (spinning mirror assy) had reached the start of the new line and then you clocked out the bit stream at the necessary rate (to achieve 300dpi etc). There were of course all the other GPIO signals to activate the fuser, verify temperature, activate page feed, sense various paper jam switches, output information to the monochrome LCD, turn on various indicator LEDs etc etc. On a paper jam recovery (user unjammed the paper feed path) the printer would have enough storage (since it still had the original text information stored) to be able to recover and reprint successfully.

Newer printers had more and more dram as cost dropped, full frame buffers came into existence and thus full page graphic downloads (bitmaps) can to being. DPI went up, various enhancements came about for sub-pixel printing to improve font quality. More downloaded fonts came to being, font scaling came about (adobe postscript appeared), new versions of PCL came about. Page print rates went up. More processor and dram was required. Custom asics/fpga's became the norm as their costs dropped.

Bottom line is that there is NO standard in how a laser printer's internal interface has evolved. It is not a particularly complicated affair to interface to the various optomechanical or electromechanical subassemblies, but it certainly isn't a standard and would require reverse engineering to understand the various signals, voltages and timing that is needed to successfully replicate the OEM functions. The firmware is relatively complicated to deal with all the aspects of printing (including keeping track of toner usage), paper jam recovery, needing to be 100% compatible with existing formats, etc. A lot more complicated now than an old laserjet 1 or 2...

I can't see the point...

cheers,
george.
 
The following users thanked this post: SeanB, Richard Crowley, tooki, alm

Online nali

  • Frequent Contributor
  • **
  • Posts: 897
  • Country: gb
Re: Laser printer hack
« Reply #12 on: July 22, 2017, 05:40:08 pm »
Bottom line is that there is NO standard in how a laser printer's internal interface has evolved.

Didn't the Canon SX era LaserJets have an OEM "video interface"? I can't remember if it was provided by Canon or HP, but there was definitely an interface or card slot for companies to drive the engine directly.
 

Offline georges80

  • Frequent Contributor
  • **
  • Posts: 932
  • Country: us
Re: Laser printer hack
« Reply #13 on: July 22, 2017, 06:15:17 pm »
Bottom line is that there is NO standard in how a laser printer's internal interface has evolved.

Didn't the Canon SX era LaserJets have an OEM "video interface"? I can't remember if it was provided by Canon or HP, but there was definitely an interface or card slot for companies to drive the engine directly.

Yes, used to interface to an external controller like a postscript engine. But that's ancient history and hardly a 'standard' that you can just 'hook up a general microcontroller to...'

The real questions are 1) what happened to the OP and 2) what was the OP's reason to want to do it?

cheers,
george.
 

Offline ali_asadzadehTopic starter

  • Super Contributor
  • ***
  • Posts: 2139
  • Country: ca
Re: Laser printer hack
« Reply #14 on: July 23, 2017, 10:01:15 am »
Thanks george, you Brighten us a lot, also Siwastaja  your way of seeing it helped me a lot. I wanted to do it, So any help like identifying any printer model laser module or connectors and signals, would highly appreciated! :) I think if I could reach a point to be able to stream a serial bit stream for a single line of printing I can manage to do the rest!
ASiDesigner, Stands for Application specific intelligent devices
I'm a Digital Expert from 8-bits to 64-bits
 

Offline dnwheeler

  • Regular Contributor
  • *
  • Posts: 86
  • Country: us
Re: Laser printer hack
« Reply #15 on: July 24, 2017, 03:41:03 pm »
Bottom line is that there is NO standard in how a laser printer's internal interface has evolved.

Didn't the Canon SX era LaserJets have an OEM "video interface"? I can't remember if it was provided by Canon or HP, but there was definitely an interface or card slot for companies to drive the engine directly.

Yes, used to interface to an external controller like a postscript engine. But that's ancient history and hardly a 'standard' that you can just 'hook up a general microcontroller to...'


Atari actually sold Canon-built laser printers (branded as the Atari SLM804) without a processor or RAM. It relied on the host computer (Atari ST, 8 MHz 68000) to generate the "video" data and stream it in real time (using DMA) to the printer engine. Many Atari ST models didn't have enough memory for an entire page buffer, so it was tricky doing much more than simple text-only printing, or bitmaps streamed from hard disk.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

-->