ElementWing
jamiejcole·ElementWing·PCB/ElementWing.kicad_pcb
About the ElementWing PCB
ElementWing is an open source RP2040/RP2350 PCB design by jamiejcole, published on GitHub. It is a 2-layer board measuring 321.5 × 233.4 mm, with 188 components from 95 distinct parts.
Its main chip is the Raspberry_Pi_Pico, from the RP2040/RP2350 family. Other key parts include the MCP23017_SO. By type, the board carries 90 switches, 90 diodes, 2 ICs and 2 resistors.
From the project
ETC EOS Element Wing custom PCB project
It's a full sized EOS command wing, featuring the standard ETC key layout and 4 customisable rotary encoders.
The PCB consists of a 13x8 diode keyswitch matrix, where each row and column are connected to a GPIO pin on the Pico. The A/B/SW pins of each encoder are connected to a GPIO port on the MCP23017, which is connected to the Pico on the I2C0 interface, with the SDA and SCL lines pulled up to 3v3 with 2.2k resistors.
Main components on the ElementWing
ElementWing bill of materials (BOM)
188 components, 95 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | Raspberry_Pi_Pico | Raspberry_Pi_Pico | U1 |
| 1 | MCP23017_SO | SOIC-28W_7.5x17.9mm_P1.27mm | U2 |
| 4 | RotaryEncoder_Switch | RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | EC1, EC2, EC3, EC4 |
| 1 | Displays | MX_PCB_1.00u | SW1 |
| 1 | AddressPatch | MX_PCB_1.00u | SW2 |
| 1 | MLControls | MX_PCB_1.00u | SW3 |
| 1 | S1 | MX_PCB_1.00u | SW4 |
| 1 | S2 | MX_PCB_1.00u | SW5 |
| 1 | S3 | MX_PCB_1.00u | SW6 |
| 1 | S4 | MX_PCB_1.00u | SW7 |
| 1 | S5 | MX_PCB_1.00u | SW8 |
| 1 | S6 | MX_PCB_1.00u | SW9 |
| 1 | MoreSK | MX_PCB_1.00u | SW10 |
| 1 | Live | MX_PCB_1.00u | SW11 |
| 1 | Blind | MX_PCB_1.00u | SW12 |
| 1 | ScrollLock | MX_PCB_1.00u | SW13 |
| 1 | Macro | MX_PCB_1.00u | SW14 |
| 1 | Help | MX_PCB_1.00u | SW15 |
| 1 | Learn | MX_PCB_1.00u | SW16 |
| 1 | Query | MX_PCB_1.00u | SW17 |
Show 75 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | CopyTo | MX_PCB_1.00u | SW18 |
| 1 | RecallFrom | MX_PCB_1.00u | SW19 |
| 1 | LabelNote | MX_PCB_1.00u | SW20 |
| 1 | EmptyMacro | MX_PCB_1.00u | SW21 |
| 1 | About | MX_PCB_1.00u | SW22 |
| 1 | Park | MX_PCB_1.00u | SW23 |
| 1 | Escape | MX_PCB_1.00u | SW24 |
| 1 | PageUp | MX_PCB_1.00u | SW25 |
| 1 | Select | MX_PCB_1.00u | SW26 |
| 1 | Delete | MX_PCB_1.00u | SW27 |
| 1 | Path | MX_PCB_1.00u | SW28 |
| 1 | Effect | MX_PCB_1.00u | SW29 |
| 1 | GoToCue | MX_PCB_1.00u | SW30 |
| 1 | Block | MX_PCB_1.00u | SW31 |
| 1 | Assert | MX_PCB_1.00u | SW32 |
| 1 | Undo | MX_PCB_1.00u | SW33 |
| 1 | High | MX_PCB_1.00u | SW34 |
| 1 | Fan | MX_PCB_1.00u | SW35 |
| 1 | Capture | MX_PCB_1.00u | SW36 |
| 1 | PageLeft | MX_PCB_1.00u | SW37 |
| 1 | PageDown | MX_PCB_1.00u | SW38 |
| 1 | PageRight | MX_PCB_1.00u | SW39 |
| 1 | Part | MX_PCB_1.00u | SW40 |
| 1 | Cue | MX_PCB_1.00u | SW41 |
| 1 | Record | MX_PCB_1.00u | SW42 |
| 1 | + | MX_PCB_1.00u | SW43 |
| 1 | Thru | MX_PCB_1.00u | SW44 |
| 1 | - | MX_PCB_1.00u | SW45 |
| 1 | / | MX_PCB_1.00u | SW46 |
| 1 | Mark | MX_PCB_1.00u | SW47 |
| 1 | Sneak | MX_PCB_1.00u | SW48 |
| 1 | SelectLast | MX_PCB_1.00u | SW49 |
| 1 | IntensityPalette | MX_PCB_1.00u | SW50 |
| 1 | FocusPalette | MX_PCB_1.00u | SW51 |
| 1 | RecordOnly | MX_PCB_1.00u | SW52 |
| 1 | NUM7 num7 | MX_PCB_1.00u | SW53 |
| 1 | NUM8 num8 | MX_PCB_1.00u | SW54 |
| 1 | NUM9 num9 | MX_PCB_1.00u | SW55 |
| 1 | RemDim | MX_PCB_1.00u | SW56 |
| 1 | +% | MX_PCB_1.00u | SW57 |
| 1 | Home | MX_PCB_1.00u | SW58 |
| 1 | SelectManual | MX_PCB_1.00u | SW59 |
| 1 | ColorPalette | MX_PCB_1.00u | SW60 |
| 1 | BeamPalette | MX_PCB_1.00u | SW61 |
| 1 | Update | MX_PCB_1.00u | SW62 |
| 1 | NUM4 num4 | MX_PCB_1.00u | SW63 |
| 1 | NUM5 num5 | MX_PCB_1.00u | SW64 |
| 1 | NUM6 num6 | MX_PCB_1.00u | SW65 |
| 1 | Out | MX_PCB_1.00u | SW66 |
| 1 | -% | MX_PCB_1.00u | SW67 |
| 1 | Trace | MX_PCB_1.00u | SW68 |
| 1 | SelectActive | MX_PCB_1.00u | SW69 |
| 1 | Preset | MX_PCB_1.00u | SW70 |
| 1 | Sub | MX_PCB_1.00u | SW71 |
| 1 | Group | MX_PCB_1.00u | SW72 |
| 1 | NUM1 num1 | MX_PCB_1.00u | SW73 |
| 1 | NUM2 num2 | MX_PCB_1.00u | SW74 |
| 1 | NUM3 num3 | MX_PCB_1.00u | SW75 |
| 1 | Full | MX_PCB_1.00u | SW76 |
| 1 | Level | MX_PCB_1.00u | SW77 |
| 1 | QOnlyTrack | MX_PCB_1.00u | SW78 |
| 1 | Last | MX_PCB_1.00u | SW79 |
| 1 | Shift | MX_PCB_1.00u | SW80 |
| 1 | Delay | MX_PCB_1.00u | SW81 |
| 1 | Time | MX_PCB_1.00u | SW82 |
| 1 | clear | MX_PCB_1.00u | SW83 |
| 1 | NUM0 num0 | MX_PCB_1.00u | SW84 |
| 1 | num. | MX_PCB_1.00u | SW85 |
| 1 | At | MX_PCB_1.00u | SW86 |
| 1 | Enter | MX_PCB_1.00u | SW87 |
| 1 | Next | MX_PCB_1.00u | SW88 |
| 1 | StopBack | MX_PCB_1.00u | SW89 |
| 1 | Go | MX_PCB_1.00u | SW90 |
| 90 | Diode | Diode_DO-35 | D1, D2, D3, D4, D5, D6, D7, D8 +82 |
| 2 | 2.2K 2.2k | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1, R2 |
ElementWing design files
The KiCad project lives in the jamiejcole/ElementWing repository on GitHub; these links point at the commit this page was built from.
ElementWing: common questions
What microcontroller does the ElementWing use?
The ElementWing is built around the Raspberry_Pi_Pico, from the RP2040/RP2350 family.
How big is the ElementWing PCB?
The ElementWing measures 321.5 × 233.4 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the ElementWing?
188 components, from 95 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 ElementWing design files?
From the jamiejcole/ElementWing 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 ElementWing design in my own project?
The repository has no license, so all rights stay with jamiejcole. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the ElementWing 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.
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
LogicAnalyzer
gusmanb
57 × 55.2 mm6 parts2LGPL-3.05.0kRP2040/RP2350
Jitx design
gusmanb
55.5 × 65 mm26 parts4LGPL-3.05.0kRP2040/RP2350
Pro V2
kata0510
290.1 × 130 mm270 parts2LMIT2.3k