Articles in this section

Overview: Adaptive Packing Station

Take an adaptive game controller, a few extra buttons, and a packing station, and what do you get? Tripled packing efficiency in your warehouse!

Introduction

Handheld barcode scanners revolutionized warehouse picking and packing — reducing errors, improving quality assurance, and saving time.

However, there is still a lag between picking up the scanner, scanning the barcode, and putting it back down, especially during the critical packing phase. Even one or two seconds per order adds up significantly across your entire operation.

The solution came from the gaming community. Xbox® released an adaptive game controller designed for gamers with limited mobility, and we discovered it could be repurposed for packing stations at ShipHero. Combined with a Logitech® button kit and open-source software, the result is a faster, more ergonomic packing workflow.

If you're a current ShipHero WMS client, you can adapt your packing stations to use game controller buttons by following the steps below.

Setting Up an Adaptive Packing Station

Step 1: Gather Hardware

Each packing station requires the following hardware:

This hardware can be purchased directly from Microsoft or from retailers such as Best Buy. Prices are typically the same.

The Xbox Adaptive Controller is the core component, featuring two oversized buttons that can withstand constant heavy use and ports for up to 15 additional input sources. The Logitech kit provides 10 more buttons that can be placed wherever needed around the packing station.

While we recommend buttons from the Logitech Adaptive Gaming Kit for their price and guaranteed compatibility, any robust microswitch wired to a 3.5mm mono jack will work. 3.5mm jack plugs are required to connect to the Xbox Adaptive Controller.

Optionally, you may also need:

Extension cables provide the range needed to place buttons in convenient locations around the station.

We recommend "slim" cable plugs because the input sockets on the Adaptive Controller are spaced close together. If the cable ends are too wide, there may not be enough room to plug them in side by side.

Step 2: Configure Packing Station Hardware

By wiring a packing station with Adaptive Controller buttons, packers can instruct ShipHero's WMS to print a label/invoice or complete an order with the press of a button.

This system uses packaging size as the main differentiator. Once a package type is entered — with a button press rather than a handheld scanner — ShipHero's WMS knows what to do.

There are 17 buttons that can be programmed with different input codes. Two must be assigned to the core functions above (print label/invoice and complete order). The remaining 15 can be assigned as needed.

Here is an example of an adaptive packing station wired with additional buttons:

adaptive1.png

The top row of five buttons allows a packer to input box size:

adaptive2.png

The bottom row of five buttons inputs the bag size:

adaptive3.png

All buttons are wired to the Adaptive Controller using 3.5mm extension cords:

adaptive4.png

Notice that the cord ends are labeled with the button they connect to, reducing confusion.

Here you can see the adaptive packing station in action:

adaptive-pack-tiktok.png
Watch Aaron Rubin pack an order in 25 seconds

The number of peripheral buttons will vary depending on your needs. If you have multiple adaptive packing stations, each should use an identical layout and number of buttons — this ensures consistent configuration and simplifies troubleshooting.

Step 3: System Setup

Each packing station must run a Windows operating system. On each Windows machine, download the following software:

AntiMicro is a free, open-source program that lets you assign custom input to gamepad buttons. To install, download the installer from SourceForge, navigate to the download directory, and double-click the installer file. Administrator permission may be required to approve the installation.

adaptive5.png

After running the installer, a new desktop icon for AntiMicro will appear.

If you cannot use AntiMicro, reWASD for Windows is an alternative that can be downloaded and configured in much the same way.

Next, configure Windows to allow use of all gamepad buttons. Navigate to Windows settings and select Gaming.

adaptive6.png

Ensure that the Xbox Game Bar is switched Off and that the option Open Xbox Game Bar is unchecked:

adaptive7.png

This allows you to map new input to one additional button on the gamepad.

While this setup is only tested on Windows OS, the Adaptive Controller hardware should function equally well on macOS. However, using a different OS requires finding and configuring your own gamepad interpolation software.

Step 4: Configure Software

Setting up the software profile is the most complex step, but you only need to complete a full configuration once. After creating a correctly configured profile on one packing station, you can copy the file to every other station using the same hardware setup.

Define Input Codes

Before programming AntiMicro, you need to know the input values that allow the gamepad to communicate with ShipHero.

ShipHero expects two types of input at a packing station:

  • Command codes: These instruct the software to perform a specific function. Command codes are the same in every warehouse.
  • Packaging types: These are labels for the types of packing materials used at a station. Packaging types are unique to each warehouse.

Common command codes are listed below:

  • Print Labels: sh0002
  • Print Invoice: sh0001
  • Print Invoice & Label: sh0003
  • Get Weight from Scale: sh0005
  • Add Package: sh0010
  • Take Parcelview: sh0009
  • Complete Order: sh0004

Your warehouse may already use ShipHero's standard barcode commands cheat sheet. You can view it here.

When scanned by a barcode reader, these barcodes are translated into command codes that ShipHero can understand. To find a code, open a text document in Notepad or another text editor and scan a barcode with your scanner. A series of letters and numbers will appear in the document corresponding to that barcode. For example, scanning the "Print Labels" barcode from the cheat sheet will produce "sh0002".

Packaging types can also be determined using a predefined barcode, a handheld scanner, and an open text document. However, your warehouse may not assign barcodes to every package type. To view a complete list of packaging types for your warehouse, go to Shipping > Boxes in ShipHero. You will need the codes for every category of packaging used at your station. Learn more about setting up shipping boxes and assigning barcodes.

Run AntiMicro

Once you have a complete list of command codes and packaging types, you are ready to use AntiMicro.

Double-click the AntiMicro icon on your desktop to launch the program. The window should look like this:

adaptive8.png

If AntiMicro cannot detect a gamepad, the screen will appear as follows:

adaptive9.png

This blank screen indicates a problem with the Adaptive Controller connection. Check your hardware configuration for issues.

Key Mapping

Once AntiMicro is running and has detected the Adaptive Controller, you can begin assigning input.

We recommend using the A (left side) and B (right side) buttons on the Adaptive Controller to input command codes. Specifically, use the A button as a multipurpose process-advancing trigger and the B button to complete an order — assigning a dedicated "complete order" button reduces the chance of mistakes. Use the peripheral buttons to input packaging types.

The steps below show how to assign input to both the A and B buttons.

From the AntiMicro main screen, use the mouse to select the A button. This corresponds to the left large button on the Adaptive Controller.

You can verify your button layout by pressing any button connected to the controller. AntiMicro will highlight that button on the main screen.

adaptive10.png

This opens the key assignment window. Use the Name field at the bottom to create a descriptive name for the button. The Current field will show "[NO KEY]" until an action is defined.

adaptive11.png

After naming the button, select Advanced. In the example below, the name is "Print LabelInv Photo" because the A button will take a photograph using ParcelView, then print the invoice and label.

adaptive12.png

The advanced keymapping settings let you define a sequence of actions for a single button press. For the A button, a single press will trigger five actions:

  1. Input the Take Parcelview command to photograph the package using ParcelView
  2. Input the ENTER key
  3. Pause for half a second to ensure ShipHero is ready for the next command
  4. Input the Print Invoice & Label command
  5. Input the ENTER key again

Create each action in sequential order. For the first action, enter the command code for Take Parcelview. From the cheat sheet, this code is "sh0009". Select the first tile at the top of the window by clicking outside the small blank rectangle to highlight it in blue:

adaptive13.png

Use the central dropdown menu to select Text Entry, then input "sh0009" in the text field. Click Insert when finished.

adaptive14.png

adaptive15.png

For the second action, assign an ENTER key input. Select the second tile by clicking inside the small blank rectangle until it shows three dots:

adaptive16.png

Now press the ENTER key:

adaptive17.png

The second action is now defined.

For the third action, assign a half-second pause. Select the third tile by clicking outside the inner rectangle to highlight it in blue:

adaptive18.png

Use the central dropdown menu to select Pause, then use the small dropdown at the bottom of the window to set the duration to 0.5 seconds:

adaptive19.png

adaptive20.png

Click Insert. The third tile should now read "Pause 00.50":

adaptive21.png

For the fourth action, input another command code. The code for Print Invoice & Label is "sh0003". Select the fourth tile by clicking outside the inner rectangle to highlight it in blue. Choose Text Entry from the dropdown and input "sh0003". Click Insert when finished.

adaptive22.png

adaptive23.png

For the fifth action, assign another ENTER key input. Select the fifth tile by clicking inside the small rectangle until it displays three dots:

adaptive24.png

Press the ENTER key:

adaptive25.png

All five actions are now assigned to the A button. Close the Advanced window and the Key Assignment window to return to the main menu.

From the AntiMicro main menu, select the B button. This corresponds to the right large button on the Adaptive Controller.

adaptive26.png

Name the button "Complete Order" before opening the Advanced window:

adaptive27.png

The B button will trigger two actions on a single press:

  1. Input the Complete Order command
  2. Input the ENTER key

The command code for Complete Order is "sh0004". Select the first tile by clicking outside the small blank rectangle:

adaptive28.png

Choose Text Entry from the dropdown and input "sh0004". Click Insert when finished.

adaptive29.png

Next, select the second tile by clicking inside the small rectangle until it displays three dots:

adaptive30.png

Press the ENTER key:

adaptive31.png

Two input actions are now mapped to the B button.

Assigning input to peripheral buttons will depend on how many packaging types you use and which port each button is connected to on the Adaptive Controller.

The example below shows a completed key mapping for an adaptive packing station:

adaptive32.png

Change Program Settings

After assigning functions to all buttons, select Save As from the main menu and name your profile. Save the file to your local machine so it can be loaded every time the program starts.

It is also important to configure AntiMicro to autoload this profile and prevent packers from accidentally closing the program.

Select Options > Settings.

adaptive33.png

In the left-hand menu, navigate to General and check the boxes next to Close To Tray, Launch At Windows Startup, Auto Load Last Opened Profile, Launch in Tray, and Associate Profiles.

adaptive34.png

With these settings, AntiMicro will start when the system boots, load your customized input automatically, and continue running in the background. Closing to the tray also reduces the chance of the program being accidentally deactivated while the station is in use.

Packing station users will not need to interact with AntiMicro at all — it runs entirely in the background.

Troubleshooting

When I try to open AntiMicro, the program window never appears.

If AntiMicro is set to Launch in Tray, use the tray icon to display the program window. In the bottom right corner of your desktop, select the small arrow to show hidden tray icons, then click the gamepad icon to open AntiMicro.

adaptive35.png

When I press a button on the Adaptive Controller, it doesn't work as expected or doesn't work at all.

Open a Notepad text document and press a button on the Adaptive Controller. A text string corresponding to the assigned input should appear. Double-check that the assigned strings are correct. If no text appears, there may be a hardware connection problem.

adaptive36.png

Step 5: Copy Software to Packing Stations

After configuring the AntiMicro profile on one packing station, you can copy that profile to every other station using the same button configuration.

Profiles are saved as AMGP files. Copy the profile to a USB thumb drive, then save the AMGP file on the next workstation.

Once saved, open AntiMicro on the new machine, select Load, and open the local file. Then navigate to Options > Settings and check the same boxes as on the first machine.

Repeat this process for every adaptive packing station using the same layout.

You can use AntiMicro to support different packing station hardware layouts as long as each layout loads a different AMGP profile. However, this requires extra attention to file version management and increases overall configuration time.

Conclusion

The cost to make this upgrade is minimal — typically less than a socket mobile scanner, which is what most clients use in their warehouses. The one caveat is that, like many electronics, adaptive controllers and button kits can occasionally be hard to source. If you're outfitting multiple stations, you may need to do it in waves.

For more information about adaptive packing stations, check out this blog post or reach out to the Client Support Team.

Was this article helpful?
11 out of 12 found this helpful

More Resources

  • ShipHero Public API

    Connect your tools and AI agents directly to ShipHero with the Public API. Build powerful integrations, automate workflows, and tap into real-time data using the AI tools you prefer, with the option for secure, read-only access for AI-driven insights without added risk.

  • ShipHero Academy

    Explore ShipHero Academy for certifications, deep-dive training, and expert-led courses on WMS and fulfillment. Build your expertise and help your team operate at a higher level.

  • Change Log

    Stay up to date with the latest improvements across ShipHero. The Change Log gives you a clear view of new features, enhancements, and fixes as they roll out—so you always know what’s new and what’s better.