Image 1 — We just dropped a 20‑Unit wireless macropad run
Image 2 — We just dropped a 20‑Unit wireless macropad run
Image 3 — We just dropped a 20‑Unit wireless macropad run
Image 4 — We just dropped a 20‑Unit wireless macropad run
Image 5 — We just dropped a 20‑Unit wireless macropad run
Image 6 — We just dropped a 20‑Unit wireless macropad run
Image 7 — We just dropped a 20‑Unit wireless macropad run

We just dropped a 20‑Unit wireless macropad run

Hey everyone,

Some of you might remember our earlier WIP posts about our wireless macropad with a screen. After a lot of evenings and more bug‑hunting, our first small batch is finally live.

Specs

  • 10 hot-swap keys (Kailh Choc V1 low-profile) + 1 layer key 
  • 1 rotary encoder with push button 
  • Sharp 400 x 240, 1 bit reflective screen
  • CPU: nRF52840, BLE 5 + USB-C connectivity
  • Up to 5 wireless profiles/layers 
  • 30+ days battery life (980 mAh)
  • Automatic per-app layer switching
  • Configuration via browser + dedicated app
  • OTA firmware updates (BLE)
  • ~125 x 93 x 20 mm, matte 3D-printed case

The honest tradeoff

The display is reflective with no backlight. That's not a hidden flaw; it's the deal we made to get weeks of battery instead of hours. Readable in any normal lighting, not great in a dark room.

OS support

Officially Windows and Linux. It may work on macOS/iOS/Android, but we haven't properly tested those yet.

About this batch

We made twenty. We're calling it the “Founders Edition”, and every unit is individually numbered: power it on and the boot screen greets you with its own number.

See all the details on our website: https://creavi.tech/

Buying details

Happy to answer anything in the comments: specs, the build, the parts that went wrong, whatever. :)

Cheers,

Andras & Kristof

u/creavi_tech — 11 days ago

We just dropped a 20‑Unit wireless macropad run

Hey everyone,

Some of you might remember our earlier WIP posts about our wireless macropad with a screen. After a lot of evenings and more bug‑hunting, our first small batch is finally live.

Specs

  • 10 hot-swap keys (Kailh Choc V1 low-profile) + 1 layer key 
  • 1 rotary encoder with push button 
  • Sharp 400 x 240, 1 bit reflective screen
  • CPU: nRF52840, BLE 5 + USB-C connectivity
  • Up to 5 wireless profiles/layers 
  • 30+ days battery life (980 mAh)
  • Automatic per-app layer switching
  • Configuration via browser + dedicated app
  • OTA firmware updates (BLE)
  • ~125 x 93 x 20 mm, matte 3D-printed case

The honest tradeoff

The display is reflective with no backlight. That's not a hidden flaw; it's the deal we made to get weeks of battery instead of hours. Readable in any normal lighting, not great in a dark room.

OS support

Officially Windows and Linux. It may work on macOS/iOS/Android, but we haven't properly tested those yet.

About this batch

We made twenty. We're calling it the “Founders Edition”, and every unit is individually numbered: power it on and the boot screen greets you with its own number.

See all the details on our website: https://creavi.tech/

Buying details

Happy to answer anything in the comments: specs, the build, the parts that went wrong, whatever. :)

Cheers,

Andras & Kristof

u/creavi_tech — 11 days ago

How keyboard layouts affect macropads

Hello everyone,

While working on our macropad, I ran into the problem of supporting different keyboard layouts. I thought I’d share what I experienced and how I’m handling if for now, in case it’s useful for others developing their own macropad firmware.

Long story short: macropad firmwares store and send standard HID reports to the host. This direction is pretty straightforward, when a key is pressed, it becomes a HID usage + modifiers (like Ctrl or Shift), and it is sent over USB or BLE. The OS receives these usages and determines the actual characters or shortcuts based on the active layout.

The tricky part is the configuration, when macros are created. When you type “some text” into the macro editor, what you’re really doing is asking the tool to reverse‑engineer which HID usages and modifiers will produce those characters for your specific layout. If you change layouts, the stored HID codes no longer match what you see on screen. My solution was to support layout selection in the config UI, so any text you enter is mapped to HID usages using that layout before being stored on the macropad’s flash.

I also wrote a longer post that goes through the whole chain (switch - matrix - HID - OS - layout) and shows concrete examples about the character-to-HID mapping part. If you’re interested, feel free to check it on our website.

I’d be curios if you’ve faced the same problem, and how you handled it?

u/creavi_tech — 19 days ago