Skip to the content
2 layers45.1 × 41.3 mmPrusa lcd reader, the printed circuit board in 3D

Connects to Prusa MK3S or similar and sends LCD contents to Home Assistant.

Size
45.1 × 41.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
23
Nets
51
Pads
112
Tracks, vias
164, 13
Pours
2
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
23 Mar 2023
Updated
24 Mar 2023

Overview

Prusa lcd reader is an open-source printed circuit board by the-ress, from the the-ress/prusa-lcd-reader repository on GitHub, published under the MIT licence. It is a 2-layer board of 45.1 × 41.3 mm with 23 parts on 51 nets, routed with 164 tracks and 13 vias.

It is built around the ESP32-WROOM-32 and BCR108. Its parts include 7 resistors, 6 transistors, 4 capacitors, 3 connectors and 2 ICs. It belongs with the lEDs and displays and home automation and IoT boards and the ESP32 boards of this library.

Main components

2

README

README.md

Prusa LCD Reader

Connects to flat ribbon cable no. 1 of Prusa MK3S or similar, listens to LCD communication, and sends the text to Home Assistant.

How it looks

Screenshot of device sensors line 1 to 4 in Home Assistant. Screenshot of a Lovelace card mirroring the LCD.

Rendering of the PCB, front. Rendering of the PCB, back. Photo of the board installed on the printer, underneath the LCD assembly.

Preparing the printer

Get a 10-pin IDC connector and carefully attach it to flat ribbon cable no. 1, approximately where you want the device to go. Make sure the orientation matches the other connectors.

Photo of the ribbon cable with the extra connector attached.

Manufacturing notes

The board design doesn't rely on plated through-holes for the headers. (It still needs some vias though.)

If you have the board manufactured profesionally, add some vias under pad 39 of the ESP for better thermal performance.

Components

  • ESP32-WROOM-32
  • voltage regulator 5V to 3.3V - SOT-233-3 footprint
  • 6 NPN transistors (to protect GPIO from 5V signal) - SOT-23-3 footprint
  • various resistors and capacitors - 0805 footprint
  • 10-pin IDC connector header
  • a reset button (optional)
  • additional pin headers for the initial flashing (optional if you can bodge the connection without them)

Sample ESPHome configuration

yaml
external_components:
  - source: github://the-ress/prusa-lcd-reader@main
    components:
      - prusa_lcd

prusa_lcd:
  data_pins:
    - GPIO21
    - GPIO17
    - GPIO22
    - GPIO16
  enable_pin: GPIO19
  rs_pin: GPIO18
  text_sensors:
    - name: "Line 1"
    - name: "Line 2"
    - name: "Line 3"
    - name: "Line 4"

Sample Lovelace card

yaml
type: markdown
content: |-
  ```
  {{ states('sensor.printer_lcd_line_1') }}
  {{ states('sensor.printer_lcd_line_2') }}
  {{ states('sensor.printer_lcd_line_3') }}
  {{ states('sensor.printer_lcd_line_4') }}
  ```

Resources

Parts

23
QtyValueFootprintReferences
64K7Resistor_SMD:R_0805_2012MetricR2, R3, R4, R5, R6, R7
6BCR108Package_TO_SOT_SMD_AKL:SOT-23Q1, Q2, Q3, Q4, Q5, Q6
2100 nFCapacitor_SMD:C_0805_2012MetricC1, C3
11 uFCapacitor_SMD:C_0805_2012MetricC4
110 uFCapacitor_SMD:C_0805_2012MetricC2
110KResistor_SMD:R_0805_2012MetricR1
1Conn_02x05_Odd_EvenConnector_IDC:IDC-Header_2x05_P2.54mm_VerticalJ1
1ESP32-WROOM-32RF_Module:ESP32-WROOM-32U1
1FLASHConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
1FLASHConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ2
1NCP1117-3.3_SOT223Package_TO_SOT_SMD:SOT-223-3_TabPin2U2
1SW RESETTereza_custom:SW_Push_TD-03XA-TSW1

Similar boards

  • 2 layers138.4 × 51.4 mmDmx box, the printed circuit board in 3D

    Dmx box

    the-ress/dmx-box

    47 parts2
  • 2 layers24.1 × 36.2 mmEsp32miniBT, the printed circuit board in 3D

    Esp32miniBT

    asterics/esp32_mouse_keyboard

    ESP32 implementation for HID over GATT Keyboard and Mouse (Bluetooth Low Energy). Including serial API for external modules (similar to Adafruit EZKey HID)

    28 parts911GPL-3.0
  • 4 layers99.6 × 76.2 mmE TKT, the printed circuit board in 3D

    E TKT

    andreisperid/E-TKT

    open source embossed label maker

    110 parts481MIT
  • 4 layers46.8 × 34.8 mmSmartWatch V4, the printed circuit board in 3D

    SmartWatch V4

    Bellafaire/ESP32-Smart-Watch

    An open source smartwatch based on the ESP32 compatible with the Arduino IDE.

    74 parts258MIT
  • 2 layers90 × 76.5 mmLCDZapperPro, the printed circuit board in 3D

    LCDZapperPro

    charcole/LCDZapper

    Device for making light gun games playable on LCD TVs

    126 parts163
  • 2 layers57.2 × 35.1 mmMainBoard Rev2, the printed circuit board in 3D

    MainBoard Rev2

    lzrtag/LZRTag

    AVR-Based easily modifyable DIY Lasertag!

    70 parts111GPL-3.0
  • 2 layers85 × 56 mmHB RF ETH, the printed circuit board in 3D

    HB RF ETH

    alexreinert/PCB

    Some of my PCBs

    96 parts104
  • 2 layersSmp7c, the printed circuit board in 3D

    Smp7c

    likeablob/slow-movie-player-7c

    Yet another "Slow Movie Player" implementation with 7-color E-Paper module and ESP32.

    18 parts51MIT

Questions

How big is the Prusa lcd reader PCB?

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

What parts does the Prusa lcd reader use?

23 parts, built around the ESP32-WROOM-32 and BCR108. 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 Prusa lcd reader KiCad files?

From the the-ress/prusa-lcd-reader repository on GitHub, at the commit this page was made from: the board is kicad/prusa-lcd-reader.kicad_pcb and its schematic kicad/prusa-lcd-reader.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Prusa lcd reader design in my own project?

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