@LeoDJ@chaos.social
@LeoDJ@chaos.social avatar

LeoDJ

@LeoDJ@chaos.social

Programmer, Tinkerer, Nerd | likes everything from hardware over firmware up to software | active at https://chaos.social/@cfhn

This profile is from a federated server and may be incomplete. Browse more on the original instance.

LeoDJ, to MemeryAlpha
@LeoDJ@chaos.social avatar
LeoDJ,
@LeoDJ@chaos.social avatar

Here is a demo video showing the in use.
I'm not sure if the camera microphone captures it accurately, but it's surprisingly loud :D
(I expected around "room volume" at most)

Build log thread coming soon™

A video showing the test setup of the last picture of the previous post, but in action. There is nothing else connected to the speakers other than the USB2Speakon and laptop.

LeoDJ,
@LeoDJ@chaos.social avatar

insert standard run-of-the-mill assembly steps here
Paste, place, reflow the one side.
Solder the other side by hand (because I didn't have a hot-air station at home and was impatient).

Solder paste application under the microscope. I think this is my best application yet.
Placed the components on the top side
Bottom side part soldered by hand. If in doubt use more flux!

LeoDJ, to random
@LeoDJ@chaos.social avatar

Bosch/Siemens: How should we name our proprietary data bus inside washing machines etc.?
Nobody:
B/S: Yeah, let's call it D-Bus!
https://github.com/hn/bsh-home-appliances?tab=readme-ov-file#d-bus

LeoDJ, to random
@LeoDJ@chaos.social avatar

You've heard about combo eSATA/USB ports, now get ready for:
https://youtu.be/rZpHizpZSPQ

LeoDJ, to random
@LeoDJ@chaos.social avatar

I'm currently in the process of designing an for my new .

I need the (lower latency), but don't want it sticking out and losing a whole slot.

So I'm going to throw a USB hub and the peeled dongle on a PCB and hope it all works out :D

As a further experiment, I routed the USB A SS lines past the hub (USB 2 D+/D- connected to port 1 of the hub).
Not sure if this will play nice with USB drivers, but it's worth a try.

A 3D render of the custom PCB

LeoDJ,
@LeoDJ@chaos.social avatar

Finally, all parts arrived today!

Time for assembly.

LeoDJ,
@LeoDJ@chaos.social avatar

insert standard run-of-the-mill PCB assembly steps here
Paste, place, reflow. Paste, place, reflow. Solder the rest of the components manually.

It went pretty normal, although the assembly order of the straddle-mount USB-C connector needed a bit of thought ^^
I ended up with this procedure:

  • Reflow the top side without the connector
  • Place it after the paste of the bottom side and put flux on the top side contacts
  • Reflow bottom side with hot air

PCB on a hotplate, reflowing
The finished PCB with the donge-to-be-connected beside it
The finished PCB with everything assembled

LeoDJ,
@LeoDJ@chaos.social avatar

And with that, the is done!

It features room for 2-3 skinned dongles while still providing an external USB A 3 port.

I tested it and it works like a charm* !
The receiver and different USB 2 and even USB 3 devices worked on the first attempt.

Massive props to @frameworkcomputer for making the whole development process very easy, with all needed information already public and even supplying a base 3D-printing-ready model.

The finished expansion card installed in my Framework 16 Laptop
A USB tree view of an internal Logitech Unifying dongle and externally plugged in USB 2.0 stick
A USB tree view of an internal Logitech Unifying dongle and externally plugged in USB 3 card reader

patagona, to ReverseEngineering

I've recently discovered the ISDT CM1620 charging modules.

They're pretty cheap (~140€) and promise some pretty good specs:

  • ~11-70V / 1100W input
  • ~8-70V 20A / 1000W output
  • LiHv, LiPo, LiFe 2-16S balance charging
  • Control via Micro-USB, Bluetooth, RS485, CAN or an optional controller with display

From our tests, they work fine, even at max load (16S 15A).

However, they do have some quirks...

(Thread)

The back of the charger with vent holes, input and output XT60, three USB-C ports, a button and a 17-pin JST-XH for balancing

LeoDJ,
@LeoDJ@chaos.social avatar
LeoDJ, to random
@LeoDJ@chaos.social avatar

Anybody got some recommendations for a low-pain USB PD stack / MCU?
It has to support PD3.1, especially EPR.

I have skimmed the offerings from Cypress (Infineon), STM and WCH, but none have yet convinced me to any significant degree...

Are there some stacks/libraries that are commonly used on that make it easier to get started?
Maybe some example code for an EPR source?

:BoostOK:

LeoDJ,
@LeoDJ@chaos.social avatar

@jaseg
I'd like to, but dedicated chips for "5S LiPo voltage to EPR source" (ideally up to 240W) don't seem to exist yet, according to my research

LeoDJ, to random
@LeoDJ@chaos.social avatar

Now introducing: !

1.7 kW worth of raw USB-C PD power.

24x USB-C ports.
4x 100W, 20x 65W.
(4x USB A, but we don't talk about those :P)

I never did a post of the project that @techbeard and I did last-minute before , so here you go.
Build log in the thread below.

Back view. The back consists of another milled PCB that holds the Powercon True1 power input socket, the XT60 24V power output plug and a large OLED screen.
View of the OLED screen in action at the Geekend Aalen '23. It mainly shows (a rough approximation) of the overall power draw and some internal stats.
The being utilized pretty heavily at the Unterland village at CCCamp23

LeoDJ,
@LeoDJ@chaos.social avatar

During soldering of the 65W modules, I noticed that our heat sink concept worked almost too well xD
It was really hard to solder to the power pads of the modules. Even if you heated it with a good soldering iron for over a minute, the other side of the solder joint was barely liquid.
As soon as you took the iron away, the solder solidified instantly.
And the enamel of the copper wire had to burn off too under those conditions, making it even more difficult.

The modules finally soldered. Took only a bit over an hour xD
The modules still being uniformly hot (38°C) minutes after soldering. Indicating quite good thermal conductivity.

LeoDJ,
@LeoDJ@chaos.social avatar

After mounting the 100W modules to an aluminum strip, it was time to test the array.
We didn't have enough 100W capable loads to do a long full-load test, but close enough :D
The thermals look promising. The aluminum strip spreads the heat pretty well and got to around 60°C itself.
The hottest spot on the modules is now the USB port interlock P-FET at 90°C. And that will improve with airflow too.

Thermal image of the 100W modules. The middle two power banks were already full, but the outer two modules have finally reached an equilibrium. 90°C at the P-FET and the aluminum strip got to about 60°C (measured via a piece of electrical tape)
Thermal picture of the whole test setup.

LeoDJ,
@LeoDJ@chaos.social avatar

The 65W modules got tested too.
They stay surprisingly cool. After some time at full load it only reached around 50°C.

And it looks like the thermal solutions works exactly like intended.
As you can see in the thermal video, the modules beside the loaded one heat up noticably too (in comparison to the rows below, which you basically can't see at all, thermally)

video/mp4

LeoDJ,
@LeoDJ@chaos.social avatar

During final assembly of the array, the 100W module group suddenly showed a short circuit on the input.
I was puzzled at first, but had a hunch.
And sure enough, the 1mm thermal pad was slightly too thin and the main input ceramic capacitor punched through the thermal pad and shorted out against the aluminum strip.
Luckily it didn't crack ^^"
I fixed it by simply putting another layer of thermal pad on top :D

The imprints left in the thermal pad

LeoDJ,
@LeoDJ@chaos.social avatar

The housing of the is a piece of rectangular aluminum extrusion.
For mounting the server PSUs I decided to design and 3D-print some plastic rails, so the PSUs can be slotted in.
The DIY PSU backplane will get fixed to the front rails too, so the alignment and mechanical forces of the PSUs being slotted in will be manageable.

CAD drawing of the rails

LeoDJ,
@LeoDJ@chaos.social avatar

To connect two server power supplies in series, the PE reference of the secondary has to be severed for the high-side PSU.
On those HP DPS units, that's pretty easy. You have to open it, file down two metal spacers a bit, put insulating washers between PCB and case and replace the metal with nylon screws.
This only removes the connection between output GND and PE. The metal case remains grounded and the floating output is still referenced to PE through the low-side PSU.

LeoDJ,
@LeoDJ@chaos.social avatar

As time began to run out, I quickly threw together the backplane PCB using perfboard, thick copper wire strands and lots of solder. It has to potentially handle up to 100A.
And yes, the wonky speed holes are necessary for improved airflow :P
With the added resistors and bridges, the PSUs turn on and everything works.

Wiring the backplane to the modules was a bit frustrating, because of the thick diameters, thermal mass and tight spacing, but worked out fine.

A multimeter connected to the backplane PCB showing 24.67V. Everything is working as intended.
The 65W modules all wired up to the backplane, the cables to the 100W module backplane are already prepared too.
The 100W modules are connected now too.

LeoDJ,
@LeoDJ@chaos.social avatar

After a final test of the electronics, everything can be put together.
@techbeard drilled and countersunk the necessary holes in the aluminum extrusion and fabricated some corner pieces, so the back plate can be screwed to the extrusion.
We mounted the rails, backplane and module array inside the extrusion. Now the PSUs can be slotted in, which is quite satisfying.

The last PSU being slotted into the aluminum extrusion with a satisfying

LeoDJ,
@LeoDJ@chaos.social avatar

The 230V wiring consists of a socket to two IEC plugs. We had to remove the jacket, because it would've been too tight otherwise.
The aluminum casing is grounded via the good connection between PSU casing and aluminum. (see above)

You might also notice the plug. It's a generic 24V output for connecting external devices like LiPo chargers etc.
The main reason for its existance is still having "left-over" power budget from the power supplies (~600W) :D

LeoDJ,
@LeoDJ@chaos.social avatar

Once it was used for a longer period, we noticed the aluminum extrusion being pretty warm to the touch (~40°C).
Apparently, the server PSUs use around 40W during idle. But when drawing that amount from the output, the power usage doesn't go up that much, so they seem to be burning it internally when having (almost) no load?

Also, maybe the aluminum could be a few degrees colder when painted? Because bare aluminum doesn't seem to radiate much heat.
Or we'll install additional fans.

LeoDJ,
@LeoDJ@chaos.social avatar

As the server PSUs feature connectivity, we planned to display some metadata on an OLED.

I soldered up a small perfboard with a buck converter, and a few connectors.

The ESP32 only communicates with the low-side PSU, as I didn't want to implement isolated I²C.
But I noticed that the values coming from the PSU were pretty hit & miss anyways. Especially during light loads.
So I simply used the values that matched the actual values closest and doubled them.

ESP32 plugged into the headers on the PCB
Back side of the PCB, insulated with Kapton tape
Debug view of the values coming from the PSU displayed on the OLED (In/Out Volts, Amps. Temperatures, Fan RPM)

LeoDJ,
@LeoDJ@chaos.social avatar

That's all for now.

I also threw everything in a Github repo here: https://github.com/RainbowLabsDE/PDBrick
(No claim for completeness or instructions ^^")

LeoDJ,
@LeoDJ@chaos.social avatar

@wonka @techbeard
Maybe. When modules become available and cheap enough. But that'll probably happen in 1-2 years at the earliest.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • kavyap
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • tacticalgear
  • khanakhh
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • everett
  • ngwrru68w68
  • Durango
  • megavids
  • InstantRegret
  • cubers
  • GTA5RPClips
  • cisconetworking
  • ethstaker
  • osvaldo12
  • modclub
  • normalnudes
  • provamag3
  • tester
  • anitta
  • Leos
  • lostlight
  • All magazines