1

We are designing and producing our custom high-speed boards consisting of FPGA and gigabit ethernet signals. Hence, we are not professional for high-speed motherboard design but know some issues like signal integrity and other PCB design staff.

We have a new control application and this time we are planning to design our own motherboard. The first prototype is made by using a raspberry pi and an Arduino mega boards. We programmed both devices in order to control some slave devices. We used the well known Raspbian OS based on Debian and wrote scripts for it.

We have never designed a motherboard before, but fortunately, there are many fully open-source motherboard PCB designs (including Raspberry except firmware).

I guess we may not be able to use the same Debian (like Raspbian) and kernel on our custom hardware since kernel must be changed because of the GPIO and other registers, instructions etc.. We will not clone any of the board designs, we will modify maybe the microprocessor brand or indeed the core architecture (like not A53 but A9) or using NXP brand relying on the base design.

Question is, (I am not a software guy, hence I connect the wires, calculate impedances, lengths etc but not load anything on those devices), might generic distributions of Linux and the related kernel and bootloaders be used for our custom motherboard (like Ubuntu or Debian?)? I searched and heard something about Yocto Project, which says have no dependency on the embedded system. I am still searching for this.

Could anybody explain in some more details and concepts on this issue?

Kind regards.

Niteesh Shanbog
  • 711
  • 7
  • 21
onrep
  • 41
  • 7
  • https://wiki.ubuntu.com/HardwareSupport and http://www.tldp.org/HOWTO/Hardware-HOWTO/ and https://help.ubuntu.com/lts/installation-guide/i386/ch02s01.html . I found these links, I guess these might at least be informative for my issue, but will comment again for the process. By the way, I still do not know about enough about Yocto and the related concepts. – onrep Apr 10 '19 at 08:23
  • Lookup what "Board Support Packages" are. Check what BSP the manufacturer of the SoC you're planning to use provides, and study the differences between their reference design and what you need on your custom board. – dim Apr 10 '19 at 08:57

2 Answers2

1

This is too broad a question to answer, but in general software will be a killer. You only need to look at the low take up of the higher powered Raspberry Pi clones to see that the software and community is really what makes the Raspberry Pi so successful.

Realistically, you will need to a hire a professional developer if you want to make this design from scratch. If you don't want to or can't do that, an off the shelf solution (for example the RasPi Compute Module) will be the best way to go unless you're willing to learn a lot about the internals of the kernel.

awjlogan
  • 7,879
  • 2
  • 29
  • 45
0

I recommend using a COTS System on Module (SOM) to help with your problem. A SOM (sometimes called Computer on Module--COM) is a small board that has all of the essentials like the processor and supporting ICs as well as some connections to an external carrier board.

In my experience, it is much easier to design a carrier board and develop custom software on top of the base software package provided by the SOM vendor. Usually the vendor takes care of setting up the OS, and you can add your business value on top of that.

Here's a current handful of vendors that offer SOMs (NOT at all a complete list!):

Mike Foss
  • 141
  • 4