Skip to the content
2 layers100 × 100 mmXaar128-Driver, the printed circuit board in 3D

Inkjet printer for printing ceramic thin films: software, electronics and CAD designs

Size
100 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
188
Nets
187
Pads
611
Tracks, vias
1,471, 177
Pours
2
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
3 Nov 2023
Updated
3 Mar 2025

Overview

Xaar128-Driver is an open-source printed circuit board by tuwrraphael, from the tuwrraphael/inkjet-printer repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 100 × 100 mm with 188 parts on 187 nets, routed with 1,471 tracks and 177 vias.

It is built around the 74AHCT125D, LM358 and MCP3021A5-E, with the TXB0104D, 74HC173D and ISO1541D among its other parts. Its parts include 60 resistors, 32 capacitors, 22 ICs, 11 transistors and 9 diodes.

Main components

11

README

README.md

Inkjet Printer

A microscope image of a printed TU Wien logo on a 10mm x 10mm substrate.

This repository contains the code, PCB, and CAD of the custom-designed inkjet printer for printing ceramic thin films, which was created as part of the master thesis Development of an Inkjet Printer for Electrolyte Layers of Oxygen Ion Batteries.


See a preview of the control software: https://tuwrraphael.github.io/inkjet-printer/.

An overview image of the implemented inkjet printer.
An overview image of the implemented inkjet printer.

Details about the printer, challenges and design decisions, its application and evaluation can be found in the thesis.

Repository structure:

  • inkjet-printer-app: A web app that controls the printer, is used for planning print jobs, print monitoring & evaluation, calibration and maintenance. Runs in a browser using WebUSB and WebSerial for communicating with the hardware. A deployed version to test an be found here.
  • inkjet-printer-zephyr: The Zephyr based firmware of the printhead drive electronics.
  • pcbs/Xaar128-Driver: The main PBC design of the printhead drive electronics.
  • cad: Various CAD files of attachments added to the printer.

Cite this work

The main purpose of publishing this repository is to provide insights into the development of a custom inkjet printer. If you got inspired or found parts of this project useful, please cite the thesis.

text
@mastersthesis{HaukRaphael2024DoaI,
  title = {Development of an Inkjet Printer for Electrolyte Layers of Oxygen Ion Batteries},
  author = {Hauk, Raphael},
  year    = 2024,
  school  = {TU Wien},
  address = {Vienna, Austria},
  type    = {{Master's thesis}},
  note     = {Available at: \url{https://doi.org/10.34726/hss.2024.116604}}
}

Acknowledgements

This research was funded in part by the Austrian Science Fund (FWF) 10.55776/COE5.

Licensing

The firmware builds on Zephyr Project, which is licensed under the Apache License 2.0. Tools and libraries used in the control software are listed in the app here.

Parts

188
QtyValueFootprintReferences
2310kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR14, R15, R16, R17, R18, R21, R26, R33, R34, R35, R36, R43, R44, R45, R47, R48 +7
20100n >16V CerCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1, C2, C3, C4, C5, C10, C21, C22, C23, C24, C26, C28, C29, C30, C31, C33 +4
15TestPointXaar-Driver:TestPoint_Pad_D1.5mmTP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8, TP9, TP10, TP11, TP12, TP13, TP14, TP15
9100kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR11, R19, R20, R23, R24, R37, R41, R46, R56
81kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR7, R8, R12, R22, R25, R29, R55, R58
8DMN2075UPackage_TO_SOT_SMD:SOT-23Q1, Q2, Q3, Q4, Q5, Q6, Q9, Q10
8SolderJumper_2_OpenResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderJP10, JP11, JP12, JP16, JP17, JP18, JP19, JP20
7Jumper_3_Bridged12Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP1, JP2, JP4, JP5, JP6, JP7, JP14
6NetTie_2NetTie:NetTie-2_SMD_Pad0.5mmNT1, NT2, NT3, NT4, NT5, NT7
5Screw_Terminal_01x02RS_PRO:897-1051J1, J2, J3, J4, J7
5SolderJumper_2_BridgedResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderJP3, JP8, JP9, JP13, JP15
474AHCT125Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU8, U9, U10, U20
4MountingHoleMountingHole:MountingHole_2.7mm_M2.5_DIN965H1, H2, H3, H4
4TXB0104DPackage_SO:SOIC-14_3.9x8.7mm_P1.27mmU5, U6, U7, U12
31u >72V CerCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC11, C15, C16
3DMG2305UXPackage_TO_SOT_SMD:SOT-23Q7, Q8, Q11
21.6kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR5, R6
210u > 16V TantalCapacitor_Tantalum_SMD:CP_EIA-3528-21_Kemet-B_Pad1.50x2.35mm_HandSolderC20, C25
210u >72V ECapacitor_THT:CP_Radial_D5.0mm_P2.00mmC12, C18
212kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR39, R42
21N4007Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD7, D10
22.2kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR38, R57
22.2u >72V ECapacitor_THT:CP_Radial_D5.0mm_P2.00mmC17, C19
2220u >72V ECapacitor_THT:CP_Radial_D13.0mm_P5.00mmC13, C14
25.1kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R28
26N135Package_DIP:DIP-8_W7.62mmU1, U2
274HC173Package_SO:SO-16_3.9x9.9mm_P1.27mmU3, U21
11.2kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1
1100n >16V FilmCapacitor_THT:C_Rect_L7.0mm_W3.5mm_P5.00mmC27
110k RC103BPotentiometer_THT:Potentiometer_Alps_RK09L_Single_VerticalRV1
112k > 200mWResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR27
11N4007Diode_THT:D_DO-41_SOD81_P12.70mm_HorizontalD8
12.2k > 600mWResistor_SMD:R_2512_6332Metric_Pad1.40x3.35mm_HandSolderR32
1200Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR30
120kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR13
12k > 700mWResistor_SMD:R_2010_5025Metric_Pad1.40x2.65mm_HandSolderR10
13.3VDiode_SMD:D_SOD-123FD5
131.6kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR2
13kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR40
14.7kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR31
15.1VDiode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD9
15.1k >300mWResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR9
1630mA/FFUSE_646_1_LTF:FUSE_646_1_LTFF1
1680Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR59
168kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR4
1BZX84C10LT1G 10VPackage_TO_SOT_SMD:SOT-23D1
1BZX84C27LT1G 27VPackage_TO_SOT_SMD:SOT-23D6
1Conn_01x21Molex_200528:Molex_200528-0210_1x21-1MP_P1.00mm_HorizontalJ5
1HeatsinkXaar-Driver:SK68-375-SAHS1
1ISO1541Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU14
1L7824Package_TO_SOT_THT:TO-220-3_VerticalU15
1LED green Vf=1.8VCustom_LED_THT:LED_D5.0mmD3
1LED red Vf=1.6VCustom_LED_THT:LED_D5.0mmD4
1LIS2DHPackage_LGA:LGA-14_2x2mm_P0.35mm_LayoutBorder3x4yU22
1LM317_TO-220Package_TO_SOT_THT:TO-220-3_VerticalU11
1LM358Package_DIP:DIP-8_W7.62mmU17
1LTV-356TPackage_SO:SO-4_4.4x3.6mm_P2.54mmU19
1MC78L05_SOT89Xaar-Driver:SOT-89-3U16
1MCP3021Package_TO_SOT_SMD:SOT-23-5_HandSolderingU18
1MCP4725xxx-xCHPackage_TO_SOT_SMD:SOT-23-6_HandsolderingU13
1NUCLEO-H743ZI2Xaar-Driver:NUCLEO-H743U4

More from tuwrraphael/inkjet-printer

4
  • 2 layers41 × 38 mmXaar128-Adapter, the printed circuit board in 3D

    Xaar128-Adapter

    tuwrraphael/inkjet-printer

    Inkjet printer for printing ceramic thin films: software, electronics and CAD designs

    15 parts4Apache-2.0
  • 2 layers30.5 × 33 mmHeatbed, the printed circuit board in 3D

    Heatbed

    tuwrraphael/inkjet-printer

    Inkjet printer for printing ceramic thin films: software, electronics and CAD designs

    14 parts4Apache-2.0
  • 2 layersPump, the printed circuit board in 3D

    Pump

    tuwrraphael/inkjet-printer

    Inkjet printer for printing ceramic thin films: software, electronics and CAD designs

    10 parts4Apache-2.0
  • 2 layersPressure sensor, the printed circuit board in 3D

    Pressure sensor

    tuwrraphael/inkjet-printer

    Inkjet printer for printing ceramic thin films: software, electronics and CAD designs

    2 parts4Apache-2.0

Similar boards

  • 2 layers95.9 × 90.2 mmDemoboard v2, the printed circuit board in 3D

    Demoboard v2

    SFUSatClub/obc-hardware

    PCB design for the initial prototype of OBC hardware, to interface with LaunchPad.

    129 parts10
  • 2 layers77 × 74.5 mmBms, the printed circuit board in 3D

    Bms

    p0lyh3dron/tpl_interface

    My TPL interface for NXP's MC33664/33771C platform

    33 parts
  • 2 layers75 × 54 mmAdapterplatineMuenzturm, the printed circuit board in 3D

    AdapterplatineMuenzturm

    stonedDiscord/Automatenplatinen

    Reverse engineerte Hardware aus deutschen Spielautomaten.

    14 parts5BSD-2-Clause
  • 4 layers248.9 × 125.7 mmSeason 2 Speedo, the printed circuit board in 3D

    Season 2 Speedo

    markthomascampbell/KR-Replica-Parts

    This repository aims to collect many of the various 3d stencils, Arduino sketches, code, schematics, and any other documentation on creating Knight Rider replica parts.

    94 parts2MIT
  • 2 layers100 × 100 mmHF PA Radio Interface, the printed circuit board in 3D

    HF PA Radio Interface

    RADARC/Modular-PA-Controller

    Controller for High Power RF Power Amplifiers based Raspberry Pi Pico

    187 parts
  • 4 layers52 × 57 mmVna, the printed circuit board in 3D

    Vna

    Ttl/vna

    Homemade 30 MHZ - 6 GHz single receiver VNA design files.

    342 parts195
  • 2 layers75 × 44 mmIot aio, the printed circuit board in 3D

    Iot aio

    RWTH-EBC/OSIGBApp

    Open-Source Internet of Things (IoT) Gateways for Building Automation Applications

    46 parts3MIT
  • 2 layersRpi2HAT for ver3, the printed circuit board in 3D

    Rpi2HAT for ver3

    jacekidziak/RPI_DRON_HAT

    Project of PCB with servo driver, battery voltage measurement, IMU, GPS and barometr

    77 parts1

Questions

How big is the Xaar128-Driver PCB?

It measures 100 × 100 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Xaar128-Driver use?

188 parts, built around the 74AHCT125D, LM358, MCP3021A5-E and TXB0104D. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Xaar128-Driver KiCad files?

From the tuwrraphael/inkjet-printer repository on GitHub, at the commit this page was made from: the board is pcbs/Xaar128-Driver/Xaar128-Driver.kicad_pcb and its schematic pcbs/Heatbed/Heatbed.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Xaar128-Driver design in my own project?

Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).