GithubHelp home page GithubHelp logo

pd_micro's People

Contributors

ryan-ma 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pd_micro's Issues

avrdude: butterfly_recv(): programmer is not responding

Hey, I'm just getting around to using one of the PD Micros, and I'm getting this error when I try to flash it. Using Arduino IDE 1.8.13 on MacOS 11.4.

I'm also seeing the onboard LEDs blinking- 5V and <3A are both blinking. Does this indicate that the bootloader needs to be reflashed?

Wifi enabled with API?

Whilst the ATMega32U4 based MCU provides a nice well understood Arduino compatible platform, the idea of a ESP8266 or ESP32 based version with wifi and configuration webpage/API for app based control seems like a really useful option for PD based board.

Get list of possible voltages/current limits

It could be very useful to get all the possible voltages and current limits the power supply supports. The debug output contains such a list, but a method to get this list would be far more useful.

Support for PD 3.1 48V

Thank you for the great work! This project is awesome and I will watch it.

Are you planning to integrate support for PD3.1 up to 48V in the near future?

Multiple voltage output?

Looking for a system that can output 3v and 12v together from usb-C
I saw a picture that had a 3v and 20v lights enabled suggesting that its outputting both? but I maybe wrong and it instead outputs 23v on the connectors.

any suggestions on how to extract 3v would be nice as I plan to mod my retro console and it needs 12v@3A and 3v@1A
I don't want to power drain the board but im confident I can use the 3v from the chip and have it configured to the 12v I need.

suggestions and feedback welcome

Where to buy?

I know that here is not a place to post that kind of question but I spent couple of hours and could not find a place to order the PD_Micro.
The only place is at https://www.crowdsupply.com/ryan-ma/pd-micro#products and it shows No longer available.

Screen Shot 2023-04-22 at 12 00 53 PM

Where should I buy it today in 2023?
Thanks

Bootloader

I'm losing my mind with this Caterina bootloader. Having a TON of issues on Windows and Linux. Has anyone else had issues?

Button toggling has inconsistent behavior.. serial port continuously disconnecting... I've reflashed the bootloader with no real change in behaviour.

I guess I could just outright wipe it and stick to my AVR programmer? Seems like a pity but really not sure what to do.

Current limit not being enforced in PPS mode

Hello,

I was doing some testing with my shiny new PD Micro and it doesn't seem to be respecting the current limiting.
I can pull 380mA despite setting the current limit to 200mA.
Just as a sanity check here's the init line I'm using. Everything else is the same as the pps example file.
PD_UFP.init_PPS(PPS_V(9.2), PPS_A(0.2));
The load is 25 Ohm at dc and 66mH (not that inductance should matter in this case.

I honestly kind of doubt this is a problem with the PD Micro, I suspect it may be an issue with the USB PSU I'm using, but any debugging advice would be nice.

Best,
Nik

Doesn't recongnize when charging cable is unplugged

I have the code on a custom board of mine (the design is based off the kicad design as well) and everything works for the most part except when I unplugged the device, the LED I have for when the (PD_UFP.get_voltage() == PD_V(20.0) && PD_UFP.get_current() >= PD_A(1.5) is true stays lit when I unplug the USBC cable. Here is the code block I have:

`void loop()
{
//analogWrite(LPWM, 255);
int voltage = analogRead(VBATT);
PD_UFP.run();
if (PD_UFP.is_power_ready())
{

if (PD_UFP.get_voltage() > PD_V(14.0) && PD_UFP.get_current() >= PD_A(1.5)) 
{
   digitalWrite(LED1,HIGH);        
} 
  else
  {
	  digitalWrite(LED1,LOW);
  }

}
}
`

BOM

Hey,
Great project!

Is it possible to get a more detailed BOM?
For example, what crystal was used? [Must be matched to the C9 and C10 capacitors]

Thanks!

Does not work with power bank

I tried an Ugreen Nexode 100W -> no problems
I tried an INIU BI-B5 20Ah powerbank. after 10sec without load the Powerbank cycles the power and does not establish PD mode again.
I tested 9V Fix and 9V PPS mode. Using an 20Ohms Resistor as load, the powerbank stays alive.
I tested one of the ebay/amazon ZY12PDN boards with the powerbank (without load) -> Works as intended

I attached 4 log files in verbose mode.

INIU_9V_Fix_load_20R.txt
INIU_9V_Fix_no_load.txt
INIU_9V_PPS_load_20R.txt
INIU_9V_PPS_no_load.txt

PPS defaults to 5V after working correctly for 60 seconds

Hi, I have been making use of this library for a project I am working on. I have successfully run it on: nRF52832, nRF52840, and SAMD51, all cortex-M4. Using adafruit feather bootloaders for all boards. I am using a small FUSB302 breakout board from Tindie.
The PD2.0 functionality of this library works great, using 4 different adapters I was able to enable all PDOs on each adapter!

The adapters I am using are:
Apple 87W Charger, PD2.0 only
Wotobeus 130W Charger, PD3.0 capable of 3.3-21V @ 5A using PPS
Samsung 25W Charger, PD3.0 capable of 3.3-21V @ 1A using PPS

The cables I am using are:
Samsung 100W Marked Cable
Cable Matters 100W Marked Cable (USB-IF certified)

What chargers/cables did you use when testing?

I am also able to use PPS to set voltage and current, this works well and I have even load tested the current limiting, however on both PPS capable adapters I have, the PPS voltage will drop out after 60-80 seconds on average and default to PD2.0. Unplugging the cable from the charger and plugging it back in will fix the problem for another 60-80 seconds.

Do you have any suggestions or ideas as to why this is happening?
To me it seems to be perhaps a timing issue?
Are there any parameters that I should be specifically looking at?

I have PD_UFP.run() in the main loop (using arduino) with a 1ms delay to service the state machine, I also have another version of the code where PD_UFP.run() is in a timer callback that runs at 1ms as well. Both give me the same issue.

One last small issue is that setting the PPS voltage to 21V will still yield an output of 20V on both PPS chargers even though they are capable of 21V

Thank you very much for the help!

-Andrew

Add a diode between VBus and the USB-C connector?

Hey! I love this board, but one thing that would really enable a lot of use cases is an additional diode that prevented backflow from VBus to the USB port, and a second diode that allowed current flow from the pin header back to the voltage regulator.

With that, we would have a choice of a few different operating modes with a battery connected to the IO header:

  • Q1 turned off, PD requesting a voltage above the battery voltage, running directly from USB

  • Q1 on, PD requesting constant current, battery is charging

  • No USB power, battery is powering the voltage regulator

As far as I can tell, battery charging is one of the most exciting uses for this, and it would be amazing to use the onboard voltage regulator when on battery power.

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.