Skip to the content
PCBKitNew board
2 layers116.6 × 40 mmHellboard, the printed circuit board in 3D

This is a Macro board based on RP2040-zero and Micropython, meant for ordering Stratagems for Helldivers 2 by registering as a HID-Keyboard.

Size
116.6 × 40 mm
Copper layers
2
Thickness
1.6 mm
Parts
32
Nets
33
Pads
157
Tracks, vias
333, 83
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
1 Jun 2024
Updated
24 Oct 2026

Overview

Hellboard is an open-source printed circuit board by frfrh, from the frfrh/Hellboard repository on GitHub, published under the GPL-2.0 licence. It is a 2-layer board of 116.6 × 40 mm with 32 parts on 33 nets, routed with 333 tracks and 83 vias.

It is built around the RP2040-ZERO, AO3400A and M93C66-WMN6P. Its parts include 8 capacitors, 8 diodes, 2 resistors, 1 IC and 1 transistor. It belongs with the RP2040 boards of this library.

Main components

3

README

README.md

Hellboard

This is a Macro board based on RP2040-zero and Micropython, meant for ordering Stratagems for Helldivers 2 by registering as a HID-Keyboard.

PXL_20240601_011015119 MP

Hellboard Companion

The Hellboard Companion is a Windows app that puts your stratagems on the Hellboard automatically. It watches the Helldivers 2 loadout screen, recognizes the four stratagems you pick and the optional mission stratagems, and sends them to the board as soon as you press Ready. You don't have to configure any buttons by hand. The app also configures the board and installs firmware updates, so you need nothing else to use the Hellboard.

Hellboard Companion – overview with a recognized loadout

Download it from the releases. More details: Software/README.md.

Three stratagems need a one-time setup

The game draws three stratagems differently from the icon set the Companion compares with, so they are reported as not recognized at first:

  • EAT-17 Expendable Anti-Tank and EAT-411 Leveller – the game adds a small badge to the icon.
  • TD-220 Bastion MK XVI – the icon set shows the Maelstrom for it. Until you set it up, a Maelstrom may also be taken for the Bastion.

Teach the Companion how they look in your game – it takes about a minute and is needed only once:

  1. Put all three into your loadout on the loadout screen (plus any fourth stratagem) and press Ready (or close the screen).
  2. Open the Companion and go to the History tab. You find one entry Problem: stratagem not recognized with a picture of the slot for each of them.
  3. In each entry, choose the stratagem under This is … and click Use as reference.

From now on they are recognized and shown with their in-game picture. The pictures stay on your PC; the Stratagems tab lists them (Only with reference) and can remove them. The same works for any other stratagem that is not recognized, e.g. after a game update changed an icon.

Folders

Firmware

Contains the firmware to be loaded into the RP2040 and the Micropython project files.

Hardware

Contains the 3D files for the case and the button caps.

PCB

Contains the project files for the PCB and the gerber files to order one. Project is based on KiCad 8.0.2.

Software

Contains the Hellboard Companion (C#/.NET, Windows): loadout recognition, transfer to the board, board configuration and firmware updates.

Configuration

The board is configured in Firmware/config.json; the stratagems and their input codes come from doc/stratagems.json, the single list used by the firmware and the Companion software (format: doc/stratagems.md).

  • fixed, loadout, multiFunction: stratagems of the buttons 1_1/1_2, row 2 and the multi-function button 1_3 (cycled with 1_4), by their id.
  • modifierKey: HID usage id of the stratagem key (scancodes, e.g. 6 = C, 224 = left Ctrl). modifierToggle: true presses it once to open the menu, false keeps it pressed while the code is entered.
  • directionKeys: arrows or wasd; menuDelayMs, keyPressMs, keyReleaseMs: wait for the stratagem menu, how long each arrow is held, pause between arrows (ms); brightness: LED brightness (0-255).
  • screenSaverSeconds: display off after this time without a button press (0 = off); scrollText: off, long (long names scroll back and forth) or loop (they run continuously).
  • transferFeedback: how a received loadout or a save is confirmed – hellpodHorizontal (default: a Hellpod animation flying in from the right), hellpodVertical (falling from the top) or flash (all LEDs flash white). Errors always flash red.

Upload the changed config.json to the board (see Setup). With the Hellboard Companion, all of this is set on its Hellboard tab instead, and the loadout is taken from the game automatically.

Build your own

You can use the gerber files in PCB/gerber to order your own PCBs or order it directly from https://aisler.net/p/AHPZGPKK.

You will also need the following parts:

PartAmountLink
RP2040-Zero1link
0,96" OLED Display 128x641link (the 26.7mm variant, blue PCB)
Kailh boxed switches8link
Kailh hot-swap socket8link
WS2812b-2020 LED8link
N-Channel MOSFET11
10K 0805 resistor12
M93C86-WMN6P EEPROM21link
Button caps38link

You can find icons for the buttons here.

Setup

  1. Flash MicroPython with HID support onto the RP2040 (only needed once):
    1. Press the button (Boot) and connect the Board to a PC.
    2. Copy the UF2-file into the drive RPI-RP2.
    3. Re-Connect the board.
  2. Install the firmware files. Firmware/manifest.json lists every file and its name on the board (all files go into the board's root directory, including the stratagem list doc/stratagems.json).
    • With the Hellboard Companion (Software/, recommended): connect the board, open the Hellboard tab and choose Update Hellboard firmware. Later updates work the same way.
    • With the upload tool (needs the .NET 10 SDK): from the Software folder run dotnet run tools/hellboard-upload/hellboard-upload.cs. It finds the board, installs and verifies all files and restarts the board – see Software/tools/hellboard-upload.
    • By hand with Visual Studio Code and the MicroPico extension: upload every file listed in the manifest under its target name (Upload current file to Pico).
  3. Choose your stratagems in Firmware/config.json (before uploading): buttons 1_1/1_2, the loadout (row 2) and the multi-function list, referenced by their id in doc/stratagems.json; modifierKey is the HID usage id of your stratagem key. With the Hellboard Companion (Software/), the loadout is set automatically from the game.

Footnotes

  1. I got them by desoldering them from a level shifter I had lying around. link ↩ ↩2

  2. The EEPROM is optional and currently not used: the configuration is stored in the RP2040's own flash (config.json). ↩

  3. I used the button caps from here but replaced the internals with the ones from Hardware/Kailh-Cap.stl as the original ones are not translucent. Any button caps compatible with Kailh boxed switches should do. ↩

Parts

32
QtyValueFootprintReferences
9TestPointTestPoint:TestPoint_Pad_D1.5mmTP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8, TP9
84µ7Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C2, C3, C4, C5, C6, C7, C8
4WS2812_SwitchKailh_hotswap_led:Kailh_socket_MX_WS2812B_RLD1, D2, D3, D4
4WS2812_SwitchKailh_hotswap_led:Kailh_socket_MX_WS2812B_LRD5, D6, D7, D8
210kLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderR1, R2
1AO3400APackage_TO_SOT_SMD:SOT-23Q1
1M93C66-WMN6Pfootprints_M93C66-WMN6P:SO-8_STMCR1
1OLED-128x64display:OLED-128x64J1
1SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP1
1rp2040-zeromcu:rp2040-zero-smdU1

Questions

How big is the Hellboard PCB?

It measures 116.6 × 40 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Hellboard use?

32 parts, built around the RP2040-ZERO, AO3400A and M93C66-WMN6P. 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 Hellboard KiCad files?

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

Can I use the Hellboard design in my own project?

Its repository publishes it under the GPL-2.0 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

  • 4 layersSoccer bottom, the printed circuit board in 3D

    Soccer bottom

    class-ab/open-soccer

    Mindstormers' open soccer repo. contains code, pcbs, elec, diagrams, etc...

    76 parts2
  • 2 layers132.3 × 94.9 mmCheapino, the printed circuit board in 3D

    Cheapino

    tompi/cheapino

    An affordable split 36 keys keyboard

    59 parts1.2kCC-BY-4.0
  • 2 layers321 × 92.3 mmMx40, the printed circuit board in 3D

    Mx40

    zzeneg/stront

    Split keyboards with 38 or 40 keys, LCD display and Cirque trackpad

    181 parts353MIT
  • 2 layers255.9 × 99.3 mmZerosprey42, the printed circuit board in 3D

    Zerosprey42

    beekeeb/zerosprey42

    Zerosprey42 Keyboard is a wired, beginner friendly, choc hotswap, MonoBlockSplit (Unibody), column-staggered, DIY mechanical keyboard.

    96 parts140
  • 2 layers146.3 × 69.5 mmStress, the printed circuit board in 3D

    Stress

    GroooveBob/Stress

    Pocket Arcade Fight Pad

    22 parts102MIT
  • 2 layers54 × 64 mmDonConIOmini, the printed circuit board in 3D

    DonConIOmini

    ravinrabbid/DonCon2040

    RP2040 based firmware and hardware for DIY Taiko no Tatsujin Drum Controllers

    96 parts66MIT