About motherboard building - Page 1
Forum section: electronics / beginners

author: ktalap
author_rank: Newbie
timestamp: September 26, 2024, 10:06:48 am
content: Hi, y'all. That's a question to people who have built a motherboard for ARM, RISC5 or x86 architectures before. Where do I start, besides me being an ECE major, and what should I focus on? The computer architecture books, while relevant don't seem to hit in the bull's eye.

author: tggzzz
author_rank: Super Contributor
timestamp: September 26, 2024, 10:26:31 am
content: Make sure you understand "signal integrity" and "power distribution network" theory and practice.Those topics are too large, complex, and subtle to explain in a forum thread. There are many books and articles on the subject. Consider starting with Bogotin's Rules of Thumb on EDN.

author: ktalap
author_rank: Newbie
timestamp: September 26, 2024, 11:41:56 am
content: THANK YOU!

author: Andree Henkel
author_rank: Regular Contributor
timestamp: September 26, 2024, 12:17:42 pm
content: I´d advice to select a "daughterboard" which come in several formfactors, and contain the CPU, RAM, Flashthis components are today mostly BGA, very fine pitch, Multi layer boards >=6 Layers, a lot of nets that need length matching, diff pairs and maybe controlled impedanceand design not a "Mother"-board, but a "Carrier"-Board containing Power and Connectors / Peripherie to outside which can be 4..6 Layers and Compnents with pitch that can be still handled maanually if you got steady hands.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: September 29, 2024, 08:49:14 am
content: Start by figuring out what you want to build, and whether you can also buy the actual parts you need. Not all parts are available in small quantities and for "reasonable" prices.I'd say have a look at Olimex. They both sell ready made ARM / Linux SBC's, have the complete design open sourced as KiCad projects, and they also sell bare Allwinner chips if you want to make your own. At least start by downloading the PCB project from gitlab and studying it in KiCad. It gives you a good Idea of the complexity involved, and whether it's a task you want to do yourself.

author: mctaylor
author_rank: Newbie
timestamp: September 30, 2024, 07:43:13 am
content: QuoteI would start with building a simple embedded system with a low-speed 8-bit microcontroller, such as one from the Microchip (formerly Atmel) AVR family. This is on the order of complexity of an Arduino Uno, but with you designing its support circuitry and interfaces to the real-world. This task can be as simple or complex as you want. You could make a simple clock for $10-20 USD of parts. But it should be a complete thing. A clock, a kitchen timer, bat detector, daylight recorder. It needs to have a purpose, and to be able to fulfill that purpose.From there you could move onto a single board computer (SBC) using a low-speed 8 or 8/16-bit microprocessor, such as the Western Design Center's (originally MOS Technology) 6502, or a Zilog Z80 family or derivative (Z8, Z180). As many 8-bit microprocessors are available as a through hole part, if you wanted to, you could build it on solderless breadboards. It is also simple enough to be debuggable without a large array of expensive high speed test equipment.Then I'd ensure you are familiar with high speed design, power distribution, and EMC (electromagnetic compatibility).Pick a processor family, then a particular device, read its datasheet, sketch out the block diagram of the support circuitry, buses, memory map. Then design, simulate, build, and debug those circuits. Write some firmware.

author: ktalap
author_rank: Newbie
timestamp: October 04, 2024, 08:35:43 am
content: So it's better to design a carrier board which should not be that large (smaller than 10cm^2) and will be made on 7-10 layer PCB. Then the rest of the functionality can be implemented on a 2-6 layer PCB, to which we mount the carrier board. That's a much better approach than having a whole motherboard have 8 layers. I did some research designing motherboards is not that hard I think, it's like lego.

author: ftg
author_rank: Frequent Contributor
timestamp: October 04, 2024, 08:45:41 am
content: Robert Ferenec has a nice 1hour and 52 minute interview video with Istvan Nagy about designing motherboards:

author: tggzzz
author_rank: Super Contributor
timestamp: October 04, 2024, 09:02:00 am
content: Quote from: ktalap on October 04, 2024, 08:35:43 amIt very much depends on the processor, the number of pins, the PSU requirements, and particularly the edge speeds. Arduino != FPGA/x86

author: Andree Henkel
author_rank: Regular Contributor
timestamp: October 07, 2024, 01:03:17 pm
content: ktalap, you clearly underestimate the complexity.My advice was: you buy a daughterboard and try to design a carrierboard.But ofcorse you can go route as suggested by others: use a µController-Board or designing a µController onto a PCB as well

author: ktalap
author_rank: Newbie
timestamp: October 09, 2024, 11:47:29 pm
content: Yeah, I did some research again. Making an actual motherboard is like 200k or more USD. Even if you bring it down to 100k, you can still buy like 4 really powerful double CPU servers (256 core, 512 threads) with that. It doesn't make any sense to create your own one, unless you are actually in the business of motherboards. I mean, yeah, you will have constraints, but it's actually not even a problem, unless you are trying to build a neutrino-atomic computer that is a size of flash memory stick and have the power of RTX 4090, did I say that it would be able to fly on its own too?Now it's another question if you can bring the cost down to 25-50k somehow, that would actually be viable. But bringing the cost down 8-fold, is a lot to ask. Manufacturing these, is not a problem, it's not that expensive either, carrier-board + the rest of the functionality will cost you ~1000-1500$ total a piece, even in small volumes. But the cost of the design, that's where the problem lies. While it's non-repeating cost, you would want to design all kinds of motherboards and improve them iteratively, which is why it has to be low.So yeah, I will just buy a carrier board from lattepanda or something, when I need custom work. Otherwise, it's even more fun, just buy a server mother board with many PCIe ports and you can do A LOT with them. Additional NVMes or something else, you can design it in such a way that it will have flexible busses going towards places you need etcetera.Thank you for your advice.

author: MrAl
author_rank: Super Contributor
timestamp: October 10, 2024, 03:13:19 pm
content: Quote from: ktalap on September 26, 2024, 10:06:48 amHi,I was going to offer some suggestions but then you never said what kind of CPU you were actually going to use. The first step would deciding which one you want to use.

author: ktalap
author_rank: Newbie
timestamp: October 12, 2024, 05:06:53 am
content: AMD EPYC's 9005 series. I believe it doesn't need a chipset, it's on the die itself. That's a W for me.

author: rstofer
author_rank: Super Contributor
timestamp: October 12, 2024, 06:03:13 pm
content: I often use uC header boards like this one from Olimex:https://www.olimex.com/Products/ARM/NXP/LPC-H2106/Projects requiring Ethernet will probably use the MBED LPC1768 as all I need on the carrier board is the device headers and a Magjack.https://os.mbed.com/platforms/mbed-LPC1768/Bigger projects might use one of the Raspberry Pi Zero boardshttps://www.amazon.com/Raspberry-Zero-Bluetooth-RPi-2W/dp/B09LH5SBPSSmaller projects might use an Arduino Nanohttps://www.amazon.com/ATmega328P-Module-Micro-Controller-Arduino/dp/B0CM3C3FCZIf you want fast bare-metal, the Teensy 4.1 is very capablehttps://www.pjrc.com/store/teensy41.htmlI won't build what I can simply buy.

author: xvr
author_rank: Frequent Contributor
timestamp: October 12, 2024, 07:05:35 pm
content: Quote from: ktalap on October 12, 2024, 05:06:53 amThen starts from getting full datasheet for this CPU. I believe this is next to impossible task for individual. You should be OEM manufacture to obtain such docs (and under NDA only)

author: ktalap
author_rank: Newbie
timestamp: October 13, 2024, 02:53:28 am
content: Yeah I am pretty sure it's in the devhub of theirs. NUMA topology guides and such spiciness is out there. You can get all kinds of explanations for programmers, on general workings of the CPU and on how to optimize it from their docs hub.Same for intel.But the pinout mapping is not what it is called. They call it package ballout mechanical specification. And the signals are available for intel at least.But LGA ballout and the signals, can be likely found in files similar to743844-001_S_LGA_Ballout.xlsxSo the question then is, how do I register a company and be a part of these DEV programs. And then another couple questions are:1. Cut out everything unnecessary for your use case, if you are not removing enough to have to put things back, you are not removing enough. That's probably the same as saying cutting off 60% of everything in there.2. To have specific, sane, and micron fit specifications for the project. Ie, what you need it to do.3. Make it as small and packed as you can.4. Pack as many items of what you made into 1U server, taking into account cooling. Would probably need to do some simulations or something.Just look at all the modern servers, there is so much waste of space, you can literally pack another server in with the amount of space they leave out. Then the motherboards themselves is another question, there is a lot that can be removed and made smaller, that's why we have high density servers on the market. You can pack another server into the same 1U rack.https://ibcworld.net/products/lenovo-high-density-servers/Look at how packed it is, and I bet if you have a specific use case in mind, you can do something that is even more packed and consumes significantly less energy by utilizing ARM or RISC-V chips instead of x86.