New task

I started the week by generating the BOM and also all the Gerber files needed for manufacturing of the board. Something I learned was if there are any fill areas in the design, it has to be filled before generating the Gerber files. The Gerber files are generated based on the current state of the software based on the selected layers. The shortcut “B” can be used to fill all the zones on the board in order to produce the Read more

BOM & Routing

Routing the board was finished last week. However, the ethernet connection looked really messy and not optimized, Ethernet connections were where I started this PCB design with. Therefore, I rotated the chip and reconnected it again, this time with a lot more care. The connection is now much better. BOM I managed to bill of materials which is a document that lists all the components used and their values and some additional information for purchasing and assembling the components. There Read more

Differential Routing in KiCAD

This week I was mostly double checking all the connections and also all the footprints. There were a few footprints that needed to be modified and rerouted. The I/O ports connected to the FPGA were also rerouted, this time using the differential tracks instead of single ones. That opens up a lot of new functionalities. I also tested the length of the high-speed signals for transmission line effect. However, none of the traces are long enough for it to take Read more

Routing DONE

Finally, I managed to finish the routing of the board. After changing the width of the board and having to move the digital ports to fit the new board dimensions, I had to redo most of the connections. Routing the board for the second time was much faster as I knew where and how to lay the tracks. This proves that planning is a very important step in PCB design. As a beginner in PCB design, sometimes it is hard to Read more

New Task & Routing Continues

This week I was given a new task, in order to carry out this task I had to learn a few new things. First I learned how to set up a Raspberry pi, which requires installing an operating system (Raspbian) on an SD-card. This procedure is explained in details on their official website. Next, I learned about I2C (I2C) also known as TWI (two wire interface). This protocol allows for a multi slave, multi master connection using only two wires Read more

Layout

This week when I tried to open the project, I faced a number of errors. This was caused because we have upgraded the systems at our office and the new version of Kicad could not recognize most of the libraries and models in the project. In order to fix this, I added all the libraries again from the Library Wizard. In the new version, it is no longer possible to add all the libraries at the same time, they have Read more

LTSP and OpenGL 2.1

We’ve recently updated our office computers to the new Ubuntu Xenial LTS. This came with a newer version of KiCad that requires OpenGL 2.1 minimum to run. Unfortunately, we run a bunch of LTSP thin-clients in the office with a beefier server for work and a bunch of old PCs as clients. With our current setup, KiCad had trouble running as it fails with an OpenGL error. Investigating this problem, we found that the OpenGL setup was only reporting OpenGL Read more

Component Placement & Footprints

This week I spend most of my time assigning the footprints to each component and repositioning all the components on the board so that all the newly added digital ports can fit in nicely and be accessible. There are a total of 78 digital pins and 12 analogue pins available on this board. I also encountered an error (“IO_Error: maximum line length exceeded”) this is because the maximum line length should be less than 99 characters and sometimes when an external Read more

Schematics Completed

This week I spent most of my time finishing up the schematics. The updated board will have 2 complete SPI and 1 complete UART connection, between the PIC32 and the FPGA. The PIC32 pin availability for these connections can be checked from harmony configurator in MPLABX. You might need to modify the connection settings in order to see all the different possibilities such as SS pin in an SPI connection and URTS, UCTS pins in a UART connection. Pin Position Read more

Power Supply & Clocking

I started the week by looking at alternative power supply designs. The problem with the current design is that it utilizes 2 bulky linear voltage regulators. There are many single chip solutions for the 3 voltage levels required. However, they are not really cost effective, thus can not be used. The final decision is to use 3 different ICs (MCP1727) in the design. MCP1727 has much higher current rating and also it is considerably smaller in size. Clocking There are Read more