diff --git a/Hardware_development/3-Controllers/ESD_testing/ESD_testing.pdf b/Hardware_development/3-Controllers/ESD_testing/ESD_testing.pdf new file mode 100644 index 0000000..8a7907e Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/ESD_testing.pdf differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/Arduino_DUE.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/Arduino_DUE.jpg new file mode 100644 index 0000000..fa998be Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/Arduino_DUE.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/Arduino_MKR_ZERO.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/Arduino_MKR_ZERO.jpg new file mode 100644 index 0000000..6c84b56 Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/Arduino_MKR_ZERO.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/Arduino_NANO.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/Arduino_NANO.jpg new file mode 100644 index 0000000..fb7a84a Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/Arduino_NANO.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/Arduino_NANO_EVERY.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/Arduino_NANO_EVERY.jpg new file mode 100644 index 0000000..757b329 Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/Arduino_NANO_EVERY.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/DISCOVERY_STM32F3348.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/DISCOVERY_STM32F3348.jpg new file mode 100644 index 0000000..4ea907a Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/DISCOVERY_STM32F3348.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/Direct_discharge.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/Direct_discharge.jpg new file mode 100644 index 0000000..5d271ba Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/Direct_discharge.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/Direct_pin.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/Direct_pin.jpg new file mode 100644 index 0000000..786f2f0 Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/Direct_pin.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/Indirect_horizontal.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/Indirect_horizontal.jpg new file mode 100644 index 0000000..8241a5f Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/Indirect_horizontal.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/Indirect_vertical.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/Indirect_vertical.jpg new file mode 100644 index 0000000..59d6778 Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/Indirect_vertical.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/MSP430FR6989.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/MSP430FR6989.jpg new file mode 100644 index 0000000..3921767 Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/MSP430FR6989.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/MSPM0G3507.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/MSPM0G3507.jpg new file mode 100644 index 0000000..6e6aa7e Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/MSPM0G3507.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/NUCLEO_32_STM32F031K6.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/NUCLEO_32_STM32F031K6.jpg new file mode 100644 index 0000000..e71062b Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/NUCLEO_32_STM32F031K6.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/NUCLEO_32_STM32F303K8.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/NUCLEO_32_STM32F303K8.jpg new file mode 100644 index 0000000..d262c1b Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/NUCLEO_32_STM32F303K8.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/NUCLEO_32_STM32L011K4.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/NUCLEO_32_STM32L011K4.jpg new file mode 100644 index 0000000..046b5b6 Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/NUCLEO_32_STM32L011K4.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/NUCLEO_32_STM32L432KC.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/NUCLEO_32_STM32L432KC.jpg new file mode 100644 index 0000000..04e9ff1 Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/NUCLEO_32_STM32L432KC.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/Rasperry_PI_PICO_2.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/Rasperry_PI_PICO_2.jpg new file mode 100644 index 0000000..61a7c7f Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/Rasperry_PI_PICO_2.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Photos/Rasperry_PI_PICO_H.jpg b/Hardware_development/3-Controllers/ESD_testing/Photos/Rasperry_PI_PICO_H.jpg new file mode 100644 index 0000000..88b2cdd Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Photos/Rasperry_PI_PICO_H.jpg differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Readme.txt b/Hardware_development/3-Controllers/ESD_testing/Readme.txt new file mode 100644 index 0000000..0e805aa --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Readme.txt @@ -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. diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_Due/Code.txt b/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_Due/Code.txt new file mode 100644 index 0000000..226bd3a --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_Due/Code.txt @@ -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); +} \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_Due/ReadMe.txt b/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_Due/ReadMe.txt new file mode 100644 index 0000000..a89f6e3 --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_Due/ReadMe.txt @@ -0,0 +1,2 @@ +Boards Manager -> Arduino SAM Boards +Tools -> Board -> Arduino Due (Programming Port) \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_MKR_ZERO/Code.txt b/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_MKR_ZERO/Code.txt new file mode 100644 index 0000000..76fa968 --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_MKR_ZERO/Code.txt @@ -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); +} diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_MKR_ZERO/ReadMe.txt b/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_MKR_ZERO/ReadMe.txt new file mode 100644 index 0000000..341dfd4 --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_MKR_ZERO/ReadMe.txt @@ -0,0 +1 @@ +ARDUINO IDE \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_Nano_Every/Code.txt b/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_Nano_Every/Code.txt new file mode 100644 index 0000000..9545b4c --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_Nano_Every/Code.txt @@ -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); +} \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_Nano_Every/ReadMe.txt b/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_Nano_Every/ReadMe.txt new file mode 100644 index 0000000..6b2a64f --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/Arduino_Nano_Every/ReadMe.txt @@ -0,0 +1,2 @@ +Boards Manager -> Arduino megaAVR Boards +Tools -> Board -> Arduino Nano Every \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/Raspberry_PI_PICO_2/Code.txt b/Hardware_development/3-Controllers/ESD_testing/Software/Raspberry_PI_PICO_2/Code.txt new file mode 100644 index 0000000..cee3057 --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/Raspberry_PI_PICO_2/Code.txt @@ -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); + } diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/Raspberry_PI_PICO_2/ReadMe.txt b/Hardware_development/3-Controllers/ESD_testing/Software/Raspberry_PI_PICO_2/ReadMe.txt new file mode 100644 index 0000000..4d791e1 --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/Raspberry_PI_PICO_2/ReadMe.txt @@ -0,0 +1,2 @@ +ARDUINO IDE +Installation: https://github.com/earlephilhower/arduino-pico \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/Raspberry_PI_PICO_H/Code.txt b/Hardware_development/3-Controllers/ESD_testing/Software/Raspberry_PI_PICO_H/Code.txt new file mode 100644 index 0000000..cee3057 --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/Raspberry_PI_PICO_H/Code.txt @@ -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); + } diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/Raspberry_PI_PICO_H/ReadMe.txt b/Hardware_development/3-Controllers/ESD_testing/Software/Raspberry_PI_PICO_H/ReadMe.txt new file mode 100644 index 0000000..4d791e1 --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/Raspberry_PI_PICO_H/ReadMe.txt @@ -0,0 +1,2 @@ +ARDUINO IDE +Installation: https://github.com/earlephilhower/arduino-pico \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/STM32 F334C-DISCO/ReadME.txt b/Hardware_development/3-Controllers/ESD_testing/Software/STM32 F334C-DISCO/ReadME.txt new file mode 100644 index 0000000..9644718 --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/STM32 F334C-DISCO/ReadME.txt @@ -0,0 +1 @@ +STM32 CubeIDE \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/STM32 F334C-DISCO/project.zip b/Hardware_development/3-Controllers/ESD_testing/Software/STM32 F334C-DISCO/project.zip new file mode 100644 index 0000000..1e2912d Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Software/STM32 F334C-DISCO/project.zip differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_F031K6/Code.txt b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_F031K6/Code.txt new file mode 100644 index 0000000..c7dbc16 --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_F031K6/Code.txt @@ -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); +} \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_F031K6/ReadMe.txt b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_F031K6/ReadMe.txt new file mode 100644 index 0000000..ac7addb --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_F031K6/ReadMe.txt @@ -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 \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_F303K8/Code.txt b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_F303K8/Code.txt new file mode 100644 index 0000000..c7dbc16 --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_F303K8/Code.txt @@ -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); +} \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_F303K8/ReadMe.txt b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_F303K8/ReadMe.txt new file mode 100644 index 0000000..1ef14e6 --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_F303K8/ReadMe.txt @@ -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 \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_L011K4/ReadMe.txt b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_L011K4/ReadMe.txt new file mode 100644 index 0000000..454a493 --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_L011K4/ReadMe.txt @@ -0,0 +1 @@ +STM CUBE IDE \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_L011K4/project.zip b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_L011K4/project.zip new file mode 100644 index 0000000..9c12a11 Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_L011K4/project.zip differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_L432KC/Code.txt b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_L432KC/Code.txt new file mode 100644 index 0000000..c7dbc16 --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_L432KC/Code.txt @@ -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); +} \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_L432KC/ReadMe.txt b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_L432KC/ReadMe.txt new file mode 100644 index 0000000..60f61d2 --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/STM_NUCLEO_L432KC/ReadMe.txt @@ -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 \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/TI_MSPEXP430FR6989/ReadMe.txt b/Hardware_development/3-Controllers/ESD_testing/Software/TI_MSPEXP430FR6989/ReadMe.txt new file mode 100644 index 0000000..74f7aac --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/TI_MSPEXP430FR6989/ReadMe.txt @@ -0,0 +1 @@ +Import into CCStudio Theia \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/TI_MSPEXP430FR6989/project.zip b/Hardware_development/3-Controllers/ESD_testing/Software/TI_MSPEXP430FR6989/project.zip new file mode 100644 index 0000000..fabfefb Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Software/TI_MSPEXP430FR6989/project.zip differ diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/TI_MSPM0G3507/ReadMe.txt b/Hardware_development/3-Controllers/ESD_testing/Software/TI_MSPM0G3507/ReadMe.txt new file mode 100644 index 0000000..74f7aac --- /dev/null +++ b/Hardware_development/3-Controllers/ESD_testing/Software/TI_MSPM0G3507/ReadMe.txt @@ -0,0 +1 @@ +Import into CCStudio Theia \ No newline at end of file diff --git a/Hardware_development/3-Controllers/ESD_testing/Software/TI_MSPM0G3507/project.zip b/Hardware_development/3-Controllers/ESD_testing/Software/TI_MSPM0G3507/project.zip new file mode 100644 index 0000000..b18e676 Binary files /dev/null and b/Hardware_development/3-Controllers/ESD_testing/Software/TI_MSPM0G3507/project.zip differ