Almost any voltage with QC - XIAO



You might also want to check :


Warning

This project is for testing purposes : I highly suspect that a short 12V pulse arrises after the QC handshake because the D- isn't really left floating! A future version of this board is forseen to correct that issue. (probably using PWM output instead of resistor bridge, or using more XIAO pins)

Risk is to dammage your target if the desired voltage is below 12V. Otherwise (or if you just want to play) : you’re good to go. To understand it better : read related documentation over QC protocol. Feel free to contact me.

NB : the “QC Fab” project doesn’t experience the same issue because the pin is really left floating before using ADC/GPIO output to set actual target voltage.

NB2 : this makes me realize that if all you want is to negociate 12V instead of 5V it should be feasible using only a few resistors and not connecting the negociation to any microcontroller at all! (this should work for 12V only) I’ll test it “soon”!


Kicad 8 projects and MicroPython code : XIAO_QC.zip

PS : The documentation for this version of the board still needs to be fleshed out, but here’s the info you’ll need if you want to copy or enhance this project.

QickCharge using XIAO

This page is dedicated to the XIAO version of my previous “QC Fab” project (the small atTiny412 based version). I encourage you to read it first.

XIAO + MicroPython were chosen for several reasons :

But I still usually prefer to stick to very small and simple microcontrollers, so I’ll use this version for my “pocket laboratory power supply” only.

This version lets you select dynamically the voltage you want using a rotary encoder. It works in two modes :

QC protocol

Please refer to the dedicated documentation page if you want to learn more about the QC protocol.

The board

This section must still be filled

Hero video

Files

Kicad 8 projects and MicroPython code : XIAO_QC.zip