The most important new release from the Imagination University Program (IUP) this year is the Connected Microcontroller (MCU) Lab. It’s a semester-long course that provides educators with everything they need to teach the basics of MCUs and IoT to an undergraduate class.
The Connected MCU Lab takes students through the basic microcontroller and I/O features, through real-time operating system concepts and advanced processor architecture, and finally into the principles of cloud connectivity. Using the open-source Creator IoT Framework, students can then look at data in the cloud and remotely access the MCU node.
Two companies are partnering with us to spread this innately practical course to universities worldwide. Microchip created the PIC32 MCU at the heart of the system, and provides the PICkit™ 3 Debugger/Programmer, along with their well proven software tools, MPLAB® X IDE and the MPLAB Harmony library. Digilent created the high-performance chipKIT™ Wi-FIRE board which provides a robust and stable hardware platform for the student labs, and a powerful base upon which to construct future projects.
Cheap microcontroller hardware is everywhere at the moment, but it’s a menace in students’ hands: bugs, faulty connectors, and fragile boards. There’s no denying they promise a lot for the money, but when you have a class full of eager students, such tools are a nightmare! We took care to choose robust and stable tools for this course, and make no apologies that the hardware set costs around $100 per set. This is a lab that will last!
You’ll be familiar with Microchip and Digilent already if you have a chipKIT dev board or a PIC32 microcontroller. The chipKIT Wi-FIRE is powered by a PIC32MZ EF microcontroller.
The PIC32 family of MCUs from Microchip Technology ships in three versions:
- The PIC32MX integrates the long-established MIPS M4K core
- The new low-cost PIC32MM is based on a MIPS microAptiv (yes! the same core used in our MIPSfpga Computer Architecture course )
- The PIC32MZ uses a MIPS Warrior M-Class core (now available to researchers for silicon MPW runs through Europractice and MOSIS).
So, why is 32-bit so important? We believe there are four important reasons:
- The industry is transitioning to 32-bit: Yes, 8-bit will continue to ship to a few very high volume manufacturers, but the number of designs (as distinct from the overall volume of MCUs) will be tiny. Those of you still teaching with the 8051 need to think about your students. When they graduate they will probably never touch an 8051 ever again! Surely you should teach something they will really need?
- Connectivity: Connecting an embedded system to the cloud to create an IoT system is demanding on the processor. 32-bit microcontrollers are in the sweet spot: providing powerful resources while simplifying software design. The industry has a growing need for embedded systems developers and the requirements for connectivity are driving a rapid transition to 32-bit among past 8- and 16-bit devices.
- Time to market. In most applications, getting the absolute lowest cost is not the primary goal. Hitting a market window is often significantly more important. The software development tools for 32-bit MCUs are much easier to use, with powerful debug facilities and excellent compilers.
- The industry is standardizing on 32-bit: I remember the days when every company was creating its own CPU architecture and releasing their own MCUs. The growth in volume is driving down cost, encouraging more and better tools, and making it easier to find an MCU that closely suits each design’s requirements. The vast majority of the software written today targets just three CPU architectures: ARM, x86, and MIPS. When it comes to microcontrollers, 32-bit is THE way forward. With MIPS you are in good company: MediaTek, Samsung, Qualcomm and Microchip all use MIPS in IoT solutions.
It’s a strange saying, but it’s particularly apt in this field: “If a camel gets his nose into the tent, his whole body will soon follow.”
The Connected MCU Lab course introduces first or second year undergraduate students to a broad range of topics essential for embedded systems and the Internet of Things. It does so over a single 16-week semester, but it does not go into too much depth on any single topic. These more focused studies can be taken later, or completed as self-study modules.
So, in this course we try to let the noses of several camels into the tent, but nothing more… We leave all the humps ‘til later! The goal is to get the students excited about the concepts early with hands-on experience, leading them to later take more traditional, and in-depth courses on embedded systems and IoT.
Labs versus projects
This course has been designed to expose students to a broad range of materials within a single semester. In order to do this, most of the coding activities are laboratory exercises with explicit step-by-step instructions.
This is different from projects which rely on the student to design and build a program to do X. Structuring this course’s coding exercises as projects would probably lead to frustration and many dead-ends, discouraging students from continuing in the field. This approach also raises the time commitment for the teaching staff.
Instead, we present successful experiences which motivate the students to push forward with enthusiasm. They will be able to take on more difficult projects, with all their related development issues, in subsequent courses when they have more confidence and maturity.
IUP teaching materials are always provided in source form, so that teachers can adapt or build upon the labs to create projects to fit their own teaching goals.
As currently structured, the course is a single-semester hands-on advertisement for later, more in-depth projects or modular courses on embedded systems and IoT.
Another key differentiator for the IUP’s teaching materials is that they are always created by academics who are highly experienced in the subject. This takes time and money, and it’s harder to manage. That’s why almost nobody else does it this way (they cheat and do it in house). However, as soon as you look at the materials, the benefits of this approach are obvious and long-lasting.
Professor Alex Dean from the North Carolina State University in Raleigh, United States has taught MCUs for many years. He has used most architectures. He has written several books. And he has witnessed those puzzled student faces along with those wonderful “Ah Ha!” moments when Students really understand. This course is all about creating those “light bulb moments”.
It’s a pleasure for the IUP to bring his work to a global audience, and we are sure you will enjoy using these materials!
Getting the materials
- Click ‘Register’ or ’Join IUP’ on the landing page: imgtec.com/university
- Complete the first section: ‘the Community Registration’
- Tick the box marked ‘Join Imagination University Programme’ and complete the additional information
- A verification email will be sent to your inbox for activation.
(Please also check your spam mailbox because occasionally the mail will got filtered)
- To download teaching materials, visit the IUP page – Teaching Resources https://www.imaginationtech.com/university/resources/
- Request the package(s) you want, accept the Licence Agreement, and give some details about how you plan to use the materials.
- We then receive a request to approve the download, and normally action this within 48 hours. Once approved, you will receive an e-mail saying you can now make the download.