Working on my pet project (a Cortex M7 breakout board, like a Teensy on steroids, but with proper debugging features and a fast double-precision FPU) I thought: “Wouldn’t it be nice to have a PSU on board that is pre-made, very compact and easily swappable to reconfigure the board?”
After good dose of NIH and some frantic KiCad puzzling: My first attempt to create a standard device and footprint. I’d love to hear your thoughts, feedback (requests?).
The idea is to publish it as open hardware (no insane OSHWA certification, probably CC-BY-SA or something similarly relaxed) once the prototypes work well.
Generic requirements for the module:
Tiny footprint area (26x10mm, parts underneath possible)
Able to use technology that is applicable to integrated designs
Optional MCU interface (I2C)
The module I designed first is a more advanced one, simply because that’s the one I want to use:
3 to 17 VDC input
1.5 to 12 VDC output
MCU controllable output voltage
Voltage and current monitoring
The pin headers are the 2mm type (instead of the 2.54mm defaults). I like to this as a way to make sure I won’t accidentally use them as GPIO. The headers and sockets are common enough.
The additional input Vin & GND pins can be left unconnected by either the host or module.
The two three pad areas in the top right corner are address selectors for both I2C chips (you can use up to four modules per I2C bus).
Future versions I’d like to add
Cheap and simple fixed output
Dual voltage modules (both output pins are joined in the current design, but can be used separately)
LC ferrite bead filters on in and out perhaps?
I have taken a dislike to have two sets of gnd, it’s too easy to end up making a loop antenna if there is a noise source between them. These days I try to have a single and, with power in and out filtered to the same star point
I’ve thought about things like that (also diodes / input crossbar) and felt it was something to do in the host PCB. Shouldn’t be to hard to add to a module though.
Thanks for pointing that out. Indeed having the option to do an isolated version was on my mind when I added the right GND pins. A simple solution would be to not populate them on the host footprint.
The MAX9611 does that, it monitors both current and voltage, allowing full closed-loop control over I2C.
The 3.3V input is for the I2C logic: the digital resistor and current sensor VDD. The module is wired up to use the GPIO from the digital resistor as an enable for the buck convertor (default off), the idea being that the MCU boots first, sets the target resistance for the required voltage and then brings the buck online.
I don’t understand that bit, sorry. Do you mean R1 (should be 880k, of course, fixed that)? Or the whole digital resistor parts group? Could you tell me why this would be beneficial?
I’ll play around with a new layout format. I liked this for mechanical stability, but I see the value in moving the ground pins together.
Ahh, I understand now, that way the feedback would regulate out the drop over the sense resistor (R5), no? At the cost of some trace length in the feedback loop. Interesting idea. Not sure if it really makes much difference though, since the control is closed loop.
New component layout, roughly. All connections are moved to the left for that single (and optionally splittable) ground point. The single header pin on the right is just an optional mechanical support. PCB size still 26x10mm.
He’s not considering an isolated version with this design. As he mentions in his first post his idea is to have multiple versions of DC-DC converters with the same form factor and connector pinout etc. One such design could include an isolated converter only if he provides for separate ground pins on the connector.
Your schematic doesn’t indicate which version of the AD5241 you are planning to use but in any case I would rethink the value of R1.
This design is not of much use for a primary power supply as it requires being enabled via I2C. The wiper of the digital pot will be at midpoint on power up also likely to require programming via I2C before enabling.
Stability shouldn’t be an issue for any reasonable capacitive loads (less than a few thousand uF). Yes, R5 and Cload will form a pole and the ESR of any bulk capacitor will form a zero improving stability.
Switchers using the isolated flyback topology don’t generally require any more filtering than the typical buck/boost topology. The only added complexity would be the opto-coupled feedback.
It may or may not fit in the same form factor but that’s not particularly relevant to the current discussion.
Yes, you are correct that the value wasn’t right (it was on the todo list). My first iteration was based on a 1M digital potentiometer, the current one is 100k (the datasheet recommends avoiding >400k) with a series resistance of 6.8k to shift the working range down a bit (from just over 12V down to just under 1.5V):
Everybody seems to have a different form factor for their universal power supply
I made it easy for myself and bought a bunch of LM2596 boards from China.
But whenever I design a PCB I tend to put the power supply on it, so no messing around with extra pcb’s. My default is probably going to be MP1584. PCB’s with this chip starting from about USD0.60 from china…
About your design:
I do not agree with your decision for 2mm connectors.
I use power adapter boards such as these mainly for experimenting on breadboards, veroboard etc and anything which does not have a 2.54mm spacing is a nuisance.
If you are afraid of sticking components in the wrong socket then mark it on the pcb with a sharpie or similar or make labels in a spreadsheet. ( line spacing of 2.54mm, Adjust text size so it fits, print it, add transparant adhesive tape before cutting it out with a scissors). Glue them to your vero board, or make holes with a needle and then stick a connector right through the label.
Apart from my critique, I like your design. PCB layout looks good, connector with all signals on one side of the pcb, Extra hole for stability / support on the other side. And the connector can be placed on either side. I would place the connector on the other side though by default. After initial testing/debugging access to the components on the pcb is not so important, and if you’re being mooned you have lots of space for silk screen text etc. I would probably also put the I2C address tabs on the bottom side (with addressing comment).
I would also put the silk screen text for Input / output voltages / current next to the respective pads of the connector.
Last remark: Adding thermal reliefs to the connector pads will make hand soldering a bit easier / faster / more reliable.