Skip to the content
PCBKitNew board
2 layers191.7 × 108.5 mmBlastpad, the printed circuit board in 3D

this is macropad created for blast team

Size
191.7 × 108.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
57
Nets
59
Pads
292
Tracks, vias
414, 0
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
12 Oct 2021
Updated
8 Apr 2026

Overview

Blastpad is an open-source printed circuit board by RafalBuchner, from the RafalBuchner/worldpad repository on GitHub. It is a 2-layer board of 191.7 × 108.5 mm with 57 parts on 59 nets, routed with 414 tracks and 0 vias.

Its parts include 23 diodes and 23 switches. It belongs with the keyboards and input boards and the RP2040 boards of this library.

README

README.md

package_cover

WORLDPad Documentation

WORLDPad is a macropad – a programmable keyboard with 23 customazible keys and 2 encoders (knobs).

Instruction

Layout

top_view_description

Keyborad's layout was designed to resamble the most left 5 columns of a standard keyborad with the exclusion of the top row (which usually contains all the F keys together with ESC key ). All of the keys are programmable, which means that with the help of a small desktop app you will be able to change behaviour of each key by assigning keystroke combinations to all of them. Additionally WORLDPad has two rotary encoders, which also can trigger some keystroke actions.

First Run

  1. Connect your WORLDPad to your computer via USB MICRO B cable. New usb storage device called WORLDPAD should appear. We will talk about it more later.
  2. Wait until BLAST logo will disappear.
  3. You should see the similar data on the display:

Default-Display

  • "Default" is a title of currently active Preset.
  • "Numbers" is a title of an Encoder Action currently assigned to the Encoder 1
  • "Up/Down" is a title of an Encoder Action currently assigned to the Encoder 2

Default-Display-description

Encoder Basics

In next the chapter we will talk more about Presets and how to set them up together with the Key and Encoder Actions. For now let's focus on the behaviour of the latter.

Changing the Encoder Actions:

Push the knob like it were a button.

You can see on the display that encoder changed it's title and therefore it changed its behaviour. Each Preset has its own set of "behaviours" that can be assigned to eighter Encoder 1 or Encoder 2 (see chapter Creating and editing Presets to learn how to create those behaviours).

There are two types of Encoder Actions:

  • "Left/Right" Encoder Action

    In this action you have assigned two keystrokes to the encoder: one to the counterclockwise and the other one to the cockwise movements.

    Good example is the "Up/Down" action. Left movement performs "UP ARROW" keystroke, while right movement performs "DOWN ARROW" keystroke. Test it, for example, in some text editor. You will see that the cursor behaves in a similar way, as you would hit the arrow buttons.

  • "Carousel" Encoder Action

    "Numbers" is a good example of a carousel action. In this action when you rotate knob clockwise, it will execute numerical keystroke. With every step the keystroke will represent incremented digit starting from 0 (zero) until it will reach the 9. After this, the counting will reset to 0.

    If you'll rotate know counterclockwise, the operation will work almost the same. Except, this time instead of incrementing, it will decrement digits.

Creating and editing Presets

Preset is a singular set of instructions, which determines what keystroke sequence will be triggered by your keys or encoders. You can store almost as many presets on your WorldPad as you want.

Maximum number of actions in the Preset:

Each Preset has actions assigned to the keys, which max number in the preset is equal to the number of the buttons in WORLDPad's keyboard layout (23 – excluding the special lonely key on the right side of the device). Besides Key Actions, each preset can have Encoder Actions. Number of those is in theory limitless. You can switch between all of Preset's Encoder Actions with just two physical encoders.

WorldPadControl app

MacOS

(Currently alpha pre-release version.)

Opening the app

Download the zip file from this site:

https://github.com/RafalBuchner/worldpad/releases/download/v0.0.0.1-alpha/WorldPadControl.macOS.zip

Or go to the main GitHub page of this project (https://github.com/RafalBuchner/worldpad) and look for the link in the download section of the documentation.

Inside the unzipped folder you will find WorldPadControl executable file. Double click on it. The window like one below should appear:

BlastApp

This is the Preset Editor. It is divided into two sections. One is responsible for controling the Key Actions. The other one for creating and editing the Encoder Actions.

BlastApp-sections

Key Actions Section

The Key Actions Section's buttons recreates the WorldPad's keyboard layout. If you click on the one of the buttons, the popup window will appear.

BlastApp-HotKeyPopUp

In this window you can assign pressed keystroke sequence to the previously selected button on the Key Action Section.

Simply press some keystroke sequence on your everyday-regular-keyboard and press "ok" button (IMPORTANT: Pacience, This keystroke won't be triggered by the corresponding key on the WORLDPad device yet – we will talk about saving presets onto the device soon).

This way you can edit all of the buttons on the Key Action Section layout. It is super easy.

Encoder Actions Section

Encoder Actions Section is a list, where each row represent different Encoder Actions. Each column cell (except the one reserved for the name) defines Keystroke/Hotkey.

  • To create a new Encoder Action hit "add encoder" button. It will create a new row.

  • Double click on the cell with the title "new encoder" to set the Encoder Action's name that will appear on the WORLDPad's display.

  • Click on one of the hotkey cells to assign keystroke sequence.

Creating "Left/Right" Encoder Action

To create a "Left/Right" Encoder Action you have to assign 2 hotkeys to the encoder. One in the column "hotkey 1" and the otherone in the column "hotkey 2".

The first one will be triggered when you rotate physical encoder counterclockwise. The second, whenever you rotate the same encoder in clockwise direction.

Creating "Carousel" Encoder Action

To create a "Carousel" Encoder Action you have to assign any number of hotkeys, except 2.

If you want to have additional hotkey slots created, hit "add hotkey" button. You can add as many as you want.

Saving presets onto the device

You save Presets as separate files with *.json extension.

Press Save button to create a Preset file. In order to save preset on your WORLDPad find the usb device with the same name and save the Preset into "Configs" folder. The name of the file will be used as a Preset Title on the WorldPad's display, so name it accordingly to your needs.

Changing the active Presets on the WorldPad device.

If you have more than one Presets you will be able to swich between the presets whenever you like!

It is super easy. Hold Action Key (the lonley key on the right side of the device). You will enter the Preset Selection menu. Now, rotate your Encoder 1 while holding the key. This way you will switch between the Presets.

Windows

(It is currently under construction. Beta version is coming very soon.)

Firmware

Firmware supports CircuitPython 10.1.4 for PICO rp2024.

building (depricated) python software

This repository uses uv package manager. Install nescessary dependencies using uv sync, then run uv run pyinstaller --windowed ${PWD}/software/WorldPad.py --icon ${PWD}/software/WorldPad.icns. It will create a an app in /Users/rafalbuchner/repos/worldpad/dist directory.

Downloads

WorldPadControl

MacOS Download link

Photos

WorldPad_300x300

WorldPad1_300x300

WorldPad2_300x300

WorldPad3_300x300

to restart tour behaviour:

To restart tour behaviour: Place localStorage.removeItem("worldpad-tour-seen") in the browser's console. To restart states: Place localStorage.removeItem("worldpad-state") in the browser's console.

Parts

57
QtyValueFootprintReferences
23Duser_footprints:DIODED0:0, D0:1, D0:2, D0:4, D1:1, D1:2, D1:3, D1:4, D2:0, D2:1, D2:2, D2:3, D2:4, D3:0, D3:1, D3:2 +7
6MountingHole_3.2mm_M3MountingHole:MountingHole_3.2mm_M3M3, M3, M3, M3, M3, M3
2Rotary_Encoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC12E-Switch_Vertical_H20mmEN1, EN2
11footprints:CHERRY_PCB_100HSW4:1
12footprints:CHERRY_PCB_100HSW4:2
13footprints:CHERRY_PCB_100HSW4:3
14footprints:CHERRY_PCB_100HSW4:4
1Afootprints:CHERRY_PCB_100HSW2:1
1ALTfootprints:CHERRY_PCB_100HSW0:2
1Cfootprints:CHERRY_PCB_100HSW1:4
1CAPSfootprints:CHERRY_PCB_100HSW2:0
1CTRLfootprints:CHERRY_PCB_100HSW0:0
1Dfootprints:CHERRY_PCB_100HSW2:3
1Efootprints:CHERRY_PCB_100HSW3:3
1Ffootprints:CHERRY_PCB_100HSW2:4
1PicoMCU_RaspberryPi_and_Boards:RPi_Pico_SMD_THMCU1
1Qfootprints:CHERRY_PCB_100HSW3:1
1Rfootprints:CHERRY_PCB_100HSW3:4
1Sfootprints:CHERRY_PCB_100HSW2:2
1SHIFTfootprints:CHERRY_PCB_200HSW1:1
1SPACEfootprints:CHERRY_PCB_200HSW0:4
1SUPERfootprints:CHERRY_PCB_100HSW0:1
1TABfootprints:CHERRY_PCB_100HSW3:0
1TILDEfootprints:CHERRY_PCB_100HSW4:0
1Wfootprints:CHERRY_PCB_100HSW3:2
1Xfootprints:CHERRY_PCB_100HSW1:3
1Zfootprints:CHERRY_PCB_100HSW1:2
1sh1106user_footprints:4pin oled display 1,3DISPLAY1
1wheel switchfootprints:CHERRY_PCB_100HSW:WHEEL1

Questions

How big is the Blastpad PCB?

It measures 191.7 × 108.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Blastpad use?

57 parts. 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 Blastpad KiCad files?

From the RafalBuchner/worldpad repository on GitHub, at the commit this page was made from: the board is hardware/KiCAD-Keyboard-Tutorial-master/blastpad.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Blastpad design in my own project?

Its repository states no licence, so its author keeps all rights: ask RafalBuchner before reusing the design.

Similar boards

  • 2 layers59.2 × 52.9 mmMagic epaper, the printed circuit board in 3D

    Magic epaper

    fossasia/magic-epaper-hardware

    Magic ePaper Hardware

    57 parts1kApache-2.0
  • 2 layers100 × 70.3 mmModulAdapter universal, the printed circuit board in 3D

    ModulAdapter universal

    GaudiLabs/OpenDrop

    Open Source Digital Microfluidics Bio Lab

    57 parts492GPL-3.0
  • 2 layers165.1 × 120.7 mmIfei, the printed circuit board in 3D

    Ifei

    jrsteensen/OpenHornet

    OpenHornet 1:1 F/A-18C Simulator Repository

    57 parts431
  • 2 layersFabricated boards, the printed circuit board in 3D

    Fabricated boards

    justbuchanan/oasis

    3d-printed smart terrarium

    57 parts270Apache-2.0
  • 2 layers121.1 × 104.7 mmSepia officinalis, the printed circuit board in 3D

    Sepia officinalis

    tapioki/cephalopoda

    Low profile split ergonomic mechanical keyboards

    57 parts240GPL-3.0
  • 2 layers100 × 96.5 mmKeyboard ch32x-36-lhs, the printed circuit board in 3D

    Keyboard ch32x-36-lhs

    rgoulter/keyboard-labs

    Repo with my PCB designs and keyboard firmware

    57 parts236
  • 2 layers178 × 39 mmAddOnA, the printed circuit board in 3D

    AddOnA

    freeDSP/freeDSP-aurora

    freeDSP ADAU1452 with 8 analog input, 8 analog outputs, S/P-DIF I/O, ADAT I/O, USB Audio Class2, WiFi, Bluetooth

    57 parts226CC-BY-SA-4.0
  • 2 layers58 × 110 mmBrain ui, the printed circuit board in 3D

    Brain ui

    shmoergh/moduleur

    Fully analog DIY-friendly modular synth

    57 parts222