Skip to the content
PCBKitNew board
2 layers62 × 208.5 mmCombined, the printed circuit board in 3D

Print to vintage Apple printers from modern devices over AirPrint, or from a vintage Mac over AppleTalk.

Size
62 × 208.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
154
Nets
119
Pads
513
Tracks, vias
981, 122
Pours
3
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
16 Oct 2026
Updated
7 Nov 2026

Overview

Combined is an open-source printed circuit board by wr, from the wr/airwriter repository on GitHub. It is a 2-layer board of 62 × 208.5 mm with 154 parts on 119 nets, routed with 981 tracks and 122 vias.

It is built around the PIC12F1840-I/P, SP3485EN-L/TR and ESP32-S3-WROOM-1-N16R8, with the SP3232EBEN-L/TR, THVD1451DRBR and AP7361C-33E among its other parts. Its parts include 57 capacitors, 38 diodes, 24 resistors, 9 ICs and 3 connectors. It belongs with the retro computing and games boards and the ESP32 and PIC boards of this library.

Main components

12

README

README.md

AirWriter

AirPrint for your vintage Apple printer.

AirWriter on a stack of printer paper, its lights on

Print from your phone or computer to an Apple ImageWriter, StyleWriter or LaserWriter. Connect AirWriter to the printer and your Wi-Fi, and the printer shows up like any other. Nothing to install.

The top is a gold-plated circuit board with 37 lights glowing through it. A rainbow sweeps across when it starts up, and a few dots glow like fireflies while it's idle.

  • Five-minute setup. All from your phone.
  • Color. If your printer does color, so does AirWriter.
  • Vintage Macs too. Print from a vintage Mac over a LocalTalk cable or your network, or from an emulator like Infinite Mac.
  • Up to six printers. One AirWriter shares them all.
  • Open source. Hardware and software, free to tinker with.

Buy one from Wells Workshop.

What you need

  • A vintage Apple printer (check yours)
  • The cable your printer uses with a Mac (which cable)
  • A USB-C charger
  • 2.4 GHz Wi-Fi

The wiki has setup help and troubleshooting. Updates install over Wi-Fi.

How it works

Inside is an ESP32-S3. It shows each printer to your network as an AirPrint printer. Each page goes out in the printer's own language, down the printer cable or over AppleTalk. LocalTalk runs on Tashtari's TashTalk, on a small PIC chip.

PathContents
firmware/ESP-IDF application (ESP32-S3)
tools/Host builds of the raster and IPP code, tests, fixtures and the settings page
hardware/KiCad board and front panel
enclosure/Case and light-guide lattice in build123d, with printable STLs in out/

Firmware builds with ESP-IDF 5.5 (idf.py -C firmware build). Host tests run anywhere with a C compiler: make -C tools/rip test regress and make -C tools/ipp test. AGENTS.md has the full toolchain notes.

Credits

LocalTalk runs on Tashtari's TashTalk. Monroe Williams worked out the StyleWriter's serial protocol in the 1990s and wrote lpstyl. FeralFirmware took Apple's StyleWriter drivers apart for TailTalk and InkTalk. Thank you all.

License

Firmware and tools are GPL-3.0-or-later, hardware and enclosure CERN-OHL-S-2.0, docs CC-BY-SA-4.0. See LICENSE.md, which also covers third-party material.

Parts

154
QtyValueFootprintReferences
49100nCapacitor_SMD:C_0603_1608MetricC3, C10, C11, C12, C13, C14, C16, C17, C18, C29, C30, C31, C32, C33, C34, C35 +33
37SK6812MINI-CLED_SMD:LED_SK6812MINI_PLCC4_3.5x3.5mm_P1.75mmD10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25 +21
910kResistor_SMD:R_0603_1608MetricR3, R14, R21, R22, R23, R24, R25, R32, R33
410RResistor_SMD:R_0603_1608MetricR10, R11, R12, R13
49774030151Rpanel:SMT_Standoff_M2.5_D6.0mmMT1, MT2, MT3, MT4
4MountingHole_2.2mm_M2MountingHole:MountingHole_2.2mm_M2H1, H2, H3, H4
322uCapacitor_SMD:C_0805_2012MetricC1, C21, C22
20RResistor_SMD:R_0603_1608MetricR8, R9
2100RResistor_SMD:R_0603_1608MetricR15, R16
210uCapacitor_SMD:C_0805_2012MetricC2, C4
215kResistor_SMD:R_0603_1608MetricR29, R30
25.1kResistor_SMD:R_0603_1608MetricR1, R2
2SP3485EN-LPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU6, U8
1H_TEST
1+3V3TestPoint_Pad_D1.0mmTP2
1150RResistor_SMD:R_0603_1608MetricR17
11kResistor_SMD:R_0603_1608MetricR27
11nCapacitor_SMD:C_0603_1608MetricC15
11uCapacitor_SMD:C_0805_2012MetricC67
11uCapacitor_SMD:C_0603_1608MetricC6
147RResistor_SMD:R_0603_1608MetricR20
1AP7361C-33EPackage_TO_SOT_SMD:SOT-223-3_TabPin2U4
1B3U-1000PButton_Switch_SMD:SW_SPST_B3U-1000PSW2
1ENTestPoint_Pad_D1.0mmTP4
1ESP32-S3-WROOM-1-N16R8RF_Module:ESP32-S3-WROOM-1U1
1GNDTestPoint_Pad_D1.0mmTP9
1LCJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1
1LED_DATA5TestPoint_Pad_D1.0mmTP5
1Mini-DIN-8 LocalTalkairwriter:MiniDIN-8_Kycon_KMDGX-8S-BS_RightAngleJ4
1Mini-DIN-8 to printerairwriter:MiniDIN-8_Kycon_KMDGX-8S-BS_RightAngleJ2
1OSHW-Logo_7.5x8mm_SilkScreenSymbol:OSHW-Logo_7.5x8mm_SilkScreenLOGO1
1PIC12F1840-I/PPackage_DIP:DIP-8_W7.62mm_SocketU7
1RXD0TestPoint_Pad_D1.0mmTP8
1SN74LV1T125DCKRPackage_TO_SOT_SMD:SOT-353_SC-70-5U9
1SP3232EBEN-L/TRPackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU3
1SPARE_IO38SparePad_D1.0mmTP10
1SPARE_IO39SparePad_D1.0mmTP11
1SPARE_IO40SparePad_D1.0mmTP12
1THVD1451DRPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU2
1TS-1002-BR15026Button_Switch_THT:SW_PUSH_6mm_H13mmSW3
1TSB001A3518Aairwriter:SW_BZCN_TSB001A3518ASW1
1TXD0TestPoint_Pad_D1.0mmTP7
1USB-C 5V inConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U5
1green PWRairwriter:LED_D3.0mm_Spacer_H8mmD3

Questions

How big is the Combined PCB?

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

What parts does the Combined use?

154 parts, built around the PIC12F1840-I/P, SP3485EN-L/TR, ESP32-S3-WROOM-1-N16R8 and SP3232EBEN-L/TR. 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 Combined KiCad files?

From the wr/airwriter repository on GitHub, at the commit this page was made from: the board is hardware/combined/combined.kicad_pcb and its schematic hardware/airwriter/airwriter.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Combined design in my own project?

Its repository states no licence, so its author keeps all rights: ask wr before reusing the design.

Similar boards

  • 2 layers60 × 75 mmUBike, the printed circuit board in 3D

    UBike

    nategreco/uBike

    The Universal Bike Controller is an open-source project aimed at providing a drop-in replacement for the factory console on NordicTrack® S-series exercise bikes

    53 parts22GPL-3.0
  • 2 layers135.6 × 80.8 mmQuadcopter, the printed circuit board in 3D

    Quadcopter

    pschilkdev/QuadCopter_PP

    Main Repository for all code for the Quadcopter Project. Personal Project 2015/16 IICS

    155 partsMIT
  • 4 layers65 × 56 mmRbphat, the printed circuit board in 3D

    Rbphat

    zcrawling/LOONARover

    2026 LOONAR Rover project

    77 parts
  • 2 layers80 × 54 mmPl60c dmx, the printed circuit board in 3D

    Pl60c dmx

    tsmiltonAgents/pl60c-dmx-wakeup

    A small ESP32-S3 board that drives the wired DMX512 input of a Neewer PL60C panel light so the light can be ramped up slowly in the morning (sunrise alarm). Rev A, 2026-09-02.

    40 parts
  • 4 layers31.5 × 76.5 mmPico2w usbc header board, the printed circuit board in 3D

    Pico2w usbc header board

    gjberger/pico2-starter

    Bare-metal C on the Raspberry Pi Pico 2 (RISC-V), no SDK: linker script, minimal lib, UART loader

    44 parts
  • 2 layers348.8 × 118.7 mmTKL VOLT80, the printed circuit board in 3D

    TKL VOLT80

    Jubakuba/Volt-80-Kicad

    This PCB can be purchased and assembled by JLCPCB or other services. You can have them assemble hotswap socket of your choice or order them and solder them yourself.

    202 parts
  • 4 layers118 × 100 mmIIsi to ztex, the printed circuit board in 3D

    IIsi to ztex

    MelkhiorVintageComputing/IIsiFPGA

    Stuff to put a FPGA in a Macintosh IIsi

    66 parts18
  • 4 layers45 × 80 mmLinea, the printed circuit board in 3D

    Linea

    notaroomba/linea

    A custom EMR tablet!

    177 parts9