

Mainboard gen2
Next gen. of NekoCal: An open-source hackable and programmable e-paper display
- Size
- 56 × 65 mm
- Copper layers
- 6
- Thickness
- 1 mm
- Parts
- 245
- Nets
- 441
- Pads
- 1,477
- Tracks, vias
- 4,190, 464
- Pours
- 8
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 17 Aug 2021
- Updated
- 13 May 2024
Overview
Mainboard gen2 is an open-source printed circuit board by zephray, from the zephray/NekoInk repository on GitHub. It is a 6-layer board of 56 × 65 mm with 245 parts on 441 nets, routed with 4,190 tracks and 464 vias.
It is built around the SY8120B, USB3300-EZK and W25Q128JVPIQ, with the MT41K256M16HA-CN, MT9700 and MAX17135ETJ+ among its other parts. Its parts include 140 capacitors, 48 resistors, 14 ICs, 10 diodes and 8 connectors. It belongs with the lEDs and displays and computers and single-board computers boards and the FPGA and CPLD boards of this library.
Main components
10SY8120B
SOT-23-6-40℃~+85℃ 1 200uA 2A 4V~16V 600kHz Adjustable Buck Buck Built-in Yes SOT-23-6 DC-DC Converters ROHSSlkorDC-DC ConvertersUSB3300-EZK
QFN-32-EP(5x5)-40℃~+85℃ 3V~3.6V 54.7mA 83uA Controller USB 2.0 QFN-32-EP(5x5) USB Converters ROHSMicrochip TechnologyUSB ConvertersW25Q128JVPIQ
WSON-8-EP(5x6)-40℃~+85℃ 100,000 cycles 10uA 120ms@(32KB) 128Mbit 133MHz 2.7V~3.6V 20 Years Power-on reset、Hardware write protection、Software write protection、Write enable latch、Absolute write protection、Power lock protection SPI WSON-8-EP(5x6) NOR FLASH ROHSWinbond ElecNOR FLASHMT41K256M16HA-CN
FBGA-96(9x14)-40℃~+95℃ 1.0665GHz 1.283V~1.45V、1.425V~1.575V 110mA 25mA 4Gbit Auto precharge function、Dynamic on-chip termination、Asynchronous reset function、Write leveling function、Auto self-refresh DDR3L SDRAM FBGA-96(9x14) DDR SDRAM ROHSChipNoboDDR SDRAMMT9700
SOT-23-5-40℃~+85℃ 1 2.4V~5.5V 2A 80mΩ Active High High Side Switch Short-Circuit Protection(SCP)、Overcurrent Protection(OCP)、Over Temperature Protection SOT-23-5 Power Distribution Switches ROHS西安航天民芯Power Distribution SwitchesMAX17135ETJ+
TQFN-32TQFN-32 New Arrivals ROHSMaxim Integrated (Analog Devices)UncategorisedUSBLC6-2SC6
SOT-23-60.35pF、0.8pF 100nA 150W@8/20us 15V 2 5V 6A@8/20us 6V ESD SOT-23-6 ESD and Surge Protection (TVS/ESD) ROHSUMWESD And Surge Protection (TVS/ESD)B0530WS
SOD-323Schottky DiodesGOODWORKBSS138
SOT-23-55℃~+150℃ 1 N-channel 1.1Ω@10V、1.2Ω@4.5V 1.2V 1.7nC@10V 17.5pF 340mA 350mW 50V 6.5pF N-Channel SOT-23 MOSFETs ROHShongjiachengMOSFETsRCLAMP0524P
DFN2510-10-55℃~+125℃ 0.35pF、0.8pF 17V 4.5A 5V 6.8V 80nA ESD Four channels IEC 61000-4-2 Unidirectional DFN2510-10 ESD and Surge Protection (TVS/ESD) ROHSTECH PUBLICESD And Surge Protection (TVS/ESD)
README
README.mdNekoInk
This project has been superseded by Glider and will not be updated further.
NekoInk is an open-source, programmable, and versatile E-paper display platform. It offers connectivity options to various type of E-paper screens, and flexible programming environment choices.
Hardware
Mainboard
The 1st generation of NekoInk has the following specs:
- Processing
- NXP i.MX6ULL, 900 MHz Cortex-A7 processor
- 512 MB DDR3L-1066 memory
- Display
- Support for EPD screens from 6" to 13.3"
- Up to 32 greyscale levels / 32768 colors (depends on screen)
- 40 pin connector for ED103TC1/ES103TC2/GDEW101C01
- 6 and 12 pin connector for capacitive touch screen (shared signal)
- 30 pin connector for LVDS LCDs
- Connectivity
- MicroSD slot for storage
- 1x USB Micro-B for USB Device and charging
- 1x USB Micro-AB for USB Host
- 1x USB Micro-B for USB Serial terminal
- 1x DVP port for HDMI input or camera module
- Integrated WiFi and Bluetooth
- Power
- AXP209 PMIC with Lithium battery charger and coulomb counter
- Power consumption T.B.D.
Screen Adapter
Adapter boards are available in this repo to adapt the following screens:
- 39 pin connector for ED060SC4/ED133UT2
- 34 pin connector for ED060SCF/SCN/SCP/XC3/XC5/XC9/XD4/XD6/XH2/KC1/KD1
- 35 pin connector for ED060XC8/TC1
- 50 pin connector for ES108FC1
It's possible to use a simple FPC extender to support the following screens:
- ED078KC1/KH4/GDEW078M01/078C01
The hardware is designed with KiCAD 7.0.
Status
The 1st gen mainboard is finished, soldered, and tested and considered stable. However there is no plan for mass-production.
Software
T.B.D.
Operating System
Linux T.B.D.
Waveform
This project uses a human-readable waveform format (iwf, Interchangable Waveform Format) described below. Currently this could be converted into .fw format used by i.MX6/7 EPDC/EPDCv2. Converting from Eink's wbf format is also supported.
Waveform Format
The waveform consists of one descriptor file in iwf extension (ini format) and various lut data files in csv format.
The descriptor contains the follwoing required fields:
- VERISON: the version of the descriptor
- NAME: (optional) original name for the waveform
- BPP: (optional, default 4) 4 or 5, representing the internal state count used for waveform
- PREFIX: the filename prefix for actual waveform files
- MODES: the total modes supported by the waveform
- TEMPS: the total number of temperature ranges supported by the waveform
- TxRANGE: the supported temperature in degC, where x is the temperature ID
- TUPBOUND: (optional) upper bound for temperature range, each range is TxRANGE to Tx+1RANGE (or TUPBOUND in case of the last one)
In v2.0, the following fields are added:
- TABLES: total number of LUTs inside the waveform
- TBxFC: the frame count for the table, where x is the table ID
In v1.0, table are directly addressed and stored by its mode and temperature ID (expect things like PREFIX_M1_T2.csv for mode 1 and temperature range 2). In v2.0, tables are indirectly addressed and stored (expect things like PREFIX_TB2.csv for the second table, and one or more mode/temperature combination to use/ reference table 2).
Each mode has its own mode section named [MODEx], where x is the mode ID, containing the following fields:
- NAME: the name for that mode
- TxFC: the frame count for the temperature in that mode, where x is the temperature ID (v1.0 only)
- T*TABLE: the table used for the temperature in that mode (v2.0 only)
There should be a number of LUTs, saved in the filename of either PREFIX_Mx_Ty.csv (v1.0) or PREFIX_TBx.csv. Each csv file should contain the a LUT like this: lut[src][dst][frame], which means, to transition from src greyscale level to dst greyscale level, at a certain frame in a frame sequence, what voltage should be applied to the screen (0/3: GND / Keep, 1: VNEG / To black, 2: VPOS / To white). Each line contains the frame sequence for one or more source to destination pairs.
For example:
4,7,1,1,1,0,2means to transition from greyscale level 4 to greyscale level 7, there should be 5 frames, each applying VNEG VNEG VNEG GND VPOS0:14:15,2,2,2means to transition from any greyscale level from 0 to 14 to greyscale level 15, there should be 3 frames, each applying VPOS VPOS VPOS
These are provided to only illustrate the file format, they are not valid or meaningful Eink driving sequences.
With current design, each mode should have fixed frame count for all associated frame sequences.
Converting
Tools are provided in utils/ folder.
- To convert from iwf to fw (iMX6/7 EPDC format):
./mxc_wvfm_asm v1/v2 input.iwf output.fw - To convert from fw to iwf:
./mxc_wvfm_dump v1/v2 input.fw output_prefix - To convert from wbf to iwf:
./wbf_wvfm_dump input.wbf output_prefix
In some cases, the waveform stored on the panel/ controller's flash is compressed. A decompressing tool is also provided that might work.
Generating
To be implemented.
License
The design, unless otherwise specified, is released under the CERN Open Source Hardware License version 2 permissive variant, CERN-OHL-P. A copy of the license is provided in the source repository. Additionally, user guide of the license is provided on ohwr.org.
The waveform converting tool is licensed under GNU GPLv2+ due to use of Linux kernel source code and other people's valuable prior work. See each tools' source code for the complete copyright.
The image viewer tool is licensed under MIT. stb library used in the image viewer is public domain.
Parts
245| Qty | Value | Footprint | References |
|---|---|---|---|
| 27 | 100nF | Capacitor_SMD:C_0402_1005Metric | C10, C11, C12, C100, C113, C114, C115, C129, C130, C131, C134, C136, C137, C138, C139, C142 +11 |
| 25 | 220nF | Capacitor_SMD:C_0402_1005Metric | C66, C69, C71, C73, C74, C75, C77, C78, C79, C101, C102, C103, C104, C105, C106, C107 +9 |
| 21 | 470nF | Capacitor_SMD:C_0402_1005Metric | C31, C32, C33, C38, C39, C40, C43, C48, C50, C52, C56, C57, C59, C60, C62, C63 +5 |
| 16 | 10uF | Capacitor_SMD:C_0805_2012Metric | C1, C2, C3, C4, C17, C18, C19, C20, C27, C119, C125, C133, C135, C143, C145, C147 |
| 13 | 4.7uF | Capacitor_SMD:C_0603_1608Metric | C34, C35, C41, C42, C44, C49, C58, C61, C64, C86, C94, C128, C132 |
| 8 | 4.7uF/25V | Capacitor_SMD:C_0805_2012Metric | C117, C118, C121, C122, C123, C124, C126, C127 |
| 8 | 47uF/10V | Capacitor_SMD:C_1206_3216Metric | C21, C22, C24, C25, C26, C28, C29, C30 |
| 7 | 4.7uH | footprints:L_1212 | L1, L2, L3, L4, L5, L6, L7 |
| 6 | 100uF | Capacitor_SMD:C_0805_2012Metric | C36, C37, C45, C46, C47, C51 |
| 6 | 10K | Resistor_SMD:R_0402_1005Metric | R20, R21, R33, R41, R42, R45 |
| 6 | 20K | Resistor_SMD:R_0402_1005Metric | R11, R12, R13, R14, R15, R31 |
| 6 | 33 | Resistor_SMD:R_Array_Convex_4x0402 | RN3, RN4, RN5, RN6, RN7, RN8 |
| 6 | B0530WS | Diode_SMD:D_SOD-323 | D5, D6, D7, D8, D9, D10 |
| 5 | 22R | Resistor_SMD:R_0402_1005Metric | R17, R32, R43, R47, R48 |
| 4 | 1K | Resistor_SMD:R_0402_1005Metric | R16, R18, R30, R46 |
| 4 | 1uF/25V | Capacitor_SMD:C_0805_2012Metric | C109, C110, C111, C112 |
| 4 | 47pF | Capacitor_SMD:C_0402_1005Metric | C13, C14, C15, C16 |
| 4 | MountingHole | MountingHole:MountingHole_2.7mm_M2.5 | H1, H2, H3, H4 |
| 4 | SY8120 | Package_TO_SOT_SMD:TSOT-23-6 | U1, U2, U3, U4 |
| 3 | 20K/1% | Resistor_SMD:R_0402_1005Metric | R2, R3, R5 |
| 3 | 22uF | Capacitor_SMD:C_0603_1608Metric | C89, C92, C99 |
| 3 | BSS138 | Package_TO_SOT_SMD:SOT-23 | Q1, Q2, Q3 |
| 2 | 1.5K/0.5% | Resistor_SMD:R_0402_1005Metric | R28, R29 |
| 2 | 100R | Resistor_SMD:R_0402_1005Metric | R26, R27 |
| 2 | 16K/1% | Resistor_SMD:R_0402_1005Metric | R6, R7 |
| 2 | 240R 1% | Resistor_SMD:R_0402_1005Metric | R24, R25 |
| 2 | 27K/1% | Resistor_SMD:R_0402_1005Metric | R8, R36 |
| 2 | 4.7K | Resistor_SMD:R_0402_1005Metric | R9, R19 |
| 2 | 47uF | Capacitor_SMD:C_0805_2012Metric | C54, C91 |
| 2 | 51 | Resistor_SMD:R_Array_Convex_4x0402 | RN1, RN2 |
| 2 | 80R | Resistor_SMD:R_0402_1005Metric | R22, R23 |
| 2 | LED | LED_SMD:LED_0603_1608Metric | D1, D2 |
| 2 | MT41K256M16HA | Package_BGA:BGA-96_9.0x13.0mm_Layout2x3x16_P0.8mm | U7, U8 |
| 2 | MT9700 | Package_TO_SOT_SMD:SOT-23-5 | U5, U12 |
| 2 | RCLAMP0524P | Package_DFN_QFN:Diodes_UDFN-10_1.0x2.5mm_P0.5mm | D3, D4 |
| 1 | 0.5R | Resistor_SMD:R_0603_1608Metric | R39 |
| 1 | 0.5mm | footprints:Hirose_FH12-40S-0.5SH_1x40-1MP_P0.50mm_Horizontal_Reversed | J5 |
| 1 | 10K/1% | Resistor_SMD:R_0402_1005Metric | R4 |
| 1 | 10R | Resistor_SMD:R_0402_1005Metric | R38 |
| 1 | 120R | Resistor_SMD:R_0402_1005Metric | FB1 |
| 1 | 12K/1% | Resistor_SMD:R_0402_1005Metric | R44 |
| 1 | 16K | Resistor_SMD:R_0402_1005Metric | R10 |
| 1 | 18pF | Capacitor_SMD:C_0402_1005Metric | C98 |
| 1 | 1uF | Capacitor_SMD:C_0402_1005Metric | C116 |
| 1 | 2.2nF | Capacitor_SMD:C_0402_1005Metric | C120 |
| 1 | 22R | Resistor_SMD:R_0603_1608Metric | R40 |
| 1 | 33.33MHz | Oscillator:Oscillator_SMD_Abracon_ASE-4Pin_3.2x2.5mm | X1 |
| 1 | 49.9K/1% | Resistor_SMD:R_0402_1005Metric | R37 |
| 1 | 562K/1% | Resistor_SMD:R_0402_1005Metric | R34 |
| 1 | 806K/1% | Resistor_SMD:R_0402_1005Metric | R35 |
| 1 | 91K/1% | Resistor_SMD:R_0402_1005Metric | R1 |
| 1 | AP6330(BCM4330) | footprints:RL-SM02BD(RTL8723BS) | U14 |
| 1 | Antenna_Shield | footprints:bt_antenna_1ant_2gnd_mirror | AE1 |
| 1 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J6 |
| 1 | GPIO | Connector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_Vertical | J2 |
| 1 | HDMI_A | Connector_HDMI:HDMI_A_Molex_208658-1001_Horizontal | J3 |
| 1 | JTAG | Connector_PinHeader_2.00mm:PinHeader_2x07_P2.00mm_Vertical_SMD | J1 |
| 1 | MAX17135 | Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mm_ThermalVias | U10 |
| 1 | MICRO_SD(TFC-WPAPR-08) | footprints:TFC-WPAPR-08 | J4 |
| 1 | USB3300 | Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.3x3.3mm | U11 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U13 |
| 1 | USB_A | Connector_USB:USB_A_Molex_67643_Horizontal | J8 |
| 1 | USB_C_Receptacle_USB2.0 | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J7 |
| 1 | W25Q128JVP | Package_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4mm | U9 |
| 1 | XC7Z010-CLG400 | Package_BGA:Xilinx_CLG400 | U6 |
Questions
How big is the Mainboard gen2 PCB?
It measures 56 × 65 mm and has 6 copper layers, 1 mm thick.
What parts does the Mainboard gen2 use?
245 parts, built around the SY8120B, USB3300-EZK, W25Q128JVPIQ and MT41K256M16HA-CN. 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 Mainboard gen2 KiCad files?
From the zephray/NekoInk repository on GitHub, at the commit this page was made from: the board is pcb/mainboard_gen2/pcb.kicad_pcb and its schematic pcb/34p-a-adapter/adapter.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Mainboard gen2 design in my own project?
Its repository states no licence, so its author keeps all rights: ask zephray before reusing the design.
Similar boards
- 4 layers60 × 60 mm

- 6 layers71.5 × 62.9 mm

Sensorboard backport
CameraNexus/sitina1
Open-source 35mm full-frame (36mm x 24mm) CCD mirror-less interchangable lens camera (MILC). The original goal of this project was to create a digital camera back to convert SLR cameras to DSLR cameras, but has since…
391 parts82MIT - 4 layers85 × 113 mm

- 4 layers90 × 80 mm

Glider
pdyxs/glider
Fork of zephray/glider (Modos Glider e-ink monitor) with a DP AUX polarity fix and a standalone GCC firmware build
379 partsCERN-OHL-S-2.0 - 4 layers69.6 × 29.4 mm

Spartan6 board
openconcepts-ar/accel2d
This project aims to provide a graphics server system based on hardware accelerated graphics, and a easy way to develop the graphics primitives.
169 parts1 - 4 layers32.2 × 23 mm

Pixl.js
xiaohail/pixl.js-oled
This project is open source and is solely for learning and research purposes, please do not use it for commercial purposes. Amiibo is a registered trademark of Nintendo, and NTAG21X is a registered trademark of NXP.
88 parts1GPL-2.0 - 4 layers67.4 × 89.9 mm

Bornhack-2026-hardware
badge-gallery/bornhack-2026-hardware
Source-preserving mirror of https://codeberg.org/Ranzbak/bornhack2026-hardware
193 partsMIT - 2 layers105.4 × 86.5 mm

Good Boy Limiter
JohnanLuca02/BYTE_Electronics
Repository for everything concerning the electronics (PCB, Electrical schemes, BOM, ...) of the robot dog project of the AiTeam called BYTE.
111 parts1