A power supplier board for Odroid M1 clusters

Post Reply
marinomrc
Posts: 12
Joined: Tue Apr 12, 2022 9:52 pm
languages_spoken: english
ODROIDs: Odroid M1
Has thanked: 1 time
Been thanked: 9 times
Contact:

A power supplier board for Odroid M1 clusters

Post by marinomrc »

Hello,
this post is the next episode in the saga "build a cluster of Odroid M1s and make it compatible with MaaS (by Canonical)" -- (the other title is "how to spend your free time instead of taking care of the to do list that you wife gave to you a lot of time ago" :D

The first episode is here: viewtopic.php?f=211&t=44355 where I created a "rack enclosure" for multiple Odroid M1 Units.

During the last weeks/months I worked on another part of the project: basically, I want to build a power supplier unit that can power on/off multiple Odroid M1 units and that is compatible with MaaS webhooks.

Here is the final result (not yet completed, but it is working now):
20220803_160614.jpg
20220803_160614.jpg (396.67 KiB) Viewed 225 times
20220803_181632.jpg
20220803_181632.jpg (485.02 KiB) Viewed 225 times
Some details:
- The board is completely modular. Each piece can be easily changed in order to improve it
- The brain is a raspberry pi4 with a plugin called maaspower (search on github) - Of course, it is possible to use a cheaper board. The only requirements are: linux, python3
- I use the GPIO ports on the raspberry for on/off the relays that give the right power to the SBC boards
- The supplier has an output of 12V and 29A and I designed my circuits for managing up to 12 boards
- The output voltage is 12V. This means that the board is not compatible with Rpis and other boards that work at 5V but my circuit can be easily changed for RPis and other boards that work at 5V

Let me know what you think and if you have any suggestions.

Note: this board is intended as an experiment. Any criticism is accepted but please, be collaborative and polite otherwise your comment will be ignored.
PS: the next step is to make the Odroid M1 board compatible with MaaS

Regards,
Marco
These users thanked the author marinomrc for the post (total 4):
tobetter (Thu Aug 04, 2022 3:28 am) • PigLover (Thu Aug 04, 2022 3:29 am) • odroid (Thu Aug 04, 2022 2:17 pm) • L67GS (Thu Aug 04, 2022 9:03 pm)

User avatar
mctom
Posts: 1792
Joined: Wed Nov 11, 2020 4:44 am
languages_spoken: english, polish
ODROIDs: OGA, XU4, C2, M1
Location: Gdansk, Poland
Has thanked: 204 times
Been thanked: 238 times
Contact:

Re: A power supplier board for Odroid M1 clusters

Post by mctom »

Hey, that's an effort I admire.

From the electrical perspective I'd like to ask if you have already considered the following improvements:

- First of all, fuses. 30A is no joke and should anything fail, that current must be stopped, without interrupting the whole cluster or causing a fire. In our PiStackMon project (link below) I used 2.5A, self-healing polyfuses, similar to those built into RasPis.
Note that powering RasPi via GPIO header is also not fused, and it's always a good idea to provide one.

- I assume the wiring isn't complete yet, and you're not going to use the full 29A potential of your PSU, but these wires do not look like something that handles 10A each..
- Again, I understand this is work in progress, but hopefully you do remember that return wires (-Vo) conduct the same current as +Vo, and daisy-chained connection of barrel jacks doesn't look like a low resistance path.
Perhaps another, simple and dedicated PCB with barrel jack power outputs, with one layer being GND all the way, and another with "thiccc" traces to some screw connectors would be more appropriate. That would eliminate the barrel jack brackets that I assume to be 3D-printed.
Not to mention, a solid, low resistance GND path is very important if you ever plan to connect anything to your clustered M1s that is not Ethernet.

Hmm I see you used a 16 relay module off Aliexpress, and my prior understanding was that is your original design, hence my previous remarks. They all remain true, but I'd word them differently, oh well..

I'm not insisting on you doing all that extra work, but if I had to design my own PCB to do all that, I'd do it completely differently.
- 16x relays are super clunky, and as you said, are suited for just one input voltage. I'd do the same with P-MOSFET transistors, that could easily work in 5-20V range, dissipate much less heat, and offer lower switch resistance,
- Each output would have a fuse of course,
- instead of a rainbowy bundle of wires, a 40-pin connector that allows joining RasPi (Or Odroid C4!) with a 40-pin ribbon cable (IDC), that can be easily customized in length.
- An on-board voltage converter knocking voltage down to 5V for the RasPi (optionally)
- Perhaps status LEDs per each output
- Heck, why not 8 barrel jacks directly on this board, and another 8 on a separate extension PCB..

Treat those as loose ideas that might come in handy in next revision of your work, but if you wanted to build your own PCB, I've got KiCad snippets for all the stuff I described and could easily draw a schematic for you.
These users thanked the author mctom for the post (total 2):
PigLover (Thu Aug 04, 2022 5:19 am) • marinomrc (Thu Aug 04, 2022 5:01 pm)
Punk ain't no religious cult, punk means thinking for yourself!

Maintainer of PiStackMon

marinomrc
Posts: 12
Joined: Tue Apr 12, 2022 9:52 pm
languages_spoken: english
ODROIDs: Odroid M1
Has thanked: 1 time
Been thanked: 9 times
Contact:

Re: A power supplier board for Odroid M1 clusters

Post by marinomrc »

Hello mctom, thanks for your answer, I really appreciate it!

Well... I know there are many problems from the electrical perspective, mainly because my knowledge is not sufficient for building a decent circuit. My real job is totally different, I work a lot with Linux (almost all famous distributions even if I prefer Ubuntu and RHEL), Openstack, Ceph, LXC/LXD, and so on...

Also, I built this board with some important constraints:
- it must be cheaper (this is the reason behind the relay board. I'm sorry, I don't have the required skills for a P-MOSFET-based circuit)
- the container must be compatible with rack mounts (I used this https://www.distrelec.it/it/custodia-da ... lsrc=aw.ds)
- I'm totally unable to use a soldering iron (hence I used cables and connectors)
- Since I have very poor knowledge about electronics, I missed fuses. But I totally agree with you, they're very important due to the high current in the circuit


So, I'm happy to accept your offer and use your KiCad files for a new version of the board but I think we should take care of some things:
- I want to use the same enclosure, it seems to me a good idea. Note that the rear and front parts of the enclosure must be manually changed because they're totally closed and we need to add holes for connectors. I normally do this using plexiglass...
- We can use a different power supply. My model has 3 Vo+/Vo- lines with a common ground. I think we can use a similar power supplier with the same power but with a single Vo+/Vo- line mainly because it is cheaper and even lighter
- I'd like to use an external company for PCBs since it's very hard for me to build circuits manually. Not only the PCB but also the components on top. Do you know any company that can do that?

So, thank you, and let me know what you think!

Regards,
Marco

User avatar
mctom
Posts: 1792
Joined: Wed Nov 11, 2020 4:44 am
languages_spoken: english, polish
ODROIDs: OGA, XU4, C2, M1
Location: Gdansk, Poland
Has thanked: 204 times
Been thanked: 238 times
Contact:

Re: A power supplier board for Odroid M1 clusters

Post by mctom »

Yeah I assumed you're not into electronics professionally. Everyone knows high voltages are dangerous, but it's rarely mentioned that high currents are just as dangerous as they start fires most often.

There is a Chinese company JLCPCB that can manufacture PCB and mount components on it - at least surface mount components, from their limited but sufficient selection.
You'd still have to solder through hole components, such as connectors, but it's a low risk job and you may as well learn how to solder this way. I taught my girlfriend how to solder exactly screw terminals, because it's really hard to mess it up.

Oh and one more thing, JLCPCB does multiples of 5, so you'd end up with 5 PCBs minimum.
However, cost-wise per piece, it would be similar or lower cost, that's my guess.

The end result would be limited only by the space necessary for all those connectors, as MOSFETs are much smaller than relays. I was thinking about a board like this:
Przechwytywanie.PNG
Przechwytywanie.PNG (504.62 KiB) Viewed 179 times
Such a board would be mostly empty anyway.

I offered you a schematic of what you want, but I can't invest time into preparing a PCB layout - meaning, actual placement of components and joining them with traces. Unfortunately I get paid exactly for that and I've got tons of work lately. I don't mind contributing my time to open source projects, but I can't promise that before October.
If that is a commercial project and compensation is on a table then I could rearrange my priorities, as I'm fed up with a few of my customers already...
Punk ain't no religious cult, punk means thinking for yourself!

Maintainer of PiStackMon

L67GS
Posts: 829
Joined: Wed Apr 22, 2020 3:02 pm
languages_spoken: English, Jibberish, Pig Latin
ODROIDs: M1 8GB -w- MIPI-CSI Camera Kit, XU4, C1+,(3) C0's, and a whole big pile of accessories, VU7A Plus,, ect....
Location: Great Lakes Region, U.S.A
Has thanked: 245 times
Been thanked: 103 times
Contact:

Re: A power supplier board for Odroid M1 clusters

Post by L67GS »

I'm not wild about the relay board, china components and knock off Omron relays usually make for a short lifespan.
If you're making more of these it would likely be more cost effective and sturdier to either have something purposefully built or have some boards made and make friends with the soldering iron.
Also, maaspower looks interesting but the same thing could be accomplished with an ESP and be way more power efficient than an entire SBC.
As it sits, it really just needs a proper power and ground bus, and a handful of fuse holders like mctom pointed out. Once it's in the case there could be noise issues, good grounding practices would go a long way in that respect, adding a couple different size caps to help stabilize the power and help ward off noise wouldn't be a bad idea.
Out of curiosity, why is the psu mounted with the wires oriented away from where they're going? I'm assuming it was a fitment problem, but it would be cleaner mounted the other way.
All in all it's a super cool project, it'll be fun to watch it unfold!

marinomrc
Posts: 12
Joined: Tue Apr 12, 2022 9:52 pm
languages_spoken: english
ODROIDs: Odroid M1
Has thanked: 1 time
Been thanked: 9 times
Contact:

Re: A power supplier board for Odroid M1 clusters

Post by marinomrc »

Ok mctom, my opinion is: please share all the files with the community and PM me for a quote.

L67GS: yes, it's a fitment problem. Having less cable on the left is not a bad idea in my opinion so I mounted it in the position you can see in the photo.

Thank you.
Regards,
Marco

User avatar
mctom
Posts: 1792
Joined: Wed Nov 11, 2020 4:44 am
languages_spoken: english, polish
ODROIDs: OGA, XU4, C2, M1
Location: Gdansk, Poland
Has thanked: 204 times
Been thanked: 238 times
Contact:

Re: A power supplier board for Odroid M1 clusters

Post by mctom »

So much fun! :D

So, the way I see it, it's gonna be a single PCB design, but two PCBs fitted into your rig.

One I called "Control board", which generates 5V for controlling SBC, accepts inputs from SBC's GPIO, and has 8 outputs.
The "Extension board" variant also has 8 outputs, but controlled directly by the "Control board". 10-pin IDC connectors help pass logic signals through.
The "Extension Board" also passes input voltage through itself to Control Board, so the wiring inside the device makes more sense.
This way, the device can be built in 8- or 16-output variants, and extra large PCBs have been avoided.

Each output is a PMOS with simplified driver circuit (as it won't be switched rapidly), a polyfuse, and a barrel jack.
I haven't selected PMOS yet, depends on availability. Also I gues I've broken Mouser trying to filter out what I need :lol:

Comments are warmly welcome.
In hindsight, an auxiliary 5V output could be handy if anyone prefers using an SBC that does not support powering through GPIO.
2022-08-04-211003_1662x1164_scrot.png
2022-08-04-211003_1662x1164_scrot.png (125.14 KiB) Viewed 132 times
2022-08-04-211116_1594x1129_scrot.png
2022-08-04-211116_1594x1129_scrot.png (96.92 KiB) Viewed 132 times
Punk ain't no religious cult, punk means thinking for yourself!

Maintainer of PiStackMon

Post Reply

Return to “Projects”

Who is online

Users browsing this forum: No registered users and 2 guests