Microprocessors and Microcontrollers: Arm Cortex-M0+ (using RP2040)


Prof. Chandramouleeswaran Sankaran

*Additional GST and optional Exam fee are applicable.

SKU: IIT Madras Category:



With the increased focus on digitization of day-to-day activities, areas like Internet of Things (IoT), Embedded systems and Embedded software are gaining traction. This course is designed to provide you the fundamental knowledge on hardware-software integration, by taking Raspberry Pi Pico board, which is based on the most popular Arm Cortex-M0 microcontroller family of processors (RP2040).
Students will learn how to write both C and Assembly programs to control the dual core RP2040 processor, parameter passing, writing Interrupt service routines, and programming the peripherals (UART, I2C) which are integrated into the RP2040 System-on-a-chip (SoC). Students will gain the fundamental knowledge of assembly and processor architectures that would help you to understand advanced multi-core processors in high performance computing.


First or second year students of any of the below UG/PG programs.
Computer Science and Engineering (CSE), Electronics and Communications (ECE), Electrical and Electronics (E&E), Electronics and Instrumentation (E&I)


Mouli has an industry experience of 28+ years in embedded systems, networking, and software areas, and the last six years in academics. He has worked with semiconductor and product companies in various senior techno-managerial roles at DRDO (LRDE), Motorola, Lucent Microelectronics, Agere Systems, LSI, SHARP, and Honeywell. While Mouli was working as an Adjunct Faculty at IIIT Bangalore in the year 2015, he was sent on deputation for four years to Myanmar Institute of Information Technology (MIIT), Mandalay, (an Indo-Myanmar Govt. project), where he designed and delivered 25+ theory and lab courses for BE (CSE & ECE). As a Subject Matter Expert at upGrad, he has recorded video lectures on Electrical and Electronics Circuits, modules on multicore performance metrics, and on Recurrent Neural Networks (RNN). He was also a visiting faculty at IIIT Lucknow, handling courses on Python and AI for IoT. Mouli holds three patents granted by the USPTO. He is a Six Sigma Green belt and also a Certified Scrum Master. Mouli offered this Microprocessors and Microcontrollers course at IIIT Bangalore in the year 2021. He is currently working as Professor in the School of Computer Science and Engineering at RV University, Bangalore.


Additional information



Total hours


Certification Process

1. Join the course
Learners may pay the applicable fees and enrol to a course on offer in the portal and get access to all of its contents including assignments. Validity of enrolment, which includes access to the videos and other learning material and attempting the assignments, will be mentioned on the course. Learner has to complete the assignments and get the minimum required marks to be eligible for the certification exam within this period.

COURSE ENROLMENT FEE: The Fee for Enrolment is Rs. 3000 + GST

2. Watch Videos+Submit Assignments
After enrolling, learners can watch lectures and learn and follow it up with attempting/answering the assignments given.

3. Get qualified to register for exams
A learner can earn a certificate in the self paced course only by appearing for the online remote proctored exam and to register for this, the learner should get minimum required marks in the assignments as given below:

Assignment score = Score more than 50% in at least 9/12 assignments.
Exam score = 50% of the proctored certification exam score out of 100
Only the e-certificate will be made available. Hard copies will not be dispatched.”

4. Register for exams
The certification exam is conducted online with remote proctoring. Once a learner has become eligible to register for the certification exam, they can choose a slot convenient to them from what is available and pay the exam fee. Schedule of available slot dates/timings for these remote-proctored online examinations will be published and made available to the learners.

EXAM FEE: The remote proctoring exam is optional for a fee of Rs.1500 + GST. An additional fee of Rs.1500 will apply for a non-standard time slot.

5. Results and Certification
After the exam, based on the certification criteria of the course, results will be declared and learners will be notified of the same. A link to download the e-certificate will be shared with learners who pass the certification exam.


Course Details

Week 1: Tools and memory map of a program, locality of reference and simple CPU design.
Week 2: Flynn’s taxonomy, introduction to RP2040 and bring up Arduino IDE 2.0
Week 3: Wokwi simulator introduction, running sample programs on Wokwi and RP2040 hardware
Week 4: AHB Lite bus fabric, SRAM striped access and RP2040 processor subsystem
Week 5: Introduction to Arm architectures and processors, Cortex-M0+ register set and stack
Week 6: Arithmetic condition flags, writing assembly programs using arithmetic instructions
Week 7: Program status register, assembly instructions: adc, sub, ldr, mov and AAPCS and ABI
Week 8: Conditional branch instructions, cmp, logical shift and rotate, load and store instructions
Week 9: Multiple load and store instructions, push and pop and variables in assembly programs
Week 10: String library functions in assembly, running both the cores, introduction to SDK
Week 11: Programming UART using SDK libraries, VTOR, Interrupts and writing ISRs
Week 12: Introduction to I2C and DMA. Writing programs using I2C and DMA

Books and References

1. Getting Started with Raspberry Pi Pico
2. Cortex M0+ Technical Reference Manual
3. Cortex-M0+ Devices Generic User Guide
4. RP2040 Datasheet A Microcontroller by Raspberry Pi
5. Raspberry Pi Pico C/C++ SDK, Libraries and C/C++
development on RP2040 Microcontrollers


There are no reviews yet.

Be the first to review “Microprocessors and Microcontrollers: Arm Cortex-M0+ (using RP2040)”