←Index



09/27 Embedded Coding ## Week 4: In this week, we learned # Recitation - Fusion: this week's task just adds components, switch between design and sketch - name long wires and do not draw out long wires - quick route works sometimes - use design rules to set the milling tool - KiCad: - install [library](https://gitlab.fabcloud.org/pub/libraries/electronics) from cba site - make sure a component's gnd is connected to the gnd - sync with pcb editor, use update pcb button - 1mil is the unit in pcb design - use route tracks to make a wire - 0 ohm jumper? - flip the component to have the wiring on the other side - make a boundary line - if the library does not have a component, find it on [SnapEDA](https://www.snapeda.com) - mind design rule check, wires that are 16mils, 0.4mm - 3D view renders a model of the pcb board - STEP file is the CAD model file # Class notes - fork first week and final object - polycam, app to 3D scan - Adafruit 9-DOF BNO085, chip to give orientation - Xiao for radio nRF52840 - [tough PLA](https://ultimaker.com/materials/s-series-tough-pla/) vs ABS (ABS emit open particles) - through 3D printing get different people together, [Fab All In] (https://academany.org/fab-all-in/), Megan Smith - Megan Smith, [National Academy of Engineering](https://www.nae.edu) - Easy to make solernoid - Use IDC connector to connect wires - you could use capacitors as battery for e.g. antenna - Regulator can be used to control how much voltage goes in. - KiCad is a cross platform EDA tool - use png or svg - KiCad/Fusion hobby, semi-professional -> Cadence is a professional tool - there are libraries with footprint of electronic components --- # Assignments - group assignment: use the test equipment in your lab to observe the operation of a microcontroller circuit board - individual assignment: use an EDA tool to design a development board to interact and communicate with an embedded microcontroller - extra credit: try another design workflow - extra credit: design a case for it - extra credit: simulate its operation ## Idea - make the wind thing, embed a motor controller - Amplifier to listen to LoRa - Use fusion 360 and make a parametric pcb scematic # 1) PCB design I started with Fusion and installed fab.du (design rules) and fab.lib (fab footprint library). Then I wanted to break out a Xiao ESP32c3, because that is the board worked with before. It took a while for me to understand the schematic of the Xiao, because the order on the digital component was different than on the physical board. Then I pulled out two Pinhead connectors and !important! switched it from angled to straight connectors and draw nets. Then I switched over to pcb mode and the nets were all intertwined, because the as previously mentioned, the order of pins on the digital component were different to the physical component. I wonder if there is a reason for that. ![Fusion_first](media/Fusion_pcb_6.jpeg) # 2) Add Button and Neopixel As a 2nd step, I wanted to add a button and a Neopixel primarily to learn how to implement them. Perr (Responsive Environment) and [Alan](https://fab.cba.mit.edu/classes/863.23/CBA/people/Alan/index.html) helped me with that. Learnings: - Use name tags, so the schematic is readable. - Each component group can be connected through visible nets e.g. switch and a resistor. But component groups should be connected through name and tags. - Read the data sheet of YOUR component. Sometimes a singl letter can make a big difference e.g. WS2812b vs WS2812 - In the data sheet there is a application circuit. This can help to understand how to implement the component to your circuit board. - When there is no footprint of a component in the library, visit [SnapEDA](https://www.digikey.com/en/models/5154679) ![Fusion_pcb_7](media/Fusion_pcb_7.jpeg) ![Fusion_pcb_2](media/Fusion_pcb_2.jpeg) ![Fusion_pcb_4](media/Fusion_pcb_4.jpeg) --- # Resources - files - [Fusion file](https://a360.co/483ANvt) - [superbrightleds](https://www.superbrightleds.com) - Book: The Art of Electronics - [Falstad](https://www.falstad.com/circuit/) simulator - [SVG PCB](https://pcb.fabcloud.io/#/home) edit PCB from code description --- ↳About