Dates:
Basic Electronics for IoT:
To be advised
Microcontroller Programming for IoT:
5 Oct, 6 Oct 2023 | 9am-5.30pm | Classroom Learning
Device Communications for IoT:
11 Oct, 12 Oct 2023 | 9am-5.30pm | Classroom Learning
Duration: 6 Days
Course Description
This Professional Certificate is designed to provide a comprehensive understanding of IoT. The first course covers basic electronics, and teaches students how to design circuits to support microcontroller applications. The second course focuses on microcontroller programming, and teaches students how to prototype intelligent systems by interfacing microcontrollers with sensors and actuators. The third course covers device communications, and teaches students how to connect smarter devices to microcontrollers and to get microcontrollers to communicate with each other using various protocols. By completing all three courses, students will be able to design, build, and program the IoT devices, and implement complete IoT systems, including the communicating protocols.
Course Objectives
This Professional Certificate will equip learners with the following competencies:
• Analyze, understand and design basic electronic circuits that will be used to support microcontroller applications for IoT
• Able to prototype intelligent systems by interfacing microcontrollers with sensors and actuators, and performing computation.
• Able to connect smarter and more powerful devices to microcontrollers, and to get microcontrollers to communicate with each other
Job Role Readiness
It will prepare learners in the following job roles to perform their responsibilities more effectively:
- IoT Engineer
Who Should Attend
IoT Engineer and Computing Professionals.
Prerequisites
• Bachelor’s Degree in Computing or Mathematics, with programming knowledge
• Other Bachelor’s Degree holders with programming knowledge may be considered.
Course Conveners
(Click their photos to view their short biographies)
Dr Colin Tan Keng Yan

Dr Colin Tan Keng Yan
Dr Colin Tan Keng Yan is a senior lecturer at the Department of Computer Science, NUS School of Computing. He specializes in embedded systems and operating systems related courses. Colin has taught courses on real-time system design, operating systems, programming methodology, and had taught a course on software product development for digital markets. In this course students are given a semester to build three production quality software systems, with the first two being on Facebook and on HTML5, and in the third project students are given free rein on the technologies that they would like to use. The third project is particularly beneficial to students, as they get real first-hand experience in building a software product, from conceptualizing, validating their concept with users, to User Interface (UI) design, UI validation with users, building the system, and finally to marketing their systems to recruit thousands of users before their project submission deadline. Projects completed in this module have spawned startups like Pearcomms, HunQRy and PaperBaton, while alumni in this course have gone on to careers in tech giants like Facebook, Google and Microsoft.
Colin, together with two other CS colleagues and three ECE colleagues, is currently teaching a course that gives first-year Computer Engineering students first-hand experience in building non-trivial computer systems like tele-operated robots. Students learn key issues of high-efficiency hardware programming, dealing with electro-mechanical issues like variations in motor and gearbox quality, secure network communications, and real-time mapping of the environment using algorithms like SLAM. They also pick up key skills like performing independent research, and learning how to improvise to solve problems with limited resources. Colin also runs courses in drone design, construction and programming.
Colin has written a lightweight operating system for the Arduino called ArdOS that fits into less than a kilobyte of memory, available at https://bitbucket.org/ctank/ardos-ide/wiki/Home. He has also written several other libraries for the Arduino including smartTimer, a library for writing timer-based embedded systems, which also includes a software-based real-time clock for the Arduino, and smartSerial, a bare-metal bare-bones serial communications library for the Arduino. His Bitbucket repository is available at https://www.bitbucket.org/ctank.
Colin is Lab Coordinator for Makers@SoC, a maker space that was recently set up to give students a chance to immerse themselves in maker culture, which is a blend of DIY and technology. Makers@SoC addresses two key concerns of the industry: that we are producing technology professionals who can only code and cannot build anything physical – a key concern in fields like IoT – and that CS majors may not have a good appreciation of the hardware on which they build their systems. Makers@SoC runs courses in 3D modeling, basic electronics, microcontroller interfacing and programming, circuit design and fabrication, and through-hole and surface-mount soldering.
Colin is Chairperson for the IT Software Solutions for Business trade for Worldskills Singapore 2016 and Worldskills Singapore 2018, and has been a long-time General Secretary for the National Olympiad for Informatics (NOI) competition. Outside of academia Colin reads widely into Catholic theology, is a sponsor and a speaker at the Rite of Christian Initiation of Adults (RCIA) Programme, and is a council member and a formation instructor at the Secular Order of Discalced Carmelites (OCDS) in the Roman Catholic Church of Singapore. He is also an avid foodie, a cigar collector, an enthusiast of retro technology, and a somewhat decent and fairly eclectic cook.
Dr Rajesh Chandrasekhara Panicker

Dr Rajesh Chandrasekhara Panicker
Dr. Rajesh Chandrasekhara Panicker joined ECE Dept as a Lecturer on 1 July 2013. He received his Bachelor’s degree in Electronics and Communication Engineering from University of Kerala, India in 2005 and Ph.D in Electrical and Computer Engineering from the National University of Singapore in 2012. He was a Research Fellow at the School of Computer Engineering, Nanyang Technological University (NTU) from Dec 2012-June 2013 and a Teaching Assistant in ECE Dept, NUS from Feb 2010-Dec 2012. He enjoys teaching courses related to digital and embedded systems, and his research interests are in biomedical circuits and systems, embedded systems, signal processing and pattern recognition. He is a member of the IEEE, and a reviewer for several leading international journals and conferences.
Course Fees
Total Nett Programme Fee Payable, Including GST, after additional funding from the various funding schemes
Participants must fulfill at least 75% attendance and pass all assessment components to be eligible for SSG funding.
To enquire, email soc-ace@nus.edu.sg
To register, click Register
Course Codes
Basic Electronics for IoT: TGS-2022012272 (Classroom Learning) / TGS-2022013113 (Synchronous e-learning)
Microcontroller Programming for IoT: TGS-2022013116 (Classroom Learning) / TGS-2022013117 (Synchronous e-learning)
Device Communications for IoT: Course Code: TGS-2022013103 (Classroom Learning) / TGS-2022013114 (Synchronous e-learning)
Catalogue of Programmes for Individuals
- Course Category
- Artificial Intelligence & Machine Learning
- Business Analytics & Data Science
- Cloud Computing & Internet of Things
- Cybersecurity & Data Governance
- Digital Business & Technopreneurship
- Digital Health & Nursing Informatics
- Digital Technology & Innovation Management
- Digital Transformation & Change Leadership
- Education Technology & Learning Design
- Emerging & Disruptive Technologies
- FinTech & Blockchain
- Interactive Media Development & Metaverse
- Software Programming & Networking
- UX/UI Design & Digital Product Management