←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