How Twocanoes used Acroname’s raw API access to automate the "impossible" Mac DFU restore process.
We recently sat down with Timothy Perfitt, founder of Twocanoes Software, to discuss how he built DFU Blaster — a tool for Mac Admins that automates the restoration of modern Macs. By combining his deep understanding of Apple device deployment with the low-level capabilities of the Acroname USBHub3c, Tim parallelized a massive bottleneck in device management.
His experience highlights a universal truth for our partners across industries such as AV integration, Medical device QA, and Automotive manufacturing: our bias toward surfacing as many hardware features as possible through a simple API lets developers build custom solutions we didn’t anticipate.
The Problem: The "Three-Handed" Restore
Putting a modern Mac into DFU (Device Firmware Update) mode manually is, as Tim puts it, a task that makes you "want to murder the machine". It involves a complex, timed sequence of keystrokes that vary by model, often with no visual feedback.
For a single device, it’s frustrating. For a depot reprovisioning hundreds (or thousands) of devices, it is a non-starter. Tim realized that the Acroname USBHub3c had the hardware capability to send Vendor Defined Messages (VDMs) over USB-C to automate this process across all ports, and the API allowed for arbitrary byte message payloads.
An Integrated Solution
Originally, Twocanoes hoped to build a solution that worked with any USB hub. But Tim discovered that being able to have a Mac on any hub port enter DFU mode automatically was a huge benefit to his users.
"We decided to integrate with the Acroname Hub because your product is so unique." — Tim Perfitt
By leveraging the Acroname platform, DFU Blaster plus USBHub3c gives users a turnkey high-throughput Mac restore system.
Full Control
Technical audiences often struggle with hardware that tries to be too "smart." Our customers are doing new things, and we need to enable applications that don’t exist yet.
In fields like Automotive hardware testing or Medical QA, engineers often need to force edge cases like cutting power while data is active, manually setting voltage and current, that a standard hub logic would prevent to "protect" the user.
Tim appreciated that Acroname exposes these low-level controls.
"You expose all the features. It has all the buttons and allows me to test all the modes and put it in modes that break things. Because. I want the tool to do that."
This level of control allowed Twocanoes to build advanced troubleshooting features directly into DFU Blaster, such as toggling port power to reset PD negotiation logic, detecting connected devices, or measuring current.
The Power of Using Your Own Tools
One of the distinct advantages of the Acroname ecosystem is that we are our own biggest customer for our API. Our primary configuration utility, HubTool, is built entirely on the same public API available to our partners. There are no private, undocumented backdoors reserved for our internal teams. We use our own hubs in our internal development and as daily drivers. Tim highlighted this as a major confidence builder during his development of DFU Blaster:
"There's no secret sauce in there. HubTool is just a front end to all the local APIs... It's not like you add a feature internally and then make the API available. You make it available and then you use it. You're your own customers."
This means that if a feature works in HubTool, it will work in your custom solution.
Sample Code is "Gold"
When discussing the integration process, Tim noted that good documentation is the baseline, but functional examples are what actually accelerates development.
"Saying that you have a great API that's well documented is only part of the good story. Having sample code for me is gold." — Tim Perfitt
Because Acroname provides extensive sample code in multiple languages (Python, C++, etc.), Twocanoes could skip the boilerplate and focus on their core logic.
Your Hardware Partner
The success of Twocanoes shows that you don't need to be a hardware manufacturer to deliver an integrated hardware-based solution. By leveraging Acroname’s API, Tim turned our industrial hub into a vertical-specific appliance for managing Macs at scale.
As Tim noted during our call, the value isn't just in the hardware specs, but in the partnership:
"That's for me, the value in the relationship... Having your engineers point to the documentation of the sample code... instead of saying, oh, we'll write that in and we'll put that in the future release."
We’d love to hear from you!
- What weird USB problem are you working on?
- Need some sample code that you can’t find on the site?
- What’s missing from our API? What other features should we surface?
Add New Comment