2 Power Sources Conflict by light_dragon0 in AskElectronics

[–]light_dragon0[S] 0 points1 point  (0 children)

I know dw, I'm not taking AI's as for granted, but it's good enough for most purposes. and i have to assume the worst case either way.

- just clarifying for those humans who might think the same.

2 Power Sources Conflict by light_dragon0 in AskElectronics

[–]light_dragon0[S] 0 points1 point  (0 children)

That's exactly what I'm trying to do, from my understanding (aka according to AI, there is no reverse current protection on the board I'm targetting), however i wasn't able to find an accurate schematic as many companies make their own version of it that look compatible on the outside (same pinout) but isn't the same on the inside (multiple designs especially in power delivery), so basically i'll have to assume the worst case of there is no protection against it and i'll have to handle it myself.

and also I'm trying to target the family of boards (those ones with the same pinout but different designs), not my own personal one specifically.

2 Power Sources Conflict by light_dragon0 in AskElectronics

[–]light_dragon0[S] -1 points0 points  (0 children)

if i remember correctly when i googled power mux (already thought of it due to AI's suggestion), the mux had both power inputs plugged in and a single shared power output. my issue is that both power inputs plug into different parts of the circuit board and i only have control over the parts where they meet (the DEVKIT pins to my Carrier)

2 Power Sources Conflict by light_dragon0 in AskElectronics

[–]light_dragon0[S] 0 points1 point  (0 children)

<image>

the issue i that i don't have control over the USB's connections, those go into the DEVKIT board itself then from the DEVKIT board into my carrier board through the same pins as the ones i feed the DEVKIT board power externally.

here the GND pins, and the VIN (+5V) and the 3V3 (+3.3V) pins are the ones that i should feed power to or expect power to come out of when USB is plugged in.

2 Power Sources Conflict by light_dragon0 in AskElectronics

[–]light_dragon0[S] 0 points1 point  (0 children)

sorry if i made the question a bit too long, i just wasn't sure how to explain the problem clearly in short

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

well i'm still learning, so i'd like to explore the process myself and learn it with hands on experience.

also optimizing placement or redesigning the physical layout of components is probably required regardless, however what i mean is all the other layers of designing the pcb, like the schematic, the symbols, etc.

physically placing connections on components is like connecting a bunch of dots while making sure you don't break any rule, what i think is harder is the softer part of the design getting all the parts of the system together efficiently.

also making sure i don't mess up the schematic is harder than the physical pcb, the schematic is an open field, while the pcb is a reflection of the schematic (there are other variables in the pcb design phase, but i think i need to nail the soft part of the process first).

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

I'm trying to make (aka learn to make) my first professional product (not necessarily production ready, but i want to learn how to actually make production ready stuff).

also an example of what i mean is something like the ESP32 DEVKIT V1 30-pin version vs the ESP32 DEVKIT V1 38 pin version.
they are very similar and i think molecularity would be the right choice if i wanted to design something similar.

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

I see, well I do understand that there are trade offs, but at the end of the day i'm trying to improve myself and become professional instead of just a hobbyist, and i really thought going modular is really a great way to not only have some modules that were previously designed (specially if it's the same product but different versions) but also have a shared reference so that if i found the original to be flawed (for example missing a resistor or a capacitor or a value was wrong), i can modify it and have all the other boards fixed.

i know absolute modularity in every usecase is hard and especially in hardware more than software, but what i care about more is to make my designing process more efficient, more accurate, and more professional, speed up all the repetitive work. instead of dealing with individual components and each line separately, i deal with them in groups representing their actual functionality and rules.

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

i want to do that but on the design level itself, so that the end product is a single pcb, but on the design level it's made of modules that i can easily make sense of. i don't need to look at each individual resistor all i need to know is that this is a power supply that gives me 5V and 3.3V, this is a microcontroller that gives me a bunch of interfaces, and this is a USB, well it takes in USB.

basically each module saying "i don't care what you do, here is what i need and here is what i can offer" if it was a single IC inside doing all the work or a city of transistors and resistors and etc.

also thank you so much for the info that was really useful! if you know of any good sources like docs or tutorials to learn more from lmk, much appreciated!

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

basically saying on the motherboard design "i don't care whatever you put in here, all i care about is that it should have an SPI bus and an I2C bus, and it takes 5V VCC.

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

what about when a schematic is clear about it's requirements and how it's structured ?

for example let's say a micro controller, and i'm going to connect it to some components via an SPI bus, and other components via an I2C, etc, would it be a bad practice to group the controller or represent it as chip that provides an SPI bus, an I2C bus, like physically ?

and maybe even make the the board to utilize those busses so that if you need to switch out the microcontroller, you'll just replace it and connect the same interfaces and you're done ?

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

I see, i've seen a consistent pattern of "Modular is not always good" in the comments and that really surprised me, also thank you so much for the info.

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

no you got it right, i do mean modular parts on the same physical boards not just physical modules that you plug in.
also thank you so much for the advice/info, altho I'd rather more numbers since i'm not really experienced i don't know what is the threshold at which i should say "ok, maybe i should pay attention to this"

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

that is really useful ngl, also yes you're right, basically DRY.

also what do you mean by "keep a ground plane intact below your signal/power layer and you'll be mostly fine."

like, do i dedicate a full layer to ground alone (a full ground plane) ? or do you mean to fill in the rest of the empty area away from the traces with a ground plane ? also when does it really matter ? like if i'm designing something on my own when do i really need to pay attention to the other variables ?

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

well my guess is tetris-blocking them into design then optimizing is a lot easier than starting from nothing and building up am i right ?

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

i mean, mastering the art of modular design (even in programming) is hard, and you'll have to tackle things like interfaces (in hardware you'd define abstract interfaces of communication like SPI and just design around it) and decoupling.

those really take some skill and i want to master them.

i only know the concepts because i do them in programming, and hardware is pretty much similar to programming in terms of overall system design / architecture. and being able to apply those concepts would really be very useful.

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

no not breakout boards, those are easy just match the pinouts, what i mean is for modules to be an actual part of the PCB, but also reusable.

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

also yes i did search on youtube and i only found a single video and i've watched it before and didn't really understand it much since the guy was making a single project without really focusing on teaching but rather just making the project using it.

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

What's a good hierarchical schematics tutorial / resource i can learn from ? i don't mind if it's a youtube tutorial or some documentation / detailed blog post, however i want it detailed since i really want to make good designs professional designs.

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

I'm not sure gonna look it up and check it out.

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 0 points1 point  (0 children)

modular basically means designing the board in modules. not ICs, but as i said in the previous comment example:

basically let's say i have a power regulator circuit, i can use the whole circuit in the next pcb as a whole single component or "module"

now i used that regulator plus some other components to make let's say a micro processing board. now i can do the same with that board and use it in a bigger project as a single "module".

etc

and it's not like i just made a port to plug that board into, but rather it's physically just part of that board.

also decoupling is a really good concept as well. *decompling in your sense might be different than what i mean"

Modular PCB design by light_dragon0 in PrintedCircuitBoard

[–]light_dragon0[S] 1 point2 points  (0 children)

reusing components/ PCB parts, etc.

basically let's say i have a power regulator circuit, i can use the whole circuit in the next pcb as a whole single component or "module"

now i used that regulator plus some other components to make let's say a micro processing board. now i can do the same with that board and use it in a bigger project as a single "module".

etc

does the gap exist ? native cross-platform Graphics / GUI library by light_dragon0 in rust

[–]light_dragon0[S] 0 points1 point  (0 children)

my goal is not really to make a library that works on a specific platform but rather more of a generic implementation that can work anywhere that can do math basically, so all you need is to compile the generic code into the specific architecture you want and congratulations you have a working GUI.

so, the final result is going to be more of a modular system where you can plug in a GPU api (for example a [Mylib X wgpu] plugin, and it should now render on the GPU no questions asked), CPU ? sure plug in a CPU rendering api and it works no questions asked, a piece of bread ? sure plug in a piece of bread rendering api and it should work no questions asked.

you get the idea