WolfSSL Code

This week I got the wolfssl_tcpip code from Micro-chip running. This code establishes a HTTP server which can then be accessed. My task was to strip away all the extra codes in order to simplify the program. The code is base on Microchip’s code and uses some of the included libraries and functions. After the connection is established, you first have to open the socket and then wait for a signal and in the case of HTTPS, there needs to Read more…

First week of internship

This is my first week as an intern engineer here at Aeste Works. On the first day I was introduced to the project on which I am to work on in full details, once that was covered, I was given a specific task related to the project to work on this week. The task itself in general was pretty simple and straightforward, but I did end up facing some difficulties at first as I needed some time to adjust to Read more…

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…