This module helps you talk USB-C PD, with a RP2040 for implementing your custom behaviour. Works with C++ and MicroPython!
Designed by FairywrenTech in Latvia
Buy with confidence.
Our Tindie Guarantee protects your purchase from fraud. Learn More
Let's bring your projects to life! If you want advice on a project of yours, use contact info in my store description. + check out my store, I have some cool items you might want to add to your order!
UPD: Devboards ran out due to unexpected popularity, but I'm ordering PCBs and parts for more! Use the "let me know" option during checkout if you're getting a module, or DM me on Tindie so that I ca…
Read More…UPD: Devboards ran out due to unexpected popularity, but I'm ordering PCBs and parts for more! Use the "let me know" option during checkout if you're getting a module, or DM me on Tindie so that I can let you know when devboards restock.
Do you want a trigger board, but one that works exactly the way you want? Do you want a USB-C adapter that charges your phone but also makes it work as a data host? Do you want to build a USB-PD tester or sniffer, but more configurable than any of the available ones on the market? Do you want to add a USB-C port which can both extract high voltages and work for high-speed data transfer, depending on what you plug into it, and can control all the power and data switches you might need? Do you want to reuse USB-C peripherals with older devices, or perhaps add a USB-C port to your not-as-modern laptop? Any other project where you want to speak USB-C PD? I've designed this module for all of these goals, and more.
This small friendly module will help you in your USB-C PD pursuits! It's self-sufficient for all your negotiation needs, super flexible and small, and designed to help you get the most out of USB-C in your projects. You don't need a separate board with a very specific purpose to talk PD in your projects anymore - just put this castellated module onto your PCB or breadboard, connect the CC pins to your USB-C port, tweak the module's software if needed, and have it talk PD for you - with any kinds of custom behaviour you could want. Oh, and everything is fully open-source!
The Altmode Friend has an RP2040 paired with a FUSB302B USB-PD frontend, and I want to provide a MicroPython interface so that you can implement your own behaviour by writing Python code. My goal is to let you talk PD from a comfortable MicroPython environment with GPIOs aplenty, adding as much custom behaviour as your projects need. I've already made a trigger board with fairly sophisticated behaviour that picks a voltage based on current available, and you can easily improve upon it.
My plan is to add code and examples for trigger board purposes, USB-C power supply purposes, DisplayPort sink purposes, and much more. The current software can already fetch power supply profiles and request a custom profile with logic more sophisticated than trigger boards are able to give you - here's an example that picks a suitable voltage out of PSU capabilities based on a static resistance, taking care not to overcurrent the PSU. Do you have a project with USB-PD communications in mind, and does MicroPython sound comfortable enough for you? Contact me, I can help with that! If you're reasonably experienced and looking for a mature stack in a low-level language, you can also already use this module to talk USB-PD by using one of the openly available USB-PD stacks. Turns out, there's quite a few - the IronOS stack, a stack from MicroChip, and even one for Arduino.
I've listed quite a few usecases in the second paragraph, that you can do with this module and can't do with typical PD stuff available for sale. In general, with this module, you can do anything with a USB-C port - custom voltages and currents, sink and source, alternate modes like USB3 and DisplayPort, and proprietary or debug features. You can also create a USB-C port that provides anything you'd like! Feel free to use this module for prototyping larger projects with fully-featured USB-C ports, as it can free you up from a lot of USB-C worries. And, of course, you can use it as a trigger board - it's hardly more expensive than one, and significantly more fully-featured whenever you run into limitations, like trigger boards simply picking the highest voltage available, or not communicating the supported current levels to you.
There are large benefits to a separate and configurable module for USB PD, whether you compare it to trigger boards or proprietary microprocessors. It's a standalone part of your project that can easily integrate into other parts, and the RP2040 can also act as the main MCU for your goals if the project's small enough. It also lets you easily create custom PD behaviour, like powering a device of yours only after a proper voltage and current have been negotiated, or controlling high-speed signal switches without getting your main CPU involved. In fact, your main CPU doesn't have to be awake, especially if getting it awake is a catch-22 without PD - this module can negotiate any voltage or altmode your CPU could need before it boots up. I'm going to create highly featured PD-chatting gadgets with these modules, and if you too want to harness the power of USB-C ports around us, this module is a perfect fit.
Need PCB designs for inspiration, or for KiCad symbols/footprints/3D files? The example design is the devboard you can add to your order, already fully tested - it has KiCad symbols and footprints. Second example design is the Framework laptop mainboard replacement project that turns the Framework laptop chassis into a KVM - the design is currently WIP, but files are already available.
As usual, I've packed the board with as many features as could fit while keeping it easy to work with - let's go through them!
There's a power-application-intended devboard available for use with the Altmode Friend! It's a PCB with a protoboard, two USB-C ports and power management, that an Altmode Friend solders onto. It's intended as a devboard for the Altmode Friend as much as it's intended to be a reference design. Most of all, this board is a USB-C playground!
Of course, it's also packed with features!
The Altmode Friend can be used as a building block of your own board, or it can be used standalone, or perhaps, copy-pasted wholesale as the PD heart of your new design. Whichever path you take, I hope this module helps you on your journey!
No country selected, please select your country to see shipping options.
No rates are available for shipping to .
Enter your email address if you'd like to be notified when Altmode Friend - a module for your USB-C PD needs can be shipped to you:
Thanks! We'll let you know when the seller adds shipping rates for your country.
Shipping Rate | Tracked | Ships From | First Item | Additional Items |
---|---|---|---|---|
:
|
Our post is reliable + you will get a tracking number! Use EMS (priority mail with a courier, will need your phone number) if you're worried about postal services on your end, or need your package delivered quickly. I ship packages on business days - otherwise it will just collect dust in the postal office till Monday -, and I'll prepare your shipment as quickly as possible. If there's any problems with your order, I'll get in touch with you through the email you have listed on Tindie and let you know how soon I can prepare your package for shipping, as well as ask any additional questions I might have.
Buy with confidence.
Our Tindie Guarantee protects your purchase from fraud. Learn More
$12.00
Free Shipping!
$12.00
Free Shipping!
$8.00
Free Shipping!
$9.00
Free Shipping!
$5.00
Free Shipping!
$1.50
Free Shipping!
$2.00
Free Shipping!
$9.00
Free Shipping!
$6.99
Free Shipping!
$16.50
Free Shipping!
$21.00
Free Shipping!
$75.00
Free Shipping!
By clicking Register, you confirm that you accept our Terms & Conditions
We recognize our top users by making them a Tindarian. Tindarians have access to secret & unreleased features.
We look for the most active & best members of the Tindie community, and invite them to join. There isn't a selection process or form to fill out. The only way to become a Tindarian is by being a nice & active member of the Tindie community!