ESD testing of microcontrollers
BIN
Hardware_development/3-Controllers/ESD_testing/ESD_testing.pdf
Normal file
After Width: | Height: | Size: 3.6 MiB |
After Width: | Height: | Size: 6.3 MiB |
After Width: | Height: | Size: 3.4 MiB |
After Width: | Height: | Size: 6.6 MiB |
After Width: | Height: | Size: 5.7 MiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 6.3 MiB |
After Width: | Height: | Size: 6.1 MiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 6.3 MiB |
After Width: | Height: | Size: 6.3 MiB |
After Width: | Height: | Size: 3.2 MiB |
After Width: | Height: | Size: 6.5 MiB |
After Width: | Height: | Size: 6.2 MiB |
After Width: | Height: | Size: 6.3 MiB |
23
Hardware_development/3-Controllers/ESD_testing/Readme.txt
Normal file
|
@ -0,0 +1,23 @@
|
|||
All considered microcontrollers with their boards are tested for immunity on electrostatic discharge, due to the fact that the selected one(s) will work in a harsh ESD environment.
|
||||
|
||||
Tested microcontrollers and LCDs are:
|
||||
[01] ARDUINO NANO ATMEGA328
|
||||
[02] ARDUINO NANO EVERY
|
||||
[03] ARDUINO MKR ZERO
|
||||
[04] ARDUINO DUE ATSAM3X8E
|
||||
[05] MSP430 MSP430FR6989
|
||||
[06] MSPM0G3507 ARM
|
||||
[07] RASPBERRY PI PICO H RP2040
|
||||
[08] RASPBERRY PI PICO 2
|
||||
[09] DISCOVERY STM32F3348
|
||||
[10] NUCLEO-32 STM32F031K6
|
||||
[11] NUCLEO-32 STM32F303K8
|
||||
[12] NUCLEO-32 STM32L011K4
|
||||
[13] NUCLEO-32 STM32L432KC
|
||||
[14] LCD (4 rows with 20 characters) connected to Arduino Nano
|
||||
|
||||
Results are summarized in ESD_testing.pdf.
|
||||
|
||||
Photos of tests can be found in the folder ./Photos/.
|
||||
|
||||
Software for each tested microcontroller is available in the folder ./Software/. For every tested microcontroller there is a separate subfolder with the software used during the testing. For the cases where only the microcontroller code is given it can be fond in TXT file. For the cases where the project is given all of the project files can be found in ZIP file. Accompanying Readme.txt file briefly points to the software development environment.
|
|
@ -0,0 +1,13 @@
|
|||
void setup() {
|
||||
// put your setup code here, to run once:
|
||||
for (int i=0; i<66; i++)
|
||||
pinMode(i, OUTPUT);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// put your main code here, to run repeatedly:
|
||||
for (int i=0; i<66; i++) digitalWrite(i,HIGH);
|
||||
delay(0.1);
|
||||
for (int i=0; i<66; i++) digitalWrite(i,LOW);
|
||||
delay(0.1);
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
Boards Manager -> Arduino SAM Boards
|
||||
Tools -> Board -> Arduino Due (Programming Port)
|
|
@ -0,0 +1,12 @@
|
|||
void setup() {
|
||||
for (int i=0; i<22; i++)
|
||||
pinMode(i, OUTPUT);
|
||||
}
|
||||
void loop() {
|
||||
for (int i=0; i<22; i++)
|
||||
digitalWrite(i,HIGH);
|
||||
delayMicroseconds(100);
|
||||
for (int i=0; i<22; i++)
|
||||
digitalWrite(i,LOW);
|
||||
delayMicroseconds(100);
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
ARDUINO IDE
|
|
@ -0,0 +1,15 @@
|
|||
void setup() {
|
||||
// put your setup code here, to run once:
|
||||
for (int i=0; i<22; i++)
|
||||
pinMode(i, OUTPUT);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// put your main code here, to run repeatedly:
|
||||
for (int i=0; i<22; i++)
|
||||
digitalWrite(i,HIGH);
|
||||
delay(0.1);
|
||||
for (int i=0; i<22; i++)
|
||||
digitalWrite(i,LOW);
|
||||
delay(0.1);
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
Boards Manager -> Arduino megaAVR Boards
|
||||
Tools -> Board -> Arduino Nano Every
|
|
@ -0,0 +1,25 @@
|
|||
void setup() {
|
||||
// put your setup code here, to run once:
|
||||
for (int i=0; i<23; i++)
|
||||
pinMode(i, OUTPUT);
|
||||
for (int i=26; i<29; i++)
|
||||
pinMode(i, OUTPUT);
|
||||
pinMode(LED_BUILTIN, OUTPUT);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// put your main code here, to run repeatedly:
|
||||
for (int i=0; i<23; i++)
|
||||
digitalWrite(i,HIGH);
|
||||
for (int i=26; i<29; i++)
|
||||
digitalWrite(i,HIGH);
|
||||
digitalWrite(LED_BUILTIN, HIGH);
|
||||
delayMicroseconds(100);
|
||||
|
||||
for (int i=0; i<23; i++)
|
||||
digitalWrite(i,LOW);
|
||||
for (int i=26; i<29; i++)
|
||||
digitalWrite(i,LOW);
|
||||
digitalWrite(LED_BUILTIN, LOW);
|
||||
delayMicroseconds(100);
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
ARDUINO IDE
|
||||
Installation: https://github.com/earlephilhower/arduino-pico
|
|
@ -0,0 +1,25 @@
|
|||
void setup() {
|
||||
// put your setup code here, to run once:
|
||||
for (int i=0; i<23; i++)
|
||||
pinMode(i, OUTPUT);
|
||||
for (int i=26; i<29; i++)
|
||||
pinMode(i, OUTPUT);
|
||||
pinMode(LED_BUILTIN, OUTPUT);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// put your main code here, to run repeatedly:
|
||||
for (int i=0; i<23; i++)
|
||||
digitalWrite(i,HIGH);
|
||||
for (int i=26; i<29; i++)
|
||||
digitalWrite(i,HIGH);
|
||||
digitalWrite(LED_BUILTIN, HIGH);
|
||||
delayMicroseconds(100);
|
||||
|
||||
for (int i=0; i<23; i++)
|
||||
digitalWrite(i,LOW);
|
||||
for (int i=26; i<29; i++)
|
||||
digitalWrite(i,LOW);
|
||||
digitalWrite(LED_BUILTIN, LOW);
|
||||
delayMicroseconds(100);
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
ARDUINO IDE
|
||||
Installation: https://github.com/earlephilhower/arduino-pico
|
|
@ -0,0 +1 @@
|
|||
STM32 CubeIDE
|
|
@ -0,0 +1,13 @@
|
|||
void setup() {
|
||||
// put your setup code here, to run once:
|
||||
for (int i=0; i<22; i++)
|
||||
pinMode(i, OUTPUT);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// put your main code here, to run repeatedly:
|
||||
for (int i=0; i<22; i++) digitalWrite(i,HIGH);
|
||||
delayMicroseconds(75);
|
||||
for (int i=0; i<22; i++) digitalWrite(i,LOW);
|
||||
delayMicroseconds(75);
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
ARDUINO IDE
|
||||
File>Preferences>Additional Boards Manager URLs:
|
||||
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
|
||||
|
||||
Board-> Nucleo-32
|
||||
Board Part-> Nucleo F031K6
|
|
@ -0,0 +1,13 @@
|
|||
void setup() {
|
||||
// put your setup code here, to run once:
|
||||
for (int i=0; i<22; i++)
|
||||
pinMode(i, OUTPUT);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// put your main code here, to run repeatedly:
|
||||
for (int i=0; i<22; i++) digitalWrite(i,HIGH);
|
||||
delayMicroseconds(75);
|
||||
for (int i=0; i<22; i++) digitalWrite(i,LOW);
|
||||
delayMicroseconds(75);
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
ARDUINO IDE
|
||||
File>Preferences>Additional Boards Manager URLs:
|
||||
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
|
||||
|
||||
Board-> Nucleo-32
|
||||
Board Part-> Nucleo F303K8
|
|
@ -0,0 +1 @@
|
|||
STM CUBE IDE
|
|
@ -0,0 +1,13 @@
|
|||
void setup() {
|
||||
// put your setup code here, to run once:
|
||||
for (int i=0; i<22; i++)
|
||||
pinMode(i, OUTPUT);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// put your main code here, to run repeatedly:
|
||||
for (int i=0; i<22; i++) digitalWrite(i,HIGH);
|
||||
delayMicroseconds(75);
|
||||
for (int i=0; i<22; i++) digitalWrite(i,LOW);
|
||||
delayMicroseconds(75);
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
ARDUINO IDE
|
||||
File>Preferences>Additional Boards Manager URLs:
|
||||
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
|
||||
|
||||
Board-> Nucleo-32
|
||||
Board Part-> Nucleo L432KC
|
|
@ -0,0 +1 @@
|
|||
Import into CCStudio Theia
|
|
@ -0,0 +1 @@
|
|||
Import into CCStudio Theia
|