06 : Electronics Design#
1. Summary#
Hero Shot#
Learning Outcomes#
What did I learn this week ?
- Measurment :
- How to use an oscilloscope (relearned)
- How to use a multimeter (relearned)
- How a logic analyzer works
- Circuit Simulation :
- How to use TinkerCAD
- EDA
- How to do a schematic using KiCAD
- How to do a PCB design using KiCAD
- Electronics (more generally)
- What is an I²C protocol
- How to convert a serial signal to USB using a FTDI cable
- How to use a UPDI pin
Lecture Content#
2. Assignment#
This sixth week's assignments are :
- Group :
- Use the test equipment in your lab to observe the operation of an embedded microcontroller
- Individual :
- Simulate a circuit
- Use an EDA tool to design an embedded microcontroller system using parts from the inventory and check its design rules for fabrication
- Extra :
- Try another design workflow
- Design a case
Below you will find the achievement of the latter.
2.1. Group Assignment#
Here is the test equipment we have and the main measurments they can do :
- Multimeter :
- Voltage
- Current (DC or AC)
- Ohm-meter (Resistance)
- Continuity (Verify if the resistance is indeed low)
- Capacitance
- Temperature
- ...
- Oscilloscope :
- Visualise Analog Signals (display, screenshots, ...)
- Multi Analog Signals Operations
- Logic Analyser :
- Visualise Digital Signals
- Digital Signals Operations
2.1.1. Multimeter#
We used the multimeter on the QPAD board on which I soldered a microcontroller last week.
We verified the two powering tension :
the resistance :
and for fun, the temperature of the board :
2.1.2. Oscilloscope#
We used the oscilloscope on another microcontroller. Fabio wrote a simple code that tells the microcontroller to send a periodic square signal through one of its pin :
#define Pin_toggle 26
void setup() {
pinMode(Pin_toggle, OUTPUT);
}
void loop() {
digitalWrite(Pin_toggle, HIGH);
delay(250);
digitalWrite(Pin_toggle, LOW);
delay(250);
}
We plugged the oscilloscope on the concerned pin and on the board's ground :
It was working quite well !
Here is a screenshot taken from the oscciloscope :
2.1.3. Logic Analyser#
Michel did the logic analyser part. He plugged everything and showed us how it was working.
The logic analyzer allows one to see digital signals. He wrote a code that tells the microcontroller to send a text message through one of its pin, the logic analyzer intercept it and shows the message written in binary :
Check Michel's website for more details.
2.2. Individual Assignment#
Circuit Simulation#
For two years I have wanted to make my own modular analog synthetizer. The core component of such instruments is an oscillator that generates oscillating analog signals that are transformed into sound. The easiest one produces sawtooth signals and I will simulate one using Tinkercad.
I followed Moritz Klein tutorial to understand how such oscillators work and I reproduced a similar circuit. Below you can find a simulation of the latter plugged to an oscilloscope to show the produced signal :
Electronic Design Automation#
Goal#
Since I'm a total beginner in electronic design, Axel (a former Fab Academy student and the laboratory technician of my reseacrh's lab) showed me a simple PCB that contains a microcontroller, pin headers to allow one to program and transmit data to the latter and a led that indicates if it is well powered.
I will use KiCAD for the design since Michel gave us a short but dense lesson about how to use it. I also used a bit the KiCAD tutorial.
Schematic#
I will use a ATTiny412 microcontroller as it has only 8 pins and I think it will be easier for a beginner like me.
I started doing the schematic and below you can find the first part : the microcontroller plugged to three pin headers.
The two 6-pin headers are connected to the microcontroller as FTDI cable pinouts in order to allow one to program the microcontroller and transmit data via USB.
The first one is for programming and is connected to the UPDI pin of the microcontroller as the picture below shows.
The second one is for communicating and directly uses the RXD and TXD pins.
The 4-pin header is connected to the microcontroller to allow I²C communication (it is then connected to the SDA and SCL pins).
I then added a led and connected it to the last available pin (so it can be controlled by the microcontroller) and a capacitance close to the VCC pin to filter noise.
PCB#
I transfered my design to the KiCAD PCB mode and it was quite messy.
I rearanged everything to see more clearly.
I then did the routes connecting every components.
I then realised I did not define any design rules. Therefore I had to restart the routing after defining them.
I then defined a rectangular GND plane.
I checked the 3D appearance and found out that my board edges were not defined.
On the right window you have to select the Edge Cuts layer and then simply define a zone. This zone will be your board surface.
I checked the 3D appearance again and everything seemed fine.