Newsletter
Here you will find a collection of insights, experiences, and discoveries I've shared throughout my journey.
- All Articles
- ACADEMIC
- INSIGHTS
Maribor, Slovenia - ERASMUS+
Introduction to Erasmus+ OpportunityWhen I first heard about the opportunity for international mobility during my first year of studying for a Bachelor’s degree in GEII at the University of Reims Champagne-Ardenne, I didn’t think much of it. It was January, and I had flagged the email to look at later. A few days passed, and I decided to check it again. The application process was straightforward: a curriculum vitae in English, a motivational letter, transcripts, and identification documents. The hardest part was choosing a destination. I picked Canada as my first choice but got stuck on the second option. After some research, I landed on Maribor, Slovenia—a calm and charming city in the Balkans. I submitted my application and waited.
Arrival and First Impressions of MariborMonths later, in September, I received an email that I had been accepted to study in Maribor! Although I was also accepted in Canada, the programs weren’t compatible, and my department suggested Slovenia was a better fit. The countdown began as I prepared for my February 26th entry date. I left Paris on February 19th and embarked on a 24-hour journey to Ljubljana, followed by a bus ride to Maribor. My first impression? The city was beautiful, with an atmosphere that felt entirely new to me. I quickly found accommodation in a lovely apartment and settled in, ready to start this new chapter.
Building a Social NetworkOne of the most enriching parts of my experience was the social aspect. I joined several integration events where I met people from all over Europe—friends I still keep in contact with today. We shared stories, exchanged ideas, and bonded over fun activities like skiing, hiking, and even partying. It was incredible to connect with people from such diverse backgrounds, and these interactions helped shape a memorable part of my Erasmus experience.
Academic Experience and CoursesWhen it came to academics, I chose five courses totaling 30 ECTS: Control Systems I, Electric Drives, Electrical Devices in Power Systems, Information Security Fundamentals, and Introduction to Circuit Analysis. Each class felt like a perfect blend of my interests in computer science and electronic technology. Control Systems deepened my understanding of automated processes, while Electric Drives gave me hands-on experience with the technologies behind modern transportation systems. Information Security, though new to me, quickly became a subject I was passionate about, particularly as I dove into cybersecurity, learning about vulnerabilities, encryption, and how to safeguard data.
At the University of Maribor, passing a subject depended on three aspects: homework and projects, oral exams and presentations, and a final paper exam. The practical side was a significant part of the learning process, and I had the chance to manipulate machines and work directly with equipment. Additionally, I gave more oral presentations than in any other semester, which greatly improved my public speaking skills and enhanced my fluency in English, as all of these presentations were conducted in the language. These courses not only broadened my technical skills but also sparked new areas of interest, especially in cybersecurity.
Travel and Exploration in Slovenia and BeyondOutside the classroom, the travel opportunities were endless. Together with friends, I visited Germany, Austria, Hungary, Croatia, and Italy. Each trip was an adventure, filled with new sights, cultures, and experiences that added another layer to this incredible journey. Slovenia itself is an underrated gem—a country rich with natural beauty, from its mountains to its lakes, and Maribor, with its historic charm and welcoming community, was the perfect place to experience it all.
My First Year in BACHELORE GEII
Introduction to the GEII ProgramIn 2022, after obtaining my high school diploma in Morocco, I applied to several schools and programs both in Morocco and France. One of the programs was the “Bachelor Universitaire Technologique” (University Bachelor of Technology), and just a few days before my baccalaureate exams, I received an invitation for an oral interview with a professor from the Bachelor’s in Electrical Engineering and Industrial Computing (GEII) program. The professor, who was French, was impressed by my previous experience in electronics and technology, mentioning how many first-year students usually start with little to no prior knowledge in the field. The conversation flowed easily, almost like talking to a friend, as we exchanged ideas about the field, and he explained their program in detail. Shortly after passing my high school exams with excellent marks, I sent in my transcripts, and as I expected, a few days later, I received my acceptance letter into the BUT Génie Électrique et Informatique Industrielle (Electrical Engineering and Industrial Computing) program at the University of Troyes, France.
First Day in the LabsMoving to France alone to pursue my studies was a significant change, but the excitement overshadowed any nervousness. I remember my first day vividly—after a warm welcome from the university director, we went straight into the labs. For someone like me, who always enjoyed hands-on work more than theory, this was heaven. We began working on a PCB (Printed Circuit Board) right away, learning how to solder components, each student creating their own board. This PCB had ultrasonic pins, buttons, joysticks, LEDs, and more. It was a versatile tool that we would use throughout the semester to grasp the basics of electronics and programming. From that moment, I knew I had made the right choice, as the practical approach to learning was exactly what I had been seeking.
Electronics: Circuits and ComponentsIn the course of the year, I took four main subjects that were central to my learning: Electronics, Computer Science, Automation, and Energy. In Electronics, I deepened my understanding of electrical circuits and the fundamental laws that govern them, such as Kirchhoff's laws. I also explored diode circuits and operational amplifiers, learning to design and analyze these systems. The hands-on experience extended to the use of function generators and oscilloscopes for signal analysis. We also studied transient and steady-state regimes, functional schematics, and filters. Each of these concepts came to life through practical work, which included building circuits and analyzing their behavior.
Computer Science: Programming and Systems ControlIn Computer Science, I studied C++ programming, focusing on the basics such as input/output, string manipulation, structures, and arrays. We worked on practical projects like creating a keypad-based digicode and explored more advanced topics like Analog-to-Digital Converters (ADC) and Pulse Width Modulation (PWM), which are essential for controlling devices in embedded systems. A major part of the course involved using peripherals like I2C (Inter-Integrated Circuit) components and learning how to communicate between microcontrollers and external devices. I also gained experience in controlling DC motors and managing the speed and position of these motors using I2C.
Automation and Energy: Control and Power SystemsAutomation was another key area of study, where we learned about combinatory logic, including basic operations such as AND, OR, and NOT. I got hands-on experience with programmable logic controllers (PLCs) such as the TWIDO, learning to program them for machine control applications. We also explored the Grafcet system, a graphical tool used to model and specify automated systems. This course equipped me with practical skills in controlling electromechanical systems and pneumatic devices, making automation one of the most engaging subjects for me.
Lastly, in Energy, we focused on electrical quantities like voltage, current, and power, as well as how to measure them. I learned about low-voltage installations and their importance in commercial buildings. We delved into DC machines, understanding their characteristics and applications. One of the highlights was learning about safety protocols, such as grounding systems and differential protection. We practiced using software like Schemaplic to simulate electrical systems, which gave me a solid understanding of both theoretical and practical aspects of electrical engineering.
Looking back on my first year, I can confidently say that the BUT GEII program has equipped me with a strong foundation in both theoretical knowledge and practical skills. The hands-on approach allowed me to directly apply what I was learning, from programming microcontrollers to designing circuits. It was a challenging year, but one that solidified my passion for electronics and industrial computing. I am excited to continue building on these skills in the coming years, as there is still so much more to explore in this ever-evolving field.
My First Internship EXPERIENCE
Early Passion for TechnologyBack in 2021, after finishing my second year of high school, I was deeply passionate about technology. From a young age, I experimented with basic electronics—simple setups with batteries and motors. Late in secondary school, I discovered Arduino, which marked a turning point for me. I received my first Arduino kit and began building basic projects with buttons and LEDs. My curiosity led me to explore shields and sensors, and soon I found a local electronics company called Moussasoft that sold Arduino and Raspberry Pi components.
Connecting with MoussasoftMoussasoft wasn’t just a store—it was also a research office, which caught my attention. I became a regular customer, purchasing components and discussing my projects with the owner. He offered invaluable advice and shared insights about the company's ongoing projects. One day, while chatting about a new project, the owner mentioned a versatile robot they were developing to help people learn programming with Arduino. To my excitement, he offered me an internship to work on this project. As a high school student, this was a dream come true—an opportunity to intern at one of the top tech startups in my city.
Working on the Polyvalent RobotDuring the internship, I worked alongside two university students, Abdelghafor and Achraf, who were completing their final projects. We collaborated on building a robot equipped with ultrasonic and infrared sensors, rechargeable batteries, and a Bluetooth module. The robot could avoid obstacles, follow lines, and be controlled via Bluetooth. While I won't delve into the technical details here (you can check my portfolio for that), the project was a great learning experience, combining both hardware and programming.
Discovering PCBs and New SkillsOne of the biggest takeaways from this internship was discovering the world beyond Arduino and Raspberry Pi. I learned about PCBs (Printed Circuit Boards) and how to design custom boards, moving away from bulky circuits with long cables. I’ll cover this in more detail in another article, but what I truly learned during this internship was that “I DO NOT KNOW ANYTHING.” As a high schooler who had successfully built a few projects, I was unknowingly under the Dunning-Kruger effect, believing I was more advanced than I really was. The internship opened my eyes to the vast sea of information in the tech world and how little I actually knew. By the end of my two-month internship, I gained a wealth of new skills and a fresh perspective. I left with the realization that, while I had learned a lot, there was still so much more for me to discover.
My Second Year in BACHELORE GEII
Choosing a Specialization: Embedded SystemsAfter successfully passing my first year in the Bachelor of Electrical Engineering and Industrial Computing (GEII), I had to choose between two specialized tracks: "Automation and Industrial Computing" or "Electronics and Embedded Systems." Given my passion for electronics, robotics, and computer science, I decided to pursue the Electronics and Embedded Systems track (ESE). This decision marked the beginning of my deeper specialization in a field I was highly enthusiastic about.
Advancing in Computer ScienceDuring this second year, the focus shifted more towards advanced topics in both Computer Science and Electronics, with less emphasis on energy and automation subjects. In Computer Science, we delved deeper into C++ programming, exploring more complex structures, algorithms, and real-time systems. One key area was learning how to manage peripheral devices using communication protocols such as I2C and SPI. Additionally, we advanced in embedded systems programming, gaining experience with microcontrollers and designing real-time applications. This hands-on approach continued to nurture my interest in computer science and embedded technologies.
Deepening Knowledge in ElectronicsIn Electronics, we built upon the foundational knowledge from the first year, advancing into topics such as amplifiers, filters, and signal processing. We worked on analyzing complex circuits, mastering tools like oscilloscopes and spectrum analyzers to evaluate signal integrity. Additionally, we explored the design of more intricate electronic systems that integrated sensors, actuators, and microcontrollers. The practical aspect of these courses allowed me to reinforce my understanding of electronic design, from PCB fabrication to system integration, which aligned perfectly with my passion for building real-world applications.
Key Projects and Practical ApplicationsOne of the key components of this semester was the focus on projects that helped bridge the gap between theory and practical application. In the first project, we designed a test bench to measure the impedance of an audio amplifier and determine its resonance frequency. This project required us to use both analog and digital methods, combining tools like LabVIEW, myRIO, and Arduino. Through this, we learned not only about impedance but also about the practical challenges of real-world circuit design and signal processing.
The second project involved designing a robot controlled via a remote. We set up a private Wi-Fi network to control the robot's movement and implemented a feedback system using PID controllers. This project enhanced our understanding of networking, control systems, and the practical application of embedded systems in robotics.
In the third project, we worked with VHDL (VHSIC Hardware Description Language) to control a brushless motor. I was responsible for implementing a rotary encoder to monitor the motor's speed and position. This project deepened my understanding of hardware description languages and their use in controlling complex systems. These projects provided a platform for learning and applying concepts from the classes, with detailed technical explanations to be shared on my portfolio page.
Reflection on the Second YearThe second year was intense but rewarding, especially in refining my skills in embedded systems and electronics. We moved from basic concepts to more advanced applications, which required a solid understanding of both theory and hands-on implementation. From learning how to design and analyze circuits, to programming embedded systems in real time, this semester was pivotal in developing my specialization in Embedded Systems. The experience prepared me for future challenges, including my upcoming Erasmus semester in Slovenia.
Learning Unity - GAME DEV
From 2D to 3D Game DevelopmentMy interest in game development started with simple 2D games. I initially experimented with Buildbox, creating basic games, which introduced me to the world of game design. However, I wanted more control and complexity in my projects, which led me to explore more advanced engines like Unreal Engine and Unity. While both are powerful, I decided to focus on Unity, as it seemed more beginner-friendly for someone like me who was simultaneously learning C# to improve my programming skills.
Unity: A Platform for CreativityI began working on two game projects to solidify my understanding of 3D game development: one was a low-poly shooter game, and the other was a realistic shooter game, both featuring free navigation mode and a first-person perspective. For the low-poly game, I focused on minimalistic graphics, which allowed me to concentrate on gameplay mechanics without being overwhelmed by high-detail models. In contrast, the realistic game pushed me to learn about textures, lighting, and environmental design, bringing the virtual world closer to reality.
3D Models and Assets: Unity Asset Store and SketchfabAlong the way, I discovered several invaluable resources for 3D models and assets. Unity’s Asset Store quickly became a go-to source, providing free and paid models, textures, and scripts that could easily be integrated into my projects. I also found Sketchfab, a fantastic platform where artists share 3D models, many of which can be used or modified for game development. For character rigging and animations, I came across Adobe Mixamo, a tool that allowed me to rig 3D characters and apply animations without the need for complex manual setup. Mixamo provides automatic rigging, which saved me time, especially when I was focused on coding and integrating gameplay features. The platform also includes a library of pre-built animations, such as walking, running, jumping, and combat movements, which could be customized and applied to any character model. This was essential in bringing my game characters to life.
Animating with Adobe MixamoTo further enhance and customize my models, I used Blender. This free and open-source 3D creation suite allowed me to modify existing models and create custom assets from scratch. Blender’s integration with Unity made the process smooth, as I could export models directly and adjust them in Unity’s environment. Whether it was adjusting textures, tweaking rigging, or adding small details to improve realism, Blender became a crucial part of my workflow.
Blender: Customizing and Enhancing 3D ModelsUnity gave me the flexibility to experiment with a wide range of features, including physics-based interactions, AI scripting, and environmental effects. The process of developing both the low-poly and realistic games helped me grow in different aspects of game design, from the technical aspects like programming in C# and optimizing 3D assets, to the creative side, where I could design characters, levels, and gameplay mechanics.
Discovering PCBs - BEYOND ARDUINO
Early Beginnings in Basic ElectronicsWhen I first dived into the world of tech and electronics, everything started simply—with a battery, a few LEDs, and some motors. I remember building basic circuits, learning how to connect these components to light up LEDs or spin motors. I often found myself watching YouTube videos about simple circuit projects, like building a car with a battery, four motors, and an on/off switch. While these were fun, they were limited. There was no control, no real complexity—just a basic circuit turning things on and off. At that point, I thought that was the extent of electronics.
The Game-Changer: Arduino and its CapabilitiesThen came my introduction to Arduino, which completely changed my perspective. It felt like a 180-degree shift in my understanding of what was possible. Arduino opened the door to a much more interactive and programmable world. With its range of shields and sensors, the possibilities were endless. I started with basic components like temperature sensors, which allowed me to measure environmental changes and trigger outputs based on temperature thresholds. Then I moved on to more advanced modules like color detectors, which could differentiate colors using light sensors, and light detectors, which responded to varying light intensities. I began to integrate motor relays to control high-power devices like fans or motors, and even experimented with a fingerprint module, which enabled biometric authentication in my projects.
Exploring Sensors and Wireless Modules with ArduinoArduino allowed me to experiment with wireless technology as well. Using an ESP camera module, I was able to stream video data wirelessly to a server, opening up the possibility for remote surveillance and smart systems. Each new sensor or module introduced me to a different aspect of the electronics world, and it felt like I was climbing a mountain. I thought I had reached the peak of what electronics had to offer—until I discovered PCBs during my internship.
Introduction to PCBs: A New DimensionPCBs, or Printed Circuit Boards, introduced me to a whole new dimension of electronics. I quickly realized that the world of PCBs was much more sophisticated than the breadboards and Arduino setups I had been working with. A PCB is essentially a custom-made board that houses all your components in a neat and efficient manner. Gone were the days of long wires, messy connections, and multiple shields piled on top of each other. With PCBs, I could integrate everything into one compact board, greatly improving the efficiency and reliability of my circuits.
The design process itself was eye-opening. Using software like KiCad or Eagle, I could design my own circuits, laying out each component exactly where I wanted it. These programs allowed me to route the connections between components with precision, ensuring optimal performance and minimizing the risk of errors. For example, instead of connecting a temperature sensor, an LED, and a relay module to an Arduino using long jumper wires, I could design a PCB that included all the necessary components and connections directly on the board. This not only reduced the physical space my project required but also made it more durable and professional.
Advanced PCB Features and CapabilitiesOne of the biggest advantages I discovered with PCBs was the ability to incorporate surface-mounted components (SMDs). Unlike the through-hole components I had been using with Arduino, SMDs are much smaller and allow for more compact designs. This made my projects more efficient, both in terms of space and power consumption. I learned how to create multilayer PCBs, which added even more complexity to my designs by allowing multiple layers of connections, enabling me to create intricate systems that would have been impossible with a simple breadboard setup.
Another game-changer was the ability to design custom footprints for components. With PCBs, I was no longer limited to pre-made modules and shields. I could integrate specialized chips or components directly into my board, making the entire system more efficient. For example, instead of relying on a pre-built ESP8266 Wi-Fi module, I could integrate the Wi-Fi chip directly into my PCB design, reducing the size and improving the overall performance.
Through this process, I also learned about signal integrity—a concept that was never an issue with basic Arduino setups but became critical with PCBs. Ensuring that signals between components are clear and free of interference is crucial when designing complex boards. By using proper routing techniques, like ground planes and shielded traces, I was able to ensure the reliability of my circuits.
Through this process, I also learned about signal integrity—a concept that was never an issue with basic Arduino setups but became critical with PCBs. Ensuring that signals between components are clear and free of interference is crucial when designing complex boards. By using proper routing techniques, like ground planes and shielded traces, I was able to ensure the reliability of my circuits.
Data Analyst - EXPERIENCE
Role OverviewAs a data analyst, I worked on organizing and cleaning data, making it accessible for businesses to make informed decisions.
Key ProjectsDeveloped programs that processed and analyzed datasets to generate reports with visual insights and summaries.
Skills AcquiredGained valuable experience in data visualization, reporting, and understanding key business metrics.
CyberSecurity - FUNDAMENTALS
Core ConceptsLearned the fundamentals of cybersecurity, including network protection, data encryption, and system vulnerabilities.
Hands-On ProjectsCreated defense programs, including SQL injection prevention, using Cisco Packet Tracer to simulate network security scenarios.
Future InterestsPlanning to explore advanced cybersecurity techniques, focusing on building more robust defense systems.
Automation Systems - LOGIC PROGRAMS
Learning AutomationLearned to program automation systems, focusing on industrial applications and logic-based processes.
Software ToolsUsed Unity Pro XL and other platforms to simulate and program automation sequences for industrial environments.
Key ChallengesFaced challenges in optimizing automation processes and designing error-free logical systems.
Interface Design - USER EXPERIENCE
Project OverviewFocused on user interface design, ensuring usability and aesthetic appeal in web and mobile applications.
Key FeaturesDeveloped designs with a user-centric approach, optimizing navigation and overall user experience.
Challenges FacedOvercame challenges in balancing functionality with design while maintaining a seamless user experience.