Giter VIP home page Giter VIP logo

fpx's Introduction

fpx: easy USB-C power for all your devices

This repository contains the hardware design and firmware for fpx module.

Hardware

Main enabling component of fpx is STUSB4500 standalone USB-PD IC by STMicroelectronics. The rest are supporting components and an AVR ATtiny 816 which programs the NVM flash on STUSB4500 by converting configuration read from a light sensor.

The KiCad files are verified for manufacturing, and include all the part numbers.

fpx is a certified open hardware [OSHW] AU000008

Firmware

The firmware is written as a single C file with no interrupts and provided as an Atmel Studio solution. It should however be easily buildable by GNU toolchain. The source is well commented and self-documenting.

Configuration

The main configuration tool exists in the form of a web page. The Javascript part of the page documents the encoding used to transfer configuration using light flashes.

Due to its simplicity, the configuration tool can be ported to any device/platform that can pulse light with a reasonable timing accuracy (e.g. Arduino).

Licensing

All the content of this repo including the documentation, hardward design files, firmware and configuration utilities are licensed under the Revised BSD license.

History

See my blog post about fpx and its predecessor fabpide2.

fpx's People

Contributors

crote avatar dwaq avatar oxplot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fpx's Issues

STUSB4500 burned when connected to 20V USB-C cable

I programmed the unit to give 20V output and connected it to a supply with a USB meter in between. It properly raised the output to 20V. I unplugged the fpx from the meter but since the meter was pulling power, it kept the USB rail at 20V. I then reconnected the fpx and it immediately smoked and the STUSB4500 chip burnt up. The main power draw occurred at Vdd (pin 24).

I am not sure why this happened since the chip is tolerant of 20V but maybe only when its expecting 20V will it be tolerant to it. Maybe the fact that the USB rail was 20V to begin with was unexpected although it should be able to handle that.

I had it working perfectly up till this point and it would program and output voltages properly.

Any ideas of what could have gone wrong? Have you seen anything like this before in your testing?

Backfeeding from Vdrive to Vbus

I was surprised there is no back-to-back MOSFET in the power path - I know this is meant to be a power sink, but if enough bulk capacitance is connected to it, someone might plug it into a port while the caps are still charged.

Where to find an assembled one?

This is not really an issue.

Hi, I found you project digging the internet and I find it amazing and it suits perfectly for my project!
The saddest part is that I cannot buy anymore an assembled one from tindie.

My question is where I could buy one on sites like tindie?
I tried to make one, ordering the board from OSHPark and soldering every component by myself, but probably my soldering skills are still not that good!

Expose profile selection

Hey!

I was looking through PD controllers and I saw the fpx and I thought this would be a great fit for my project.

I was wondering if it's possible to expose which profile was selected, e.g. through two GPIO pins.

For context, I have some high power portions of my design that has an enable pin that's controlled by a microcontroller and needs a PD controller to negotiate additional power from the USB. If we couldn't negotiate the necessary power, I'd keep these high power portions off and just keep the microcontroller running.

If two pins were exposed (11 for profile 1, 10 for profile 2, and 01 for fallback, for example), the microcontroller would easily be able to decide to power on the high power circuits.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.