Main
google·mozc-devices·mozc-dial/board/main/main.kicad_pcb
About the Main PCB
Main is an open source RP2040/RP2350 PCB design by google, published on GitHub under the Apache-2.0 license. It is a 2-layer board measuring 98 × 71 mm, with 102 components from 18 distinct parts.
Its main chip is the RP2040, from the RP2040/RP2350 family. Other key parts include the AMS1117-3.3, TBD62083AFNG, 74HC238 and W25Q128JVS. By type, the board carries 45 capacitors, 24 connectors, 14 ICs, 14 resistors, 3 switches and 2 crystals.
It belongs with the keyboards and sensors designs in this gallery.
From the project
Circuit diagrams and firmware source code for Gboard DIY keyboards
For the entire keyboard assembly, please refer to the Build Guide.
This explanation covers the case where all 3 bits are populated. However, for the 9-dial edition, some sensors may only require 1 or 2 bits. In that case, populate only the required number of components from the top (U1). For details, follow the instructions for the 9-dial edition.
Also, before making everything, it is recommended to check if the Gray code plate values can be read properly to reduce rework in case of problems. If it doesn't work well, populate resistors on R2, R4, and R6. For details, see Reading Sensor…

Main components on the Main
Main bill of materials (BOM)
102 components, 18 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | AMS1117-3.3 | SOT-223-3_TabPin2 | U101 |
| 5 | TBD62083AFNG | SSOP-18_4.4x6.5mm_P0.65mm | U102, U103, U105, U107, U109 |
| 4 | 74HC238 | SOP-16_3.9x9.9mm_P1.27mm | U104, U106, U108, U110 |
| 2 | RP2040 | QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm | U201, U301 |
| 2 | W25Q128JVS | SOIC-8_5.3x5.3mm_P1.27mm | U202, U302 |
| 2 | 12MHz_GND24 | Crystal_SMD_SeikoEpson_TSX3225-4Pin_3.2x2.5mm | Y201, Y301 |
| 2 | Conn_01x03 | PinSocket_1x03_P2.54mm_Vertical | J102, J103 |
| 20 | Conn_01x05_Pin | PinHeader_1x05_P2.54mm_Vertical | J106, J107, J108, J109, J110, J111, J112, J113 +12 |
| 2 | USB_C_Receptacle | USBC_24P | J201, J301 |
| 3 | SW_Push | SW_SMD_PUSH | SW101, SW201, SW301 |
| 1 | 10u | C_0603_1608Metric | C101 |
| 36 | 100n | C_0402_1005Metric | C102, C103, C104, C105, C106, C107, C108, C109 +28 |
| 4 | 1u | C_0603_1608Metric | C201, C209, C301, C309 |
| 4 | 20p | C_0402_1005Metric | C210, C211, C310, C311 |
| 4 | 27.4 | R_0402_1005Metric | R201, R202, R301, R302 |
| 4 | 5.1K | R_0402_1005Metric | R203, R204, R303, R304 |
| 4 | 1K | R_0402_1005Metric | R205, R207, R305, R307 |
| 2 | 10K | R_0402_1005Metric | R206, R306 |
Main design files
The KiCad project lives in the google/mozc-devices repository on GitHub; these links point at the commit this page was built from.
Main: common questions
What microcontroller does the Main use?
The Main is built around the RP2040, from the RP2040/RP2350 family.
How big is the Main PCB?
The Main measures 98 × 71 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the Main?
102 components, from 18 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the Main design files?
From the google/mozc-devices repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.
Can I use the Main design in my own project?
Yes, under the terms of its Apache-2.0 license, which google chose for the repository.
Can I test firmware for the Main without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug RP2040/RP2350 firmware against it before you order a PCB.
More boards in mozc-devices
STM32
Base
google
52.3 × 52.3 mm36 parts2LApache-2.02.9kSTM32
Main panel
google
234 × 84 mm26 parts4LApache-2.02.9kSTM32
Type g
google
169 × 30 mm24 parts2LApache-2.02.9kYunomi
google
14 × 100 mm23 parts2LApache-2.02.9kSTM32
Type f
google
159.5 × 30 mm22 parts2LApache-2.02.9kSTM32
Type c
google
188 × 30 mm17 parts2LApache-2.02.9kSub
google
19 × 76 mm15 parts2LApache-2.02.9kSub panel
google
191 × 85 mm15 parts2LApache-2.02.9kSTM32
Type a
google
150 × 30 mm14 parts2LApache-2.02.9kSTM32
Type e
google
140.5 × 30 mm13 parts2LApache-2.02.9kUsb
google
15.9 × 23.5 mm12 parts2LApache-2.02.9k
Similar boards
RP2040/RP2350
Open Book Abridged Edition
joeycastillo
85 × 115 mm29 parts2LCC-BY-SA-4.08.1kRP2040/RP2350
Corne
foostan
277.2 × 107.5 mm164 parts2LCC-BY-4.07.7kRP2040/RP2350
Corne
foostan
277.2 × 107.5 mm164 parts2LCC-BY-4.07.7kRP2040/RP2350
Jitx design
gusmanb
55.5 × 65 mm26 parts4LGPL-3.05.0kRP2040/RP2350
LogicAnalyzer
gusmanb
57 × 55.2 mm6 parts2LGPL-3.05.0kRP2040/RP2350
Sofle Pico
josefadamcik
145.4 × 116.3 mm98 parts2LMIT2.5k