Pushing the Open Source Hardware Limits with KiCAD
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Usunov, Tsvetan
The talk will cover the design of very complex and powerful OSHW Linux boards based on the new NXP iMX8 and ST STMP1 SOC with FLOSS KiCAD tools and then running FLOSS software for cloud, IoT and Health to offer full transparency to the people who value their privacy not only on software but also on hardware level.
 Hello, today I will talk about pushing the open source hardware limits with Kikat. My name is Svetan Zulov, I am from PolyMex, Bulgaria, PolyMex is a small company dealing with electronic design and manufacture of electronic devices, all products which PolyMex sells are designed and manufactured in Bulgaria, Plovdiv, and many of our products are licensed as open source hardware and certified by open source hardware association. At 10 years, already we work on small Linux computer family, which is completely open source hardware and named Linuxino. For these 10 years we experimented with more than 12 different processors, starting with Tollwinner, NXP, Rallying. Some of these processors are very popular, we still sell boards with them, like 813, 820. Some of these designs, we just made prototypes and decided to scrub because of hardware bugs or poor performance. What makes me proud is that our Ythub repository has hundreds of forks and there are thousands products made based on designs. Open source hardware is always about collaboration and feedback from the community. When your design is more accessible to people, you probably will get more feedback and more collaboration. This is why in 2015 we decided that all our open source hardware projects will be made exclusively with Kick-Up and one of our first complex Linux port computer made with Kick-Up is A64 Linuxino. During the years we learned that there is no point to hope of every newly released Chinese-SOS with poor Linux support and buggy undocumented hardware. One of our most successful products is still i20 line 2. Why? Because it has mainline Linux support thanks to Linux NC community. It has not so high performance parameters but still enough for industrial application. In industrial products people mostly value reliability, good support for the software, expanded temperature grad and especially long-term availability. When you design industrial product it's usually subject to a huge certification and people don't want to touch the designs after they pass all this certification for many years. So to have a long-term availability is very very important and this is why A20 line 2 Linux computers are so popular among industrial use. Men time people who work on free library open source software projects also notice our open source hardware computers. Why? Because this is perfect match for the open source software because the final product becomes completely open source, top software and hardware. Our first successful cooperation was with the Freedombox Foundation. We made a special Puneer Freedombox Home Server Kit for them and they maintain line 2 image on their website for direct download. One other interesting project we also support and they have special image for line 2 is GNU Health project. This project has a very noble idea to help doctors and laboratories all around the world with open source software which to help them to maintain their patient files, appointments, analysis and etc. We are very happy that we are part of this GNU Health project. Industrial applications do not require a lot of resources but servers like this necessary for Freedombox or from GNU Health and others like Home Assistant, OnCloud and etc. They need RAM, they need more cores, more performance, they need a fast internet connection and this is what A20 line 2 is lag behind. So two years ago we had been contacted by Mr. Victor Andriy Toyu from French company Ignitio asking us if it's possible to design open source hardware board but with high respect for high-end open source hardware server board. He studied the existing market and evaluated what is available and none of the solution on the market has open source hardware. Mr. Andriy Toyu offered Ignitio to cover the cost of the development for one such more powerful Linux server. So he started research to see what possible SOC candidates with good specs, proper documentation and proper Linux support exist and these requirements excluded almost everything from Chinese SOC. What we found is MXP product IMX8 Quad Max which is dedicated for automotive infotainment and has octa core processor with plenty of processing power. It supports up to 16 gigabyte RAM with 64-bit data wide and 2 gigabit ethernet and for storage it has options for SATA and for PCI Express. So this was perfect match for server application and we started this most complex board we ever designed in July 2020, finished it after 10 months in April 2021. We used a key cut for this board. This was our first choice and we never experienced any problems while we have been designing this board. The only issues was that we still cannot verify the prototypes as the semiconductor crisis hit us and we cannot source some key components. The processors and Pemix were delivered free of charge by NXP but there are still some memories and specific integral circuits which are not available on the market. So we have to wait until they become available so we can verify the prototypes. One other minor issue is that this board becomes very expensive because of the specs used. Manta and another French company NXID managed to secure the financing for the development of our next less expensive IMX8 board which is IMX8 Quad Plus. If you see it has a still Quad Core Cortex AE53 plus Cortex M7 core processor and what is interesting here it has also 2.3 Tops NPU which allow machine learning. This board can address up to 6 GB of DDR4 RAM and it has PCI Express, USB3 and Gigabit interface with TSN. Also it is available in industrial grade. We also did the design of this complex board with kickup and it took us only 5 months this time because the processor was less complex. You can see the final result here. This board is booting and everything is working from the very first tray. And this board is made with kickup. Everything, the small board and the motherboard. So if I have to make a summary there is a demand for high-end open source hardware servers which to guarantee security and privacy on all levels and the kickup development and community is flourishing right now. It's already in mature cat tool and allow designing from simple to very complex boards. If you have any questions I will be available on the chat to answer them. Thank you. Welcome. I am speaking with the head of Olamex Limited. Thank you so much for the talk. This was really interesting for people who use key cad and other open source tools in their professional development. I think one of the questions that came out of this was how do you design your workflow? How is your when you have a project come in with a new board like we were describing in the talk, what does your process look like to move from your existing libraries into a developed product like the board you were showing? Well, thanks for inviting me here. I appreciate to be here. What is our workflow? First we study the data sheets and we try to see if there are some inconsistencies in them or some things which are not clear. Then we contact the semiconductor vendor asking for explanations. Sometimes there are errors in the data sheets. So this is where we start. We first make sure that the information we have is correct. Sometimes we compare with the reference designs they publish and if we saw some differences we start to ask and clarify which one is correct because there are always some little glitches in the documentation or in the schematic. Some people didn't update them on time. They know about this issue but it is not in the documentation. This is when we start because otherwise you have to make double work. After we clear all the non-clear stuff in the documentation we start with the component creation. We make a component. Usually this is done by two people. One is creating a second is checking if everything is correct because when you check yourself you often make you often omit problems and errors. So definitely you need two different guys which want to do the stuff. Second one to check them or vice versa. Then to switch the roles and then second to continue and the first two. After we know that the components are created correctly we start the schematic. We usually check what is available as hardware designs like references and etc. But we try to see if we can optimize the design. What does this mean? We want to make it designed for manufacturing for manufacturability using our own existing technology. We have more than 600 different products and more than maybe 6000 different components. When we have to choose for DC-DC converter for instance first we search in our stock. If we have something which can do the job because there is no reason to keep 100 different DC-DC converter which probably do the same job. So we try to reuse what we have in stock. And this is how we build the schematics. We don't follow always exactly the vendor reference design. We try to adapt it for our stocking components and for our working process. So later to be easy to manufacture this board in our own factory. Every factory has their own setups, their own rules. We for instance know that some machines have limited number of feeders. So we have to choose components which to feed in these feeders. Sometimes we have for instance 3.3 kilo ohm, 4.7 kilo ohm, 6.8 kilo ohm. But we just put one value because we will use one feeder. And so sometimes the schematics are not just following the electrical rules. Sometimes we just try to optimize the process to make it with minimum change over all the feeders with minimum number of different feeders so the assembly machine can manufacture this board later faster. And once the schematic is already done then we start to choose the proper component location on the PCB. This usually depends on how fast the signals are, what is the arrangement. We will put this board in box where the connectors has to go on which site and etc. And later on we start the PCB layout. So this is more or less the workflow for one board. And do you build all of, you mentioned you're optimizing for your manufacturing process. Do you manufacture them in-house? Yes, absolutely. Everything is manufactured through the mix. We have control on every process, on every step of the production. Do you find that you're able to identify and correct more issues by having that in-house production capability? Absolutely, absolutely. Sometimes we take external orders and this is always hell for our production because they use very odd components. They don't know our limitation and we cannot build easy and cheap boards which are not designed by us. Knowing our assembly line or technology limitation and etc. That makes sense. People who are not familiar with Olamex yet and there might be one or two out there, they might be surprised to hear that you have more than 600 different products that you have designed and built. How many of them do you still have in active production? Or I miss to produce every of these boards if there is demand. So even boards which are very old, 10 years old, 12 years old. But if there is demand and we have the components, we always produce them. Many of our customers appreciate this because we have customers which use very old ARM 9 devices, which they put in certified industrial products. And to recertify this product costs a lot of money. So they use absolute technology and I told them this board is too expensive to manufacture. This processor costs 8 euro. You can find a processor for 2 euro with more capability. But they say we don't want to touch this design. It works. Don't change anything. And that is a great way to end.
 Hello, today I will talk about pushing the open source hardware limits with Kikat.  My name is Svetan Zulov, I am from PolyMex, Bulgaria, PolyMex is a small company dealing  with electronic design and manufacture of electronic devices, all products which PolyMex  sells are designed and manufactured in Bulgaria, Plovdiv, and many of our products are licensed  as open source hardware and certified by open source hardware association.  At 10 years, already we work on small Linux computer family, which is completely open  source hardware and named Linuxino. For these 10 years we experimented with more than 12  different processors, starting with Tollwinner, NXP, Rallying. Some of these processors  are very popular, we still sell boards with them, like 813, 820. Some of these designs,  we just made prototypes and decided to scrub because of hardware bugs or poor performance.  What makes me proud is that our Ythub repository has hundreds of forks and there are thousands  products made based on designs. Open source hardware is always about collaboration  and feedback from the community. When your design is more accessible to people,  you probably will get more feedback and more collaboration. This is why in 2015 we decided  that all our open source hardware projects will be made exclusively with Kick-Up and one of our  first complex Linux port computer made with Kick-Up is A64 Linuxino.  During the years we learned that there is no point to hope of every  newly released Chinese-SOS with poor Linux support and buggy undocumented hardware.  One of our most successful products is still i20 line 2. Why? Because it has mainline Linux support  thanks to Linux NC community. It has not so high performance parameters but still enough for  industrial application. In industrial products people mostly value reliability, good support for  the software, expanded temperature grad and especially long-term availability. When you design  industrial product it's usually subject to a huge certification and people don't want to touch  the designs after they pass all this certification for many years. So to have a long-term  availability is very very important and this is why A20 line 2 Linux computers are so popular  among industrial use. Men time people who work on free library open source software projects also  notice our open source hardware computers. Why? Because this is perfect match for the  open source software because the final product becomes completely open source, top software  and hardware. Our first successful cooperation was with the Freedombox Foundation. We made a  special Puneer Freedombox Home Server Kit for them and they maintain line 2 image on their website for  direct download. One other interesting project we also support and they have special image for  line 2 is GNU Health project. This project has a very noble idea to help doctors and laboratories  all around the world with open source software which to help them to maintain their patient files,  appointments, analysis and etc. We are very happy that we are part of this GNU Health project.  Industrial applications do not require a lot of resources but  servers like this necessary for Freedombox or from GNU Health and others like Home Assistant,  OnCloud and etc. They need RAM, they need more cores, more performance, they need a fast internet  connection and this is what A20 line 2 is lag behind. So two years ago we had been  contacted by Mr. Victor Andriy Toyu from French company Ignitio asking us if it's possible to  design open source hardware board but with high respect for high-end open source hardware server  board. He studied the existing market and evaluated what is available and none of the solution on the  market has open source hardware. Mr. Andriy Toyu offered Ignitio to cover the cost of the development  for one such more powerful Linux server. So he started research to see what possible SOC candidates  with good specs, proper documentation and proper Linux support exist and these requirements  excluded almost everything from Chinese SOC. What we found is MXP product IMX8 Quad Max which is  dedicated for automotive infotainment and has octa core processor with plenty of processing power.  It supports up to 16 gigabyte RAM with 64-bit data wide and 2 gigabit ethernet and for storage it  has options for SATA and for PCI Express. So this was perfect match for server application and  we started this most complex board we ever designed in July 2020, finished it after 10 months in April  2021. We used a key cut for this board. This was our first choice and we never experienced any  problems while we have been designing this board. The only issues was that we still cannot  verify the prototypes as the semiconductor crisis hit us and we cannot source some key components.  The processors and Pemix were delivered free of charge by NXP but there are still some memories  and specific integral circuits which are not available on the market. So we have to wait until  they become available so we can verify the prototypes. One other minor issue is that  this board becomes very expensive because of the specs used.  Manta and another French company NXID managed to secure the financing for the development of  our next less expensive IMX8 board which is IMX8 Quad Plus. If you see it has a still Quad Core  Cortex AE53 plus Cortex M7 core processor and what is interesting here it has also 2.3 Tops  NPU which allow machine learning. This board can address up to 6 GB of DDR4 RAM and it has PCI  Express, USB3 and Gigabit interface with TSN. Also it is available in industrial grade. We also did  the design of this complex board with kickup and it took us only 5 months this time because  the processor was less complex. You can see the final result here. This board is booting and  everything is working from the very first tray. And this board is made with kickup.  Everything, the small board and the motherboard. So if I have to make a summary there is a demand  for high-end open source hardware servers which to guarantee security and privacy on all levels  and the kickup development and community is flourishing right now. It's already in mature  cat tool and allow designing from simple to very complex boards.  If you have any questions I will be available on the chat to answer them. Thank you.  Welcome. I am speaking with the head of Olamex Limited. Thank you so much for the talk. This was  really interesting for people who use key cad and other open source tools in their professional  development. I think one of the questions that came out of this was how do you design your  workflow? How is your when you have a project come in with a new board like we were describing  in the talk, what does your process look like to move from your existing libraries into a  developed product like the board you were showing? Well, thanks for inviting me here.  I appreciate to be here. What is our workflow? First we study the data sheets and we try to see  if there are some inconsistencies in them or some things which are not clear. Then we contact the  semiconductor vendor asking for explanations. Sometimes there are errors in the data sheets.  So this is where we start. We first make sure that the information we have is correct.  Sometimes we compare with the reference designs they publish and if we saw some differences we  start to ask and clarify which one is correct because there are always some little glitches in  the documentation or in the schematic. Some people didn't update them on time. They know about this  issue but it is not in the documentation. This is when we start because otherwise you have to make  double work. After we clear all the non-clear stuff in the documentation we start with the  component creation. We make a component. Usually this is done by two people. One is creating  a second is checking if everything is correct because when you check yourself you often make  you often omit problems and errors. So definitely you need two different guys which  want to do the stuff. Second one to check them or vice versa. Then to switch the roles and  then second to continue and the first two. After we know that the components are created  correctly we start the schematic. We usually check what is available as hardware designs  like references and etc. But we try to see if we can optimize the design. What does this mean?  We want to make it designed for manufacturing for manufacturability using our own existing  technology. We have more than 600 different products and more than maybe 6000 different  components. When we have to choose for DC-DC converter for instance first we search in our  stock. If we have something which can do the job because there is no reason to keep 100 different  DC-DC converter which probably do the same job. So we try to reuse what we have in stock.  And this is how we build the schematics. We don't follow always exactly the vendor  reference design. We try to adapt it for our stocking components and for our working process.  So later to be easy to manufacture this board in our own factory. Every factory has their  own setups, their own rules. We for instance know that some machines have limited number of feeders.  So we have to choose components which to feed in these feeders. Sometimes we have for instance 3.3  kilo ohm, 4.7 kilo ohm, 6.8 kilo ohm. But we just put one value because we will use one feeder.  And so sometimes the schematics are not just following the electrical rules. Sometimes we just  try to optimize the process to make it with minimum change over all the feeders with minimum  number of different feeders so the assembly machine can manufacture this board later faster.  And once the schematic is already done then we start to choose the proper component location  on the PCB. This usually depends on how fast the signals are, what is the arrangement. We will  put this board in box where the connectors has to go on which site and etc. And later on we start  the PCB layout. So this is more or less the workflow for one board.  And do you build all of, you mentioned you're optimizing for your manufacturing process.  Do you manufacture them in-house? Yes, absolutely. Everything is manufactured through the mix.  We have control on every process, on every step of the production.  Do you find that you're able to identify and correct more issues by having  that in-house production capability? Absolutely, absolutely. Sometimes we take  external orders and this is always hell for our production because they use very odd components.  They don't know our limitation and we cannot build easy and cheap boards which are not designed by us.  Knowing our assembly line or technology limitation and etc.  That makes sense. People who are not familiar with Olamex yet and there might be one or two  out there, they might be surprised to hear that you have more than 600 different products that you  have designed and built. How many of them do you still have in active production?  Or I miss to produce every of these boards if there is demand. So even boards which are very old,  10 years old, 12 years old. But if there is demand and we have the components, we always produce them.  Many of our customers appreciate this because we have customers which use very old ARM 9 devices,  which they put in certified industrial products. And to recertify this product costs a lot of money.  So they use absolute technology and I told them this board is too expensive to manufacture.  This processor costs 8 euro. You can find a processor for 2 euro with more capability.  But they say we don't want to touch this design. It works. Don't change anything.  And that is a great way to end.
oshw_0_131.png oshw_132_1079.png oshw_1080_6215.png oshw_6216_6635.png oshw_6636_7595.png oshw_7596_18263.png oshw_18264_18359.png oshw_18360_19139.png oshw_19140_19427.png oshw_19428_19487.png oshw_19488_20027.png oshw_20028_20147.png oshw_20148_20339.png oshw_20340_21383.png oshw_21384_21431.png oshw_21432_22007.png oshw_22008_22247.png oshw_22248_22595.png oshw_22596_22943.png oshw_22944_23879.png oshw_23880_23927.png oshw_23928_24179.png oshw_24180_24311.png oshw_24312_24779.png oshw_24780_26303.png oshw_26304_27287.png oshw_27288_28091.png oshw_28092_28506.png