Introduction to Biomedical Engineering (Coursera)

Introduction to Biomedical Engineering (Coursera)

The course is aimed at university-level students of all engineering backgrounds, who would like to learn the basics of modern biomedical engineering, including the development of human-robotic interfaces and systems such as bionic prosthetics.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

The course is covering the practical basics of almost everything that a modern biomedical engineer is required to know: electronics, control theory, microcontrollers (Arduino), and high-level programming (MATLAB). All covered disciplines do not require any prior knowledge except university-level mathematics and physics.
By the end of the course, the students will be able to practically understand and design electronic systems for electrophysiological signal acquisition, connect and program the microcontroller, organise the data transmission between a controller and PC, process the acquired signal and control a simple robot with the acquired signal in real-time.
The course is also providing a platform from which the students can improve their skills further by simply adding more complicated systems and experimenting with more advanced control paradigms.
Although the course is aimed at engineers, it will be also suitable for anyone who is interested in modern R&D as it teaches the practical concepts which are employed by almost any engineering environments around the world involved in designing and prototyping of new ideas, both in academia and industry.
The course was developed by Peter the Great St. Petersburg Polytechnic University with the support of University College London (UCL).

What You Will Learn

  • How to design and analyse the electronics related to the weak signal acquisition, particularly electrophysiology
  • How to analyse electro-mechanical systems and design the closed-loop controllers for them
  • How to code in Arduino for real-time control applications
  • How to code in MATLAB for advanced signal processing

Syllabus

WEEK 1
Electronics
In this module, we introduce the basics of electronics and an overview of the field. We explain analogue and digital electronics, introduce basic components and discuss how to read and understand principle diagrams. We talk about amplifiers and filters in detail and learn how and why to apply them for biomedical signal acquisition.

WEEK 2
Control theory
This module gives an introduction to Laplace transform and transfer functions. We analyse various mechanical and electrical closed-loop systems and show how to predict the system performance and stability. Finally, we introduce and analyse the PID controller as the most universal tool for the closed-loop control and show how to control a DC motor.

WEEK 3
Real-time Embedded Systems (Arduino)
In this module, we discuss the basics of embedded systems. We are using Arduino as a basic platform. We introduce the syntax and structure of Arduino language, discussing timing, loops, functions, and serial interface. The concept of interruption is introduced and discussed in detail with examples. We consider several basic embedded applications and finishing with the practical coding of a fully-functional embedded PID controller for the DC motor.

WEEK 4
High-level programming and complex control (MATLAB)
This module introduces the basics of MATLAB programming, basic syntax and common commands. We discuss the implementation of a serial interface between the embedded system and MATLAB and learn how to apply signal processing techniques like digital filtering and RMS calculations in real-time. Finally, we assemble all previously learned components together and implement an expandable and scalable platform for a bionic prosthetic device. The platform is featuring EMG signal amplification, filtering, ADC, microcontroller-PC interface, and closed-loop control of the DC motor in real-time with the parameters extracted from the EMG.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Introduction to CSS3 (Coursera) Coursera
University of Michigan

Introduction to CSS3 (Coursera)

The web today is almost unrecognizable from the early days of white pages with lists of blue links. Now, sites are designed with complex layouts, unique fonts, and customized color schemes. This course will show you the basics of Cascading Style Sheets (CSS3). The emphasis will be on learning how to write CSS rules, how to test code, and how to establish good programming habits.

Jun 15th 2026
4 Weeks
Using Databases with Python (Coursera) Coursera
University of Michigan

Using Databases with Python (Coursera)

This course will introduce students to the basics of the Structured Query Language (SQL) as well as basic database design for storing data as part of a multi-step data gathering, analysis, and processing effort. The course will use SQLite3 as its database. We will also build web crawlers and multi-step data gathering and visualization processes. We will use the D3.js library to do basic data visualization.

Jun 15th 2026
5-12 Weeks
Programming for Everybody (Getting Started with Python) (Coursera) Coursera
University of Michigan

Programming for Everybody (Getting Started with Python) (Coursera)

This course aims to teach everyone the basics of programming computers using Python. We cover the basics of how one constructs a program from a series of simple instructions in Python. The course has no pre-requisites and avoids all but the simplest mathematics. Anyone with moderate computer experience should be able to master the materials in this course.

Jun 15th 2026
5-12 Weeks
Motores gráficos en videojuegos: game engine (Coursera) Coursera
Universitat Autònoma de Barcelona

Motores gráficos en videojuegos: game engine (Coursera)

Para todas aquellas personas que han querido saber cómo se creaba un videojuego, en este curso vamos a explicar cómo crear un pequeño motor, uno de los elementos nucleares de cualquier videojuego. El curso persigue comprender su concepto, entender qué es ese núcleo que en terminología inglesa se conoce como 'game engine', Analizaremos no solo su papel, sino qué utilidades debe proporcionar para ser utilizado en un videojuego. Y todo ello, explicando cómo crear un pequeño motor desde cero, que nos permitirá crear un videojuego en DirectX11.

Jun 15th 2026
4 Weeks
计算导论与C语言基础 (Coursera) Coursera
Peking University

计算导论与C语言基础 (Coursera)

你有没有好奇过:计算机为什么能够进行计算?计算机程序是怎样运行的?你是否想知道:计算机未来可能的发展趋势有哪些?程序是如何编写出来的?如何学习程序设计语言?程序设计语言的基本成分有哪些?《计算导论》这门课将帮助你解决这些疑惑。

Jun 15th 2026
5-12 Weeks
Data Structures and Performance (Coursera) Coursera
University of California, San Diego

Data Structures and Performance (Coursera)

How do Java programs deal with vast quantities of data? Many of the data structures and algorithms that work with introductory toy examples break when applications process real, large data sets. Efficiency is critical, but how do we achieve it, and how do we even measure it? This is an intermediate Java course. We recommend this course to learners who have previous experience in software development or a background in computer science, and in particular, we recommend that you have taken the first course in this specialization (which also requires some previous experience with Java).

Jun 15th 2026
5-12 Weeks
Introduction to HTML5 (Coursera) Coursera
University of Michigan

Introduction to HTML5 (Coursera)

Thanks to a growing number of software programs, it seems as if anyone can make a webpage. But what if you actually want to understand how the page was created? There are great textbooks and online resources for learning web design, but most of those resources require some background knowledge. This course is designed to help the novice who wants to gain confidence and knowledge. We will explore the theory (what actually happens when you click on a link on a webpage?), the practical (what do I need to know to make my own page?), and the overlooked (I have a page, what do I do now?).

Jun 15th 2026
3 Weeks
C++程序设计 (Coursera) Coursera
Peking University

C++程序设计 (Coursera)

讲授C++语言中和面向对象有关的概念和语法,如类和对象、运算符重载、继承和多态、类模板和算法模板、标准模板库等。目标是使得学生能够用C++语言,以面向对象的方法编写可维护性、可扩充性好的,较大规模的程序,初步领会面向对象程序设计方法的优势所在。

Jun 15th 2026
5-12 Weeks
Image and video processing: From Mars to Hollywood with a stop at the hospital (Coursera) Coursera
Duke University

Image and video processing: From Mars to Hollywood with a stop at the hospital (Coursera)

In this course, you will learn the science behind how digital images and video are made, altered, stored, and used. We will look at the vast world of digital imaging, from how computers and digital cameras form images to how digital special effects are used in Hollywood movies to how the Mars Rover was able to send photographs across millions of miles of space.

Jun 15th 2026
5-12 Weeks
算法基础 (Coursera) Coursera
Peking University

算法基础 (Coursera)

本课程内容程涵盖枚举、二分、贪心、递归、深度优先搜索、广度优先搜索、动态规划等基本算法。通过大量的高强度的编程训练,提高动手能力,做到能较为熟练、完整、准确地实现自己设计的程序,为进一步学习其他计算机专业课程,或在其他专业领域运用计算机编程解决问题奠定良好的基础。

Jun 15th 2026
5-12 Weeks
Programming Languages, Part A (Coursera) Coursera
University of Washington

Programming Languages, Part A (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Jun 15th 2026
5-12 Weeks