Basic Microcontroller Programming Course
This course introduces you to the world of programmable hardware. You will learn the fundamentals of embedded programming and control electronic devices yourself, from setting up the development environment to implementing basic algorithms. You will work with C/C++ applied to microcontrollers and experiment with sensors, actuators and communication protocols, building up the skills you need to create your own control, measurement and automation projects.
Prior knowledge check
These are the skills this program gives you. Tick the ones you already master and we will tell you which part of the syllabus is for you.
You are starting from scratch in this subject. The program is designed precisely for that.
What is the Basic Microcontroller Programming Course?
This short course teaches you to program microcontrollers from the ground up. You will study what a microcontroller is and how it differs from a microprocessor or a full embedded system, its internal components and how to choose one for an application; the structure of an embedded program, variables, conditionals, loops and functions applied to hardware control; digital inputs and outputs with push buttons, switches, LEDs, relays and buzzers; analog signals, ADC conversion and PWM to control brightness, speed and position of DC motors, servos and LED strips; and serial communication with UART, I2C and SPI to connect displays, clocks, memories and sensor modules.
What sets this course apart: it is practical from the first module, following the real development cycle of writing, compiling, uploading, testing and debugging code; it connects every programming concept to a physical device you can read or drive; it shows how microcontrollers underpin automation, robotics, IoT and the embedded systems found on board modern vessels; and it ends with a project in which you design, program, test and document a complete control system, alarm or measuring device.
Program highlights
- Microcontroller fundamentals: CPU, Flash, RAM, EEPROM, registers, buses and I/O ports, and how to choose a device.
- Development tools: IDEs, compilers, programmers and development boards, with a full write-compile-upload-debug workflow.
- Digital control: configuring pins, reading push buttons and sensors with debouncing, and driving LEDs, relays and displays.
- Analog signals and PWM: ADC readings scaled to real units, and control of DC motors, servos, fans and LED strips.
- Serial communication: UART, I2C and SPI to connect LCD screens, clock modules, memories and digital sensors.
- Final project: a working control system, alarm or measuring device, tested, debugged and documented.
Syllabus of the Basic Microcontroller Programming Course
5 modules. Select a module to see its content.
Microcontroller fundamentals, embedded electronics and the basic architecture of programmable systems
- 1.1. What a microcontroller is and how it differs from microprocessors, development boards and complete embedded systems
- 1.2. Internal components: CPU, Flash memory, RAM, EEPROM, registers, buses and input and output ports
- 1.3. Types of microcontroller and basic selection criteria by application, cost, power consumption and performance
- 1.4. Development environments, compilers, IDEs, programmers and learning boards to start embedded projects
- 1.5. The basic development workflow: writing code, compiling, uploading the program, testing, debugging and fixing errors
Basic programming, control logic and digital inputs and outputs
- 2.1. The basic structure of an embedded program: initial set-up, main loop, functions and comments
- 2.2. Variables, data types, operators, conditionals, loops and functions applied to hardware control
- 2.3. Configuring digital pins as inputs and outputs to read and switch external devices
- 2.4. Reading push buttons, switches, digital sensors and logic signals with debouncing
- 2.5. Driving LEDs, relays, buzzers, simple displays and other basic digital actuators
Analog signals, ADC conversion, PWM and basic actuator control
- 3.1. Fundamentals of analog signals and how they differ from digital signals in embedded systems
- 3.2. Reading analog sensors with ADC converters and scaling the values to useful quantities
- 3.3. Using potentiometers and temperature, light, pressure or other physical sensors as inputs
- 3.4. Generating PWM signals to control brightness, speed, power and basic position
- 3.5. Initial control of DC motors, servomotors, fans, LED strips and dimmable loads
Basic communication, serial buses and connecting external modules
- 4.1. Fundamentals of serial communication and the differences between UART, I2C, SPI and parallel communication
- 4.2. Using the serial monitor for debugging, displaying data and communicating with the computer
- 4.3. Connecting LCD screens, clock modules, memories, digital sensors and I/O expanders
- 4.4. Communication between microcontrollers and modules using simple protocols and basic libraries
- 4.5. Diagnosing connection, address and baud rate errors and incorrect data readings
Applied basic microcontroller programming project
- 5.1. Defining the project: a control system, sensor, simple automation, alarm, meter or interactive device
- 5.2. Choosing the microcontroller, sensors, actuators, power supply, connections and programming environment
- 5.3. Developing the code with input reading, logic processing, digital outputs, analog signals or PWM
- 5.4. Integrating serial communication, a display or an external module to show data or control the system
- 5.5. Functional testing, debugging, stability adjustments and documentation of how the system works
Duration and format of the Basic Microcontroller Programming Course
It is 300 hours. Tell us how many you can study each week and we will tell you when you will really finish.
This is the pace at which most students finish. It fits well with the installment plan.
Academic leadership and faculty
The Navalis teaching team: working professionals who teach and supervise the programs.
Dr. Marina AlcoverAcademic Director and Head of Quality Assurance
Eng. Diego CifuentesSenior Lecturer in Naval Welding and Non-Destructive Testing; Head of QA/QC for Welded Joints
Capt. Javier Abaroa (MCA)Senior Lecturer in Ship Handling, Electronic Navigation (ECDIS/Radar/ARPA) and GMDSS; STCW Compliance and Bridge Resource Management Coordinator
Dr. Pau FerrerSenior Lecturer in Naval Architecture and Simulation; Director of the Hydrodynamics and CFD Laboratory
Dr. Nuria LlobregatSenior Lecturer in Marine Meteorology, SAR and Operational Safety; Navigation Risk Management Coordinator
Eng. Javier BañulsSenior Lecturer in Electrical Engineering, Automation and ETO Engineering; Electronic Integration and Engine Alarms Coordinator
Eng. Sofía MarquinaSenior Lecturer in Materials, Composites and Corrosion Protection; Coordinator of the Advanced Paints and Coatings Line
Eng. Tomás RieraSenior Lecturer in Propulsion, Alternative Energy and Hybrid Systems; Energy Performance and Vibration CoordinatorObjectives of the Basic Microcontroller Programming Course
Career opportunities after the Basic Microcontroller Programming Course
Questions about the Basic Microcontroller Programming Course
A microcontroller is an integrated circuit that combines a processor core, memory and programmable input and output peripherals on a single chip. It is the small computer inside countless devices, from appliances to the control and alarm systems on board a vessel.
A local variable is declared inside a function and can only be used within it, while a global variable is declared outside any function and can be accessed from anywhere in the program. The course explains when to use each and why limiting global variables keeps embedded code safer.
C, with elements of C++, which is the standard language for microcontrollers. You apply it from the start to real tasks such as reading inputs, driving outputs and communicating with modules.
It helps but is not essential. The second module covers variables, data types, conditionals, loops and functions directly applied to hardware control, so you can follow the course with basic electronics knowledge.
A computer is enough to install the development and simulation software. A low-cost development board with a few sensors, LEDs and a small motor is recommended so you can test your code on real hardware.
You define, program, test and document a complete system, such as a control system, an alarm, a meter or an interactive device, combining digital inputs and outputs, analog readings or PWM and serial communication with a display or module.
Fully online, through a virtual campus available 24/7, with recorded classes, discussion forums and practical exercises to consolidate your skills.
The course comprises 300 hours of study across 5 modules of about 60 hours each and ends with a final project. You can progress at your own pace within the schedule set when you enroll.
More programs in Machinery and electrics
Admission process
No waiting for a call back. If your documents are in order, you can enroll in the same session.
- Profile: aimed at students of electronics, mechatronics or computing, hobbyists and makers, industry professionals who need to understand or integrate embedded systems, and teachers and trainers; basic knowledge of electronics or electricity, or experience in a related technical field, is recommended, and familiarity with programming concepts (variables, loops, conditionals) is helpful but not essential.
- Language: sufficient command of English to follow the classes and the technical documentation.
- Technical resources: a computer running Windows, macOS or Linux on which you can install the programming and simulation software, and a fast internet connection; a low-cost development board and a basic component kit are useful for the practical exercises.
- Admission: online application, review of your profile and a short interview with the academic team.
- 01ApplicationYour details, background and documents.
- 02Instant reviewWe check that everything is complete and in order.
- 03EnrollmentChoose full payment or instalments and reserve your place.
Admission is provisional until the committee validates the documents provided. If you do not meet the requirements, the full amount is refunded.
Ask us before you enroll
Leave your details and admissions will write to you to answer any questions. If you are already sure, you can apply and pay in the same session.