paidmediamountain/nostromo-keyboard-qmk
A custom 45-key handwired mechanical keyboard inspired by the Nostromo spacecraft terminal from Alien. Features QMK firmware with 3 layers: standard QWERTY, numbers with vim-style navigation (HJKL arrows), and function/media keys. Includes complete wiring diagrams, Pro Micro pinouts, firmware source, and step-by-step build documentation.
Weyland-Yutani Nostromo Custom Keyboard
A custom 45-key mechanical keyboard with QMK firmware, inspired by the iconic spacecraft from the Alien franchise.
Features
- 45-key layout with 2u stabilized keys for Tab, Backspace, Shift, Space, and Return
- 3 layers accessible via dual function keys
- Pro Micro based (ATmega32U4)
- QMK firmware with full customization support
- Handwired construction with 1N4148 diodes
Layout
Base Layer (Layer 0)
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │
├───┼───┼───┼───┼───────┼───────┼───┼───┤
│Ctl│Alt│ ` │ \ │Tab 2u │Bksp2u │ ' │ = │
├───┼───┼───────┼───────┼───────┼───┼───┤
│Fn1│Sys│Shift2u│Space2u│Return2│Fn2│Esc│
└───┴───┴───────┴───────┴───────┴───┴───┘
Layer 1: Numbers & Navigation (Hold LEFT Fn1)
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
│ │ │ │ │ │ ← │ ↓ │ ↑ │ → │Del│
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
│ │ │ │ │ │Hom│PgD│PgU│End│Ins│
├───┼───┼───┼───┼───────┼───────┼───┼───┤
│ │ │ │ │ │ Del │ [ │ ] │
├───┼───┼───────┼───────┼───────┼───┼───┤
│Fn1│ │ │ │ │ │ │
└───┴───┴───────┴───────┴───────┴───┴───┘
Features:
- Numbers: Top row becomes 1-0
- Arrow keys: HJKL (vim-style: H=←, J=↓, K=↑, L=→)
- Navigation: Home, End, Page Up, Page Down
- Extras: Delete, Insert, Brackets [ ]
Layer 2: Function Keys & Media (Hold RIGHT Fn2)
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
│F11│F12│ │ │ │Prv│VoD│VoU│Nxt│Mut│
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
│ │ │ │ │ │Stp│Ply│Pau│ │ │
├───┼───┼───┼───┼───────┼───────┼───┼───┤
│ │ │ │ │ │ │ - │ + │
├───┼───┼───────┼───────┼───────┼───┼───┤
│ │ │ │ │ │Fn2│Rst│
└───┴───┴───────┴───────┴───────┴───┴───┘
Features:
- Function keys: F1-F12
- Media controls: Play/Pause, Next, Previous, Stop
- Volume: Volume Up/Down, Mute
- Special: QK_BOOT (Rst) for firmware flashing
Hardware
3D Printable Files
- Plate STL:
hardware/plate.stl- Mounting plate for switches
Required Components
- 1x Pro Micro (or compatible ATmega32U4 board)
- 45x Cherry MX compatible switches
- 45x 1N4148 diodes
- Wire for matrix
- USB cable
- Case/mounting solution (or 3D print the included plate)
Matrix Layout (5x10)
Col0 Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8 Col9
Row0 Q W E R T Y U I O P
Row1 A S D F G H J K L ;
Row2 Z X C V B N M , . /
Row3 Ctrl Alt ` \ Tab - Bksp - ' =
Row4 Fn1 - Shift - Space - Enter - Fn2 Esc
Note: Dashes (-) indicate positions that are part of 2u keys but have no switch.
Pro Micro Pinout
Pro Micro
┌─────────────┐
TX0 │ D3 RAW│
RX1 │ D2 GND│
GND │ GND RST│
GND │ GND VCC│
2 │ D1 F4 │ A3
3 │ D0 F5 │ A2
4 │ D4 F6 │ A1
5 │ C6 F7 │ A0
6 │ D7 B1 │ 15
7 │ E6 B3 │ 14
8 │ B4 B2 │ 16
9 │ B5 B6 │ 10
└─────────────┘
Pin Configuration
Matrix Rows (5 total)
- Row 0 → TX0 (D3) - Top row (Q through P)
- Row 1 → RX1 (D2) - Second row (A through ;)
- Row 2 → Pin 2 (D1) - Third row (Z through /)
- Row 3 → Pin 3 (D0) - Fourth row (Ctrl through =)
- Row 4 → Pin 4 (D4) - Bottom row (Fn1 through Esc)
Matrix Columns (10 total)
- Col 0 → Pin 5 (C6)
- Col 1 → Pin 6 (D7)
- Col 2 → Pin 7 (E6)
- Col 3 → Pin 8 (B4)
- Col 4 → Pin 9 (B5)
- Col 5 → Pin 10 (B6)
- Col 6 → Pin 16 (B2)
- Col 7 → Pin 14 (B3)
- Col 8 → Pin 15 (B1)
- Col 9 → Pin A0 (F7)
Wiring Notes
- Diode direction: COL2ROW (diode stripe towards row)
- One diode per switch (45 total)
- 2u keys use stabilizers but single switch in center position
- Debounce set to 10ms for stability
Diode Connection
Switch Pin 1 ───┤>├─── To Row Wire
Diode
(stripe towards row)
Switch Pin 2 ────────── To Column Wire
Build Gallery
Pro Micro Controller
Switch Installation
Matrix Wiring

Note: Work in progress - top 2 rows not yet wired in this photo
Building the Firmware
Prerequisites
Install QMK
pip3 install qmk
qmk setup
Method 1: Copy to QMK Directory
Copy the firmware folder to your QMK installation
cp -r firmware/weyland_yutani ~/qmk_firmware/keyboards/
Compile
cd ~/qmk_firmware
qmk compile -kb weyland_yutani/nostromo -km default
Flash (reset Pro Micro when prompted)
qmk flash -kb weyland_yutani/nostromo -km default
Method 2: Use Pre-compiled Hex
Flash the pre-compiled firmware directly
avrdude -p atmega32u4 -c avr109 -P /dev/ttyACM0 -U flash:w:firmware/weyland_yutani_nostromo_default.hex:i
Flashing Instructions
- Run the flash command
- When you see "Waiting for USB serial port - reset your controller now"
- Quickly double-tap the reset button on your Pro Micro (or short RST to GND twice)
- The bootloader window is only open for 8 seconds
- If successful, you'll see the upload progress
Troubleshooting Flash Issues
- Make sure you're in the
dialoutgroup:sudo usermod -a -G dialout $USER - Try different USB cables and ports
- Reset timing is critical - practice the double-tap rhythm
- Use the included
flash_with_reset.shscript for automated reset
Customization
Editing the Keymap
Edit firmware/weyland_yutani/nostromo/keymaps/default/keymap.c to customize your layout.
Common modifications:
- Change key assignments
- Add more layers
- Configure macros
- Adjust media keys
Adding Features
The keyboard.json supports enabling:
- RGB lighting
- Backlight
- NKRO (N-Key Rollover)
- Additional QMK features
Troubleshooting
Key Not Working
- Check solder connections on switch
- Verify diode orientation (stripe towards row)
- Test continuity with multimeter
- Check wire connections to Pro Micro pins
Inconsistent Key Response
- Increase debounce time in keyboard.json
- Check for cold solder joints
- Clean switch contacts
- Verify stable USB connection
Cannot Enter Bootloader
- Try shorting RST to GND directly
- Hold reset while plugging in USB
- Check Pro Micro board health
- Verify USB cable is data-capable
Project Structure
nostromo-keyboard-qmk/
├── firmware/ # QMK firmware files
│ └── weyland_yutani/
│ └── nostromo/
├── hardware/ # 3D printable files
│ └── plate.stl
├── docs/ # Documentation
├── scripts/ # Helper scripts
├── images/ # Photos and diagrams
└── README.md # This file
License
This project is open source and available under the MIT License.
Credits
- Built with QMK Firmware
- Inspired by the main computer terminal used by the captain and Ripley aboard the Nostromo spacecraft from the Alien franchise
- Special thanks to the QMK community
Note: This is an unofficial fan project. "Alien," "Nostromo," "Ripley," and "Weyland-Yutani" are trademarks of 20th Century Studios.
Contact
For questions, issues, or suggestions, please open an issue on GitHub.
"Building the perfect keyboard, one key at a time"


