Yahoo Groups archive

Homebrew_PCBs

Index last updated: 2026-03-31 23:13 UTC

Thread

Homemade flatbed inkjet pcb printer

Homemade flatbed inkjet pcb printer

2008-04-06 by v_sahin

Hi All,
I spent couple of months(~4 months) to design my own flat bed inkjet
printer and finally I could get some printouts. It is based on Epson
inkjet head and X-axis mechanics. I designed required drive
electronics, head drive signals, servo control, frame buffer and micro
controller to communicate and manage the circuit. On PC side I
developed RIP (raster Image Processor) that is used to convert bmp
image to the printers frame buffer format and interface program to
control the printer. In this design all time critical jobs are done by
fpga. Microcontroller supports minimum basic commands such as x/y
positioning, servo control, frame buffer download, piezo drive
waveform download and activate inkjet firing, it is also responsible
to do USB interface. The remaining control is done by the control
program running on PC side.
I did only a few experiments and saw that 4/4 (trace width / space) is
possible to do if I can do uniform etching ( under etching is also an
issue).
I'll try to upload printed image and original bmp image used during
printing. As you'll see original image is perfect. Later I'll do some
performance tests and try to post the results. This printer can do
720x720 dpi and images that I'll upload are printed at that resolution.
Uploaded images will be under
http://tech.groups.yahoo.com/group/Homebrew_PCBs/files/Epson_inkjet_Volkan/

Note: I don't know whether the details of the design is an off topic
or not for this group. I need feedback from Steve.

Cheers,
Volkan

Re: [Homebrew_PCBs] Homemade flatbed inkjet pcb printer

2008-04-06 by Volkan Sahin

Sorry for typo.
"As you'll see original image is perfect" should be "As you'll see original image is not perfect."
Cheers
Volkan

v_sahin <v_sahin@...> wrote: Hi All,
I spent couple of months(~4 months) to design my own flat bed inkjet
printer and finally I could get some printouts. It is based on Epson
inkjet head and X-axis mechanics. I designed required drive
electronics, head drive signals, servo control, frame buffer and micro
controller to communicate and manage the circuit. On PC side I
developed RIP (raster Image Processor) that is used to convert bmp
image to the printers frame buffer format and interface program to
control the printer. In this design all time critical jobs are done by
fpga. Microcontroller supports minimum basic commands such as x/y
positioning, servo control, frame buffer download, piezo drive
waveform download and activate inkjet firing, it is also responsible
to do USB interface. The remaining control is done by the control
program running on PC side.
I did only a few experiments and saw that 4/4 (trace width / space) is
possible to do if I can do uniform etching ( under etching is also an
issue).
I'll try to upload printed image and original bmp image used during
printing. As you'll see original image is perfect. Later I'll do some
performance tests and try to post the results. This printer can do
720x720 dpi and images that I'll upload are printed at that resolution.
Uploaded images will be under
http://tech.groups.yahoo.com/group/Homebrew_PCBs/files/Epson_inkjet_Volkan/

Note: I don't know whether the details of the design is an off topic
or not for this group. I need feedback from Steve.

Cheers,
Volkan






---------------------------------
You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost.

[Non-text portions of this message have been removed]

Re: [Homebrew_PCBs] Homemade flatbed inkjet pcb printer

2008-04-06 by agscal -AGSCalabrese

I would love to learn about your design.
Gus


Show quoted textHide quoted text
On Apr 6, 2008, at 11:19 AM, Volkan Sahin wrote:

Sorry for typo.
"As you'll see original image is perfect" should be "As you'll see
original image is not perfect."
Cheers
Volkan

v_sahin <v_sahin@...> wrote: Hi All,
I spent couple of months(~4 months) to design my own flat bed inkjet
printer and finally I could get some printouts. It is based on Epson
inkjet head and X-axis mechanics. I designed required drive
electronics, head drive signals, servo control, frame buffer and micro
controller to communicate and manage the circuit. On PC side I
developed RIP (raster Image Processor) that is used to convert bmp
image to the printers frame buffer format and interface program to
control the printer. In this design all time critical jobs are done by
fpga. Microcontroller supports minimum basic commands such as x/y
positioning, servo control, frame buffer download, piezo drive
waveform download and activate inkjet firing, it is also responsible
to do USB interface. The remaining control is done by the control
program running on PC side.
I did only a few experiments and saw that 4/4 (trace width / space) is
possible to do if I can do uniform etching ( under etching is also an
issue).
I'll try to upload printed image and original bmp image used during
printing. As you'll see original image is perfect. Later I'll do some
performance tests and try to post the results. This printer can do
720x720 dpi and images that I'll upload are printed at that resolution.
Uploaded images will be under
http://tech.groups.yahoo.com/group/Homebrew_PCBs/files/
Epson_inkjet_Volkan/

Note: I don't know whether the details of the design is an off topic
or not for this group. I need feedback from Steve.

Cheers,
Volkan





---------------------------------
You rock. That's why Blockbuster's offering you one month of
Blockbuster Total Access, No Cost.

[Non-text portions of this message have been removed]






[Non-text portions of this message have been removed]

Re: [Homebrew_PCBs] Homemade flatbed inkjet pcb printer

2008-04-06 by Cristian

>printer and finally I could get some printouts. It is based on Epson
>inkjet head and X-axis mechanics.


Why not use a CNC Drilling Machine instead of a new XY mechanism?
You can attach the printing head to the CNC Machine's tool holder.
If you can software align the printed holes with the drill position,
you'll get a full PCB machine: drill, print, etch.
Cristian

Re: [Homebrew_PCBs] Homemade flatbed inkjet pcb printer

2008-04-06 by Volkan Sahin

Hi Cristian,
It was an another option but since head load is not too much CNC machine could be a burden and printers are not vector based devices.
On x-axis indeed you don't need any feedback during printing. Your firing positions come from linear encoder by this way you can run motor (x-axis) freely.

You need a clean area to avoid any dust because of that I don't know whether it is a good idea to use the same machine for drilling/printing or not. If dust is on the trace, sometimes it becomes a part of resist but if it is between traces then it can create a bridge.

One more thing that forces me to use Epson's X-axis and piezo head holder is the mechanical alignment of the head and you need to cover inkjet head at parking position to avoid ink drying.
I tried to make things easier at the initial phase of the project.

Cheers,
Volkan



Cristian <bip@...> wrote:
Show quoted textHide quoted text
>printer and finally I could get some printouts. It is based on Epson
>inkjet head and X-axis mechanics.

Why not use a CNC Drilling Machine instead of a new XY mechanism?
You can attach the printing head to the CNC Machine's tool holder.
If you can software align the printed holes with the drill position,
you'll get a full PCB machine: drill, print, etch.
Cristian






---------------------------------
You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost.

[Non-text portions of this message have been removed]

Re: Homemade flatbed inkjet pcb printer

2008-04-07 by pork_u_pine2000

--- In Homebrew_PCBs@yahoogroups.com, "v_sahin" <v_sahin@...> wrote:
> Hi All,
> I spent couple of months(~4 months) to design my own flat bed inkjet
...
Show quoted textHide quoted text
> Note: I don't know whether the details of the design is an off topic
> or not for this group. I need feedback from Steve.

I am fascinated by what you are doing. I would dearly love to know
more about your work. It sounds as if you are getting excellent
results after putting in a *lot* of hard work, doing things in what
seems to me one of the best ways.

A design done in FPGA may not excite the maximum amount of interest
amongst all readers here, but I can see how doing the design this way
gives control over critical parameters you might not be able to
optimize otherwise.

I can only speak for myself, but this seems eminently on-topic to me.

-- Dave

Re: Homemade flatbed inkjet pcb printer

2008-04-07 by Steve

I would say yes, on topic.

Steve Greenfield

Show quoted textHide quoted text
--- In Homebrew_PCBs@yahoogroups.com, "v_sahin" <v_sahin@...> wrote:
>
> Hi All,
> I spent couple of months(~4 months) to design my own flat bed inkjet
> printer ...
> Note: I don't know whether the details of the design is an off topic
> or not for this group. I need feedback from Steve.
>
> Cheers,
> Volkan
>

Re: [Homebrew_PCBs] Homemade flatbed inkjet pcb printer

2008-04-07 by Cristian

>
>You need a clean area to avoid any dust because of that I don't know
>whether it is a good idea to use the same machine for drilling/printing

Is to get the speed and precision of the cnc when drilling.
Also to get all on a single machine, using available HPGL or Gerber programs.

Show quoted textHide quoted text
>or not. If dust is on the trace, sometimes it becomes a part of
>resist but if it is between traces then it can create a bridge.

You can drill, vacuum clean, change the drill head with the print one
and print.
No dust.

Re: [Homebrew_PCBs] Re: Homemade flatbed inkjet pcb printer

2008-04-07 by Volkan Sahin

Hi Dave,
I think we need to use fpga because of timing issues. If we assume that scanning 1 line (8" width paper/pcb) requires 1 sec and we're trying to print at 720dpi, this means that we have 1/(8*720) sec or 174 microseconds for each dot. During this time you also need to download next position data to the head. The alternative solution can be not to print at 720dpi and do multiple pass to achieve 720dpi.
Another issue the timing needs to be precise otherwise it can cause inconsistency in dot positions.
The inkjet head that I'm using requires 212bits for each color (90 nozzles/color) and uses double edge clocking for the sampling. From that your clock frequency should be at least 700kHz.

Because of above reasons I have decided to use fpga.

Cheers,
Volkan


pork_u_pine2000 <wittend@...> wrote: --- In Homebrew_PCBs@yahoogroups.com, "v_sahin" <v_sahin@...> wrote:
> Hi All,
> I spent couple of months(~4 months) to design my own flat bed inkjet
...
Show quoted textHide quoted text
> Note: I don't know whether the details of the design is an off topic
> or not for this group. I need feedback from Steve.

I am fascinated by what you are doing. I would dearly love to know
more about your work. It sounds as if you are getting excellent
results after putting in a *lot* of hard work, doing things in what
seems to me one of the best ways.

A design done in FPGA may not excite the maximum amount of interest
amongst all readers here, but I can see how doing the design this way
gives control over critical parameters you might not be able to
optimize otherwise.

I can only speak for myself, but this seems eminently on-topic to me.

-- Dave






---------------------------------
You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost.

[Non-text portions of this message have been removed]

Re: RES: [Homebrew_PCBs] Homemade flatbed inkjet pcb printer

2008-04-08 by Volkan Sahin

>.... Do you intend to publish the project ? Or sell a kit ? ...

Hi Alexandre,
Thank you. It is too early to decide on it. Selling as a kit not easy since different Epson heads use different formats and not documented. My plan is to complete this project for double layer boards. I need to add some support hardware and SW for the alignment. Next step will be to use it as a starting point for a 3-D printer.
Cheers,
Volkan




---------------------------------
You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost.

[Non-text portions of this message have been removed]

Re: Homemade flatbed inkjet pcb printer

2008-04-10 by dandumit

Hi Volkan,
Could you please share info about head driving signals ? What head -
from what printer ? How's data transmited? SPI ? what tension should
be applied to fire the head ? how did you found out those info ? I
have seen an similar article but at that time the nozzles where
addressed individually.

Regards,
DAniel


> Hi Dave,
> I think we need to use fpga because of timing issues. If we assume
that scanning 1 line (8" width paper/pcb) requires 1 sec and we're
trying to print at 720dpi, this means that we have 1/(8*720) sec or
174 microseconds for each dot. During this time you also need to
download next position data to the head. The alternative solution can
be not to print at 720dpi and do multiple pass to achieve 720dpi.
> Another issue the timing needs to be precise otherwise it can cause
inconsistency in dot positions.
> The inkjet head that I'm using requires 212bits for each color (90
nozzles/color) and uses double edge clocking for the sampling.
From that your clock frequency should be at least 700kHz.
Show quoted textHide quoted text
>
> Because of above reasons I have decided to use fpga.
>
> Cheers,
> Volkan

Re: [Homebrew_PCBs] Re: Homemade flatbed inkjet pcb printer

2008-04-10 by Volkan Sahin

>..Could you please share info about head driving signals ? What head -
>..from what printer ?

Hi Daniel,
I'm using CX4200/CX4800 head in my printer and only documents that I've is service manual plus hundreds of Epson/Seiko patents. I found most of the information by doing experiment and reading patents.
I'll try to explain and later I'll upload some waveforms to clarify things. It can be seen as a difficult but in reality it is not.
It is not a known SPI signal as far as I know.
This head has 4 colors and each color has 90 nozzles. There're common signals used for all color "common" (Ramp signal) , "LE" (latch enable), Clock, NCHG (Charge signal), CH (waveform counter signal). Individual color has its own data signal. This head uses double edge clock as a clock of internal shift registers. You can change the clock and data simultaneously (inside head there is a delay circuit to avoid setup hold violation).
Each nozzle is represented by 2bits (4 different drop size) so if you have 90 nozzles then we need to send 180 bits just for nozzles data remaining 32 bits are used for waveform (ramp waveform) select. With 32 waveform control bits we can select 8 different waveforms (32/4(drop size)) for all 90 nozzles.
The data format can be summarized as,
180bits nozzle data + 32 bits Waveform select data.
As a short example,
Data (010.....)
--
-- -- ............... data
-- -- --
- -- -- --........ clock

The "Common" signal is an analog ramp voltage centered ~20V goes up to ~30V and down to ~2V. The shape of waveform defines the droplet size.


Cheers,
Volkan

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

[Non-text portions of this message have been removed]

Re: [Homebrew_PCBs] Re: Homemade flatbed inkjet pcb printer

2008-04-11 by Chris Hart

You'll find this article at hackaday relevant.
http://www.hackaday.com/2006/10/08/inker-the-hand-inkjet/

dandumit wrote:
Show quoted textHide quoted text
>
> Hi Volkan,
> Could you please share info about head driving signals ? What head -
> from what printer ? How's data transmited? SPI ? what tension should
> be applied to fire the head ? how did you found out those info ? I
> have seen an similar article but at that time the nozzles where
> addressed individually.
>
> Regards,
> DAniel
>
> > Hi Dave,
> > I think we need to use fpga because of timing issues. If we assume
> that scanning 1 line (8" width paper/pcb) requires 1 sec and we're
> trying to print at 720dpi, this means that we have 1/(8*720) sec or
> 174 microseconds for each dot. During this time you also need to
> download next position data to the head. The alternative solution can
> be not to print at 720dpi and do multiple pass to achieve 720dpi.
> > Another issue the timing needs to be precise otherwise it can cause
> inconsistency in dot positions.
> > The inkjet head that I'm using requires 212bits for each color (90
> nozzles/color) and uses double edge clocking for the sampling.
> From that your clock frequency should be at least 700kHz.
> >
> > Because of above reasons I have decided to use fpga.
> >
> > Cheers,
> > Volkan
>
>

Re: Homemade flatbed inkjet pcb printer

2008-07-21 by gsi11135

Volkan,

Again, congrats on your success. Excuse the rudimentary questions
that are to follow. Please let me know if something has previously
been mentioned/covered in the forums.

I would like to ask how much of the original printer is remaining
after all of your customizations? :)

Is the microcontroller you mention a descendant of your previously
posted design using the MPS430 form TI?
http://techref.massmind.org/techref/pcb/etch/cx4200-vs.htm

That's all the q's I have for now...more will come!

Thanks for sharing!

Joseph

Show quoted textHide quoted text
--- In Homebrew_PCBs@yahoogroups.com, "v_sahin" <v_sahin@...> wrote:
>
> Hi All,
> I spent couple of months(~4 months) to design my own flat bed inkjet
> printer and finally I could get some printouts. It is based on Epson
> inkjet head and X-axis mechanics. I designed required drive
> electronics, head drive signals, servo control, frame buffer and
micro
> controller to communicate and manage the circuit. On PC side I
> developed RIP (raster Image Processor) that is used to convert bmp
> image to the printers frame buffer format and interface program to
> control the printer. In this design all time critical jobs are done
by
> fpga. Microcontroller supports minimum basic commands such as x/y
> positioning, servo control, frame buffer download, piezo drive
> waveform download and activate inkjet firing, it is also responsible
> to do USB interface. The remaining control is done by the control
> program running on PC side.
> I did only a few experiments and saw that 4/4 (trace width / space)
is
> possible to do if I can do uniform etching ( under etching is also
an
> issue).
> I'll try to upload printed image and original bmp image used during
> printing. As you'll see original image is perfect. Later I'll do
some
> performance tests and try to post the results. This printer can do
> 720x720 dpi and images that I'll upload are printed at that
resolution.
> Uploaded images will be under
>
http://tech.groups.yahoo.com/group/Homebrew_PCBs/files/Epson_inkjet_Vo
lkan/
>
> Note: I don't know whether the details of the design is an off topic
> or not for this group. I need feedback from Steve.
>
> Cheers,
> Volkan
>

Re: [Homebrew_PCBs] Re: Homemade flatbed inkjet pcb printer

2008-07-21 by Volkan Sahin

Hi Joseph,
Thanks a lot. It is not a modified Epson printer, I'm only using X-axis and head of Epson CX4200, remaining electronics and mechanics are custom made. I've used ATSAM7S128 as a microcontroller but you don't need to use it. It does not require CPU speed. All time critical work is done by fpga which is an Altera Cyclone 2 (144pin ones).
Cheers,
Volkan

Show quoted textHide quoted text
--- On Mon, 7/21/08, gsi11135 <gsi11135@...> wrote:
From: gsi11135 <gsi11135@...>
Subject: [Homebrew_PCBs] Re: Homemade flatbed inkjet pcb printer
To: Homebrew_PCBs@yahoogroups.com
Date: Monday, July 21, 2008, 4:32 PM











Volkan,



Again, congrats on your success. Excuse the rudimentary questions

that are to follow. Please let me know if something has previously

been mentioned/covered in the forums.



I would like to ask how much of the original printer is remaining

after all of your customizations? :)



Is the microcontroller you mention a descendant of your previously

posted design using the MPS430 form TI?

http://techref. massmind. org/techref/ pcb/etch/ cx4200-vs. htm



That's all the q's I have for now...more will come!



Thanks for sharing!



Joseph



--- In Homebrew_PCBs@ yahoogroups. com, "v_sahin" <v_sahin@... > wrote:

>

> Hi All,

> I spent couple of months(~4 months) to design my own flat bed inkjet

> printer and finally I could get some printouts. It is based on Epson

> inkjet head and X-axis mechanics. I designed required drive

> electronics, head drive signals, servo control, frame buffer and

micro

> controller to communicate and manage the circuit. On PC side I

> developed RIP (raster Image Processor) that is used to convert bmp

> image to the printers frame buffer format and interface program to

> control the printer. In this design all time critical jobs are done

by

> fpga. Microcontroller supports minimum basic commands such as x/y

> positioning, servo control, frame buffer download, piezo drive

> waveform download and activate inkjet firing, it is also responsible

> to do USB interface. The remaining control is done by the control

> program running on PC side.

> I did only a few experiments and saw that 4/4 (trace width / space)

is

> possible to do if I can do uniform etching ( under etching is also

an

> issue).

> I'll try to upload printed image and original bmp image used during

> printing. As you'll see original image is perfect. Later I'll do

some

> performance tests and try to post the results. This printer can do

> 720x720 dpi and images that I'll upload are printed at that

resolution.

> Uploaded images will be under

>

http://tech. groups.yahoo. com/group/ Homebrew_ PCBs/files/ Epson_inkjet_ Vo

lkan/

>

> Note: I don't know whether the details of the design is an off topic

> or not for this group. I need feedback from Steve.

>

> Cheers,

> Volkan

>





























[Non-text portions of this message have been removed]

Re: Homemade flatbed inkjet pcb printer

2008-07-23 by pork_u_pine2000

Truly amazing work. This seems to be the 'Standard by which All Other
Efforts Must Be Measured' (tm).

Do you plan to publish a detailed description of the whole design
(FPGA code and schematics) or do you plan to commercialize this in
some way? I would love to (try) to duplicate your efforts. But much
of the reversing work you did is at or beyond the limits of my modest
analysis skills and bench tools.

-- Dave W.

Re: [Homebrew_PCBs] Re: Homemade flatbed inkjet pcb printer

2008-07-23 by Volkan Sahin

Hi Dave,
>Do you plan to publish a detailed description of the whole design


>(FPGA code and schematics) .....

I can provide binary fpga codes but not the source code since it can be
easily used in commercial applications without any indication of the
origin. I'll provide schematics to create a base for discussions.
There are multiple ways to implement it and I don't want to bias any
other creative methods. For example with new 200 MHz cores I think one can
directly interface inkjet head to micro without any timing issue (needs
to be calculated). I was thinking to commercialize it but for
a commercial product I need to use inkjet head from other brands
(Xaar,Spectra,etc..) which are expensive ~$500-$1000. Another issue I don't have enough time to make it commercial, I can not do it alone.

Cheers,

Volkan




[Non-text portions of this message have been removed]