Seeing as I am now looking for a job and entering the professional world, I re-tooled the schematics of my Golden Arduino project to make a compact PCB design that I could use as a business card. The main difference in this PCB other than the compactness is the streamlining of the power source so that the DC jack and power switch are removed to save space. The card is fully able to be assembled and used as a functional Arduino if I need it to, but in efforts of space conservation and saving money, the fabricated results are bare PCBs, which will actually fit in a wallet. I have even ordered physically fabricated copies from JLCPCB for future hiring events and or career fairs.
Along with this I have added some fun designs tested during my free time to get to know Altium's constraints and applications better. Such as in this other iteration where instead of a business card I use the custom Arduino along with a mascot. So if I ever need to promote a company or logo, I have the skillset to add complex imagery or interesting graphics onto the boards that I fabricate. Unfortunately in my excitement on this first spin I forgot to add contact information, something to add for the next spin.
Jumping from what I had learned building the Arduino schematic & PCB, for my senior design project I was designated as PCB design leader. As of November 2020, I have designed iteration 1.0 through 7.0 of our product in Proof of Concept form. This circuit is designed to handle several functional tasks that emulate the desired functions of our final product to both gauge their feasibility and real-world limits. Firstly the circuit needs to accept power from three options; DC jack, Micro USB, and battery. The Micro USB also doubling as a battery charging circuit in order to test out portability. The main unit is an EFR32MG12 microprocessor from Silicon Labs built for low power applications and optimized for wireless signal transmission. The main design of the board being built around a wireless antenna with direct access to the MCU with the path of least noise. One set of GPIO is designated to an onboard Piezo speaker and another for an onboard microphone connected via I2C. The rest of the I/O are routed to breakout pins on the sides of the board, along with a mini simplicity connector for flashing firmware.
This was a tough challenge, as the constraints of the EFR32 chipset were far greater than that of the Arduino. Mainly requiring more strict guidelines for circuitry layout along with many more pinouts that needed to be either decoupled or designated to I/O. As such for a first iteration half the time was spent researching SiLabs schematics and learning their antenna connection guidelines before having to find and source each part individually before finding and sourcing each of their individual Altium footprints. Then after the schematic was finished, a total of three pages compared to the single of the Arduino, PCB routing had to be completed. Emphasizing optimal locations for signal integrity of the antenna, while also juggling many differently shaped parts of many sizes. The piezo speaker specifically taking up four times the room as the MCU despite having only two pins. Despite this however I created the PCB design and even managed enough optimization to allow the import of some basic graphics for logos and branding. The final product of Version 1.0 can be seen to the right.
The PCB on the bottom right is Version 7.0, the final and best iteration of the design. Utilizing 4 layers of routing, advanced noise reduction techniques, equidistant crystal traces, optimized antenna routing with a separate ground plane, and overall much neater routing created in order to ensure ease of fabrication as all our components needed to be place by hand. Altogether these boards were by far the most successful ones that I've designed, and as can be seen in contrast to version 1.0, I have learned a lot over the course of my endeavors. Below I have also included a diagram of PCB Version 6.0 which has a diagram of all the parts utilized in the design of this board.
For my PCB design class we were tasked with constructing an Arduino from scratch, from schematic design to PCB fabrication. The goal of this project to not only learn how to bring a complex board like this up into production, but also to work towards solving noise issues commonly found within Arduino boards. To do this we followed best design practices such as better locations of decoupling capacitors and crystal oscillators, negation of shared return paths, solid ground planes, minimal interfering signal paths, and minimal short cross unders. This was accomplished by altering object placements as well as ensuring all return ground pins connected to a via as closely as possible and never shared. For testing purposes a ground rail was also placed right beside the I/O to make testing of pins easier via our scope probes, along with providing an easily accessible return path for every signal.
A basic 555 timer PCB that utilizes basic DC input to make a simple flashing 555 circuit. I have yet to fabricate this design as its creation was mostly used as a means to learn the basics behind Altium's design suite.