September 20, 2024
In this post, I’ll guide you through building your own custom macro pad using Flux, a powerful PCB design tool that simplifies the design process with its intuitive features. We’ll be working with the Raspberry Pi Pico 2’s RP2350A, the latest in the Pico line, to power this project and give you a flexible platform to customize your macro pad exactly to your needs.
Macro pad, macros or macro keys started out as specialized tools for professionals who needed to automate repetitive tasks. Video editors, graphic designers, and even gamers all found ways to create custom shortcuts using these devices. Over time, the idea evolved, and now anyone can build a macro pad to suit their workflow. One cool example is the Figma Creator Micro, which is designed for Figma users and comes pre-loaded with useful shortcuts.
But what’s even better? You can build your own, tailored to whatever you need, and that’s where Flux comes in handy.
So, you’ve decided to build a macro pad. Where do you start? Whether you’re a seasoned PCB designer or just getting into it, Flux makes the process pretty straightforward.
Here’s how you can get started:
The best way to kick off your project in Flux is by using one of the manufacturer design templates. Simply clone or fork it, then off you go. These templates are pre-configured to match the specifications of popular manufacturers like JLCPCB, PCBWay, AISLER, LION Circuits, Seeed Studio, and more. By using these templates, you won’t have to manually configure parameters like trace widths, keepout areas, or other key settings—they’ll be optimized based on the manufacturer’s capabilities.
The next step in designing your macros is to select the right components and connect them in the schematic editor. In Flux, this process is simplified thanks to the component library, which offers a wide variety of pre-configured parts, from switches to microcontrollers.
Typically, a macro keys will include mechanical switches, a microcontroller (like an Raspberry Pi or Arduino ATmega32u4) which support USB HID (Human Interface Device) for keyboard functionality, and passive components like resistors and capacitors to stabilize the signals. If you’re designing something a bit more advanced, you might also want to add LEDs for backlighting and rotary encoders for additional input which can be used for volume adjustment, brightness or zoom control.
Flux Component Library is stacked with pre-built parts, including switches and controllers that are essential for a macro pad. Here are 10 great options you’ll find:
All you need to do is drag the components into your schematic editor and start making connections.
Once your components are in place, you'll need to connect them together in the schematic editor to ensure everything communicates properly. In Flux, this is as simple as connecting the symbols of each part. You can ask Flux Copilot to assist with the connections, automating the process and suggesting the right components to add in between.
Here’s the cool part: Flux Copilot, an AI assistant built right into your Flux projects, not only answers complex questions but also helps speed up your design process by automatically wiring up your schematics. For example, you can ask:
@copilot please connect my main 4 buttons to the MCU. Should I add any components in between?
Copilot will suggest any required components and automatically place net portals, connecting your components together, properly. That saves you a ton of time!
After completing the schematic diagram of your macro pad, you can move directly to the PCB editor. Flux simplifies this by ensuring that every component you dragged into your schematic already has a footprint (the physical representation of the component on the PCB). This includes pads for soldering, outlines for the silkscreen layer, and even a 3D model to visualize how everything will fit together. This makes it easy to see how your macro pad will fit together, especially if you're planning to use an enclosure.
A handy feature in Flux is the automatic ground fill and stitching vias, which takes care of all the ground connections for you by filling in copper in all the layers of your board. You won’t have to manually connect ground nets, making your design cleaner.
Another helpful feature is smart vias. When you're working with a small, high-density design like a macro pad board, Flux will automatically select and place optimal via types and configurations to make sure your connections are optimized without taking up too much space.
If you ever feel stuck, you can always ask Flux Copilot for help. Here are list of popular Copilot prompts you can copy and paste, or modify for your own use! Whether it’s about placing components, organizing your layout, or selecting the right parts, Copilot’s got your back. It’s like having an expert PCB designer sitting with you, offering tips and suggestions as you work.
Inspired by the Figma Creator Micro, I set out to build something similar—a compact macro pad that offers customizable control and functionality. The Creator Micro is perfect for streamlining workflows with its Figma shortcuts, so I wanted to recreate that concept but add my own twist.
For my build, I chose to power it with the Raspberry Pi Pico 2, the latest version of the Pico line, which packs more power and capability. I also added a W25Q32RVXHJQ chip—a 3V, 32M-bit serial flash memory with dual/quad SPI & QPI—for storage and flexibility when handling more complex macros or functions.
In addition to two PEC12R-2220F-S0024 rotary encoders, I included a PTA2043-2010CIB103 slide potentiometer, giving the macro pad even more versatile control options. This potentiometer allows for smoother, precise adjustments—ideal for tasks like controlling volume or brightness.
I used the automatic ground fill to simplify the process of connecting ground nets, and the smart vias feature ensured everything was laid out perfectly, even in the limited space I had for this compact design. This helped make the board both efficient and neat, with all connections properly routed.
You can check out the schematic and PCB design here. By following similar steps, you can build a custom macro pad that fits your specific needs—whether for creative work, gaming, or just improving everyday tasks.
After designing and building your custom macro pad, the next step is programming it. The Raspberry Pi Pico 2 uses MicroPython, which makes it easy to modify the code for your specific needs.
Here’s a powerful firmware written in MicroPython that includes features like debouncing for switches, RGB color cycling, rotary encoder tracking, and custom macros.
This flexible firmware tracks keypresses, controls RGB lighting, and handles rotary encoder inputs. It also allows for key remapping or adding more advanced features, such as USB HID keyboard functionality.
With this setup, you can expand your macro pad to include custom controls for media playback, design software, gaming functions, and more. The code is versatile, allowing you to tweak and expand it to match your specific use case.
If you’re tired of working with generic keyboards or need a more efficient way to manage your workflow, building a macro pad is a fun and practical solution. With Flux and its AI-powered Copilot, you don’t need years of PCB design experience to get started. The tool’s simple interface and handy features will guide you through the entire process—from schematic design to finished PCB layout.
So, what are you waiting for? Sign up for Flux and start designing your custom macro pad today. You’ll be surprised at how much time you can save once you have a device tailored to your specific needs!
If this sounds interesting to you and you'd like to request a demo or learn more, please contact sales.