fpx: easy USB‑C power for all your devices
fpx is a tiny & easy to configure module that enables use of USB‑C (USB‑PD) chargers, adapters & power banks as power sources. It can be added to existing devices to expand the ways they can be powered (from a USB-C car adapter, power bank, etc.) and not just the power brick they came with. It can also be used in new projects to easily access up to 100 watts of safe and clean power from existing USB-C adapters.
- Configure (and reconfigure) in a few seconds using any smartphone, tablet, workstation/laptop running Windows, Mac or Linux. Arduino and your projector will do too!
- Up to 100W (20V @ 5A) output.*
- Voltages: 5V, 9V, 12V, 15V and 20V.*
- Currents: 0.5A‑5A in 0.25A steps.*
- M2 mounting holes.
- Reverse voltage, over-voltage & ESD protection on USB pins and output terminals.
- Supply line discharge on cable detachment and voltage changes.
- Supply voltage monitoring and auto‑shutoff (protection against malicious or misbehaving sources).
- ATtiny based open source hardware, firmware and configuration tool.
- Expand the type of projects you can do with easy and safe power up to 100 watts.*
- Power your devices by your car adapter and on the go with a power bank, instead of only with the wall adapters they came with.
- Power more of your portable devices with a single adapter when travelling.
- One set of USB‑C adapters means backup power for every USB‑C powered device you have.
- Re‑use your high quality USB‑C adapters and save space storing random bricks and save time looking for them.
- Freedom to pick what length of cable to use at any given time.
- Replace damaged cables only, not entire adapters.
fpx board is designed using the amazing KiCad. The design files here are ready for manufacturing and they include part numbers as well.
Firmware for fpx is written in C in the standard environment provided by Atmel via their Atmel Studio IDE on Windows. It should be possible to both compile and program this firmware using free and open source software such as GNU toolchain and avrdude on linux and other platforms. The firmware code is written as a single C file with no external dependencies which should make porting it easier.
fpx runs on ATtiny816 which is programmed over a single wire UPDI interface. It can be programmed and live debugged using Atmel ICE. fpx exposes UPDI, along with output of the 3.3v linear regulator as test points. Together with the ground terminal, it’s all that’s needed to
program and debug the board using Atmel ICE.
A very rudimentary jig is provided in [STEP](./fpx_rev66_prog_jig.step) and [STL](./fpx_rev66_prog_jig.stl) formats, suitable for pogo pins with body diameter of 1 mm and compressed length of 14.5 mm.
The source model is [a public onshape document] which you can copy and make modifications to. You will need a free onshape account to make changes. The model can be 3D printed using extrusion printers such as Prusa i3, without the need for overhang support.
The body of pogo pins is exposed on the side of the jig. You will need clamp-type test probes or similar to make connections to the programmer as shown below:
Purchase ready to use modules for $20 on Tindie.com