Skip to the content
PCBKitNew board
2 layers380 × 148.5 mmKeyboard, the printed circuit board in 3D

The first open source all-screen keyboard

Size
380 × 148.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
500
Nets
138
Pads
1,344
Tracks, vias
2,639, 1,104
Pours
4
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
11 Jul 2025
Updated
4 Dec 2025

Overview

Keyboard is an open-source printed circuit board by InkboxSoftware, from the InkboxSoftware/all-screen-keyboard repository on GitHub, published under the MIT licence. It is a 2-layer board of 380 × 148.5 mm with 500 parts on 138 nets, routed with 2,639 tracks and 1,104 vias.

It is built around the A1309LLHLX-9-T, MCP3008-I/P and 74HC138. Its parts include 256 capacitors, 128 ICs, 113 resistors, 1 diode and 1 connector. It belongs with the keyboards and input boards of this library.

Main components

3

README

README.md

The open source all-screen keyboard

The first open source all-screen keyboard. This repository contains all the digital files used to produce the all-screen keyboard created by Inkbox Software.

Material List

  • Raspberry Pi 4 and up. (Program requires use of OpenGL 3 only supported by this generation of Pis onward)
  • 14.1" wide screen touch display
  • Pi Pico
  • Battery (optional)
  • Case and key files found in 3Dmodels folder
  • Magnets
  • Acrylic cores
  • Various wires and cables to put everything together

To enable SPI on Raspberry Pi running Ubuntu

Due to the 3840x1100 wide display resolution, Raspbian cannot be used. Ubutuntu then requires a little more settup to access all the Pi's features. In /boot/firmware/config.txt place the following text

text
enable_uart=1
dtoverlays=uart0-pi5

Restart, and serial is now accessible via /dev/ttyAMA0 Note this is different from Raspbian's serial file /dev/serial0

To invert touch screeen output

Add the following rule as touchscreen.rules in /etc/udev/rules.d

text
ACTION=="add|change", KERNEL=="event*", ATTRS{name}=="ILITEK ILITEK-TP", ENV{LIBINPUT_CALIBRATION_MATRIX}="-1 0 1 0 -1 1 0 0 1"

Installing required libraries

To install wiringpi go to the github repo (https://github.com/WiringPi/WiringPi) and under Releases download the latest release wiringpi_X.XX_arm64.deb Install with

text
sudo apt install wiringpi_x.xx_arm64.deb

The rest of the required libraries can be installed with

text
sudo apt install build-essential libgles2-mesa-dev libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsdl2-ttf-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libavfilter-dev

Starting the main keyboard program

Navigate to the directory To build the program for the first time run

text
make build

Then run with

text
make run

or

text
sudo ./keyboard

The initial profile to load should be written in the startup file.

Designing Plugins

A plugin template has been created and stored in keyboard/src/plugins-dev/ Edit the plugin.cpp program to function as desired then compile your plugin via

text
make plugin name=myCustomPlugin src=plugin

Keyboard Profile online designer

The latest version of this designer is hosted at https://notin.tokyo/ASK The code for this website is stored in keyboard/profileDesigner

Parts

500
QtyValueFootprintReferences
1430.1uFCapacitor_SMD:C_0603_1608MetricC1, C10, C11, C12, C100, C101, C102, C103, C104, C105, C106, C107, C123, C124, C125, C126 +127
1124.7kResistor_SMD:R_0603_1608MetricR10, R11, R100, R101, R102, R103, R104, R105, R106, R107, R108, R109, R110, R111, R112, R113 +96
1124.7nCapacitor_SMD:C_0603_1608MetricC108, C109, C110, C111, C112, C113, C114, C115, C116, C117, C118, C119, C120, C121, C122, C138 +96
112A1309LLHLX-9-Tfootprints:SOT-23W_LH_ALMU100, U101, U102, U103, U104, U105, U106, U107, U108, U109, U110, U111, U112, U113, U114, U115 +96
14MCP3008footprints:SOIC16-N_MC_MCHU1, U2, U3, U4, U5, U6, U7, U10, U11, U12, U13, U14, U15, U16
274HC138footprints:D0016A_LU8, U9
1100nCapacitor_SMD:C_0603_1608MetricC17
1Conn_01x10Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ1
1FerriteBead_SmallInductor_SMD:L_0603_1608MetricFB1
1LEDLED_SMD:LED_0603_1608MetricD1
1RResistor_SMD:R_0603_1608MetricR1

Questions

How big is the Keyboard PCB?

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

What parts does the Keyboard use?

500 parts, built around the A1309LLHLX-9-T, MCP3008-I/P and 74HC138. 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 Keyboard KiCad files?

From the InkboxSoftware/all-screen-keyboard repository on GitHub, at the commit this page was made from: the board is PCB/keyboard-KiCad/keyboard.kicad_pcb and its schematic PCB/keyboard-KiCad/keyboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Keyboard 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).

Similar boards

  • 2 layers100 × 100 mmRecurBOY, the printed circuit board in 3D

    RecurBOY

    cyberboy666/recurBOY

    a rpi0 video-instrument – created in collaboration with Guergana Tzatchkova

    35 parts122GPL-3.0
  • 4 layers43.2 × 43.2 mmPogobot head, the printed circuit board in 3D

    Pogobot head

    nekonaute/pogobot

    Pogobot is an open-source open-hardware robotic platform for swarm robotics

    140 parts21
  • 2 layers100 × 100 mmI n c u r, the printed circuit board in 3D

    I n c u r

    cyberboy666/i_n_c_u_r

    a r_e_c_u_r video sampler extension circuit - adding knobs, cv and serial midi control

    38 parts16GPL-3.0
  • 4 layers101.6 × 141.7 mmPiPtr, the printed circuit board in 3D

    PiPtr

    jmlzone/PiPtr

    Repeater controller

    388 parts8
  • 2 layers111.4 × 40.9 mmRainworks Electrical, the printed circuit board in 3D

    Rainworks Electrical

    IceyPlazza/EWB-EPA-Rainworks

    26-27 EWB EPA Rainworks project; We're putting a sensor box in the ground!

    29 parts7
  • 2 layers150 × 69 mmProgramming jig r1.0, the printed circuit board in 3D

    Programming jig r1.0

    butterstick-fpga/programming-jig

    A FT232H based production programming jig for the ButterStick

    50 parts6
  • 2 layers56 × 65 mmDataHat, the printed circuit board in 3D

    DataHat

    challengerjdb/RaspberryPiHat-datalogger

    My name is Jacob Bendell, and I’m a student at the University of Pennsylvania studying Electrical Engineering. I took this past year off from school to avoid online classes and intern at Amped Innovation, a start-up in…

    22 parts6
  • 2 layers93.5 × 149.9 mmHackPackv4, the printed circuit board in 3D

    HackPackv4

    twilio/hackpack-v4-hardware

    Hardware collateral for the Twilio 2018 SIGNAL conference badge.

    44 parts6