Presented By:
Now you can earn IEEE Professional Development Hours by attending CEC courses.
  • All class times are listed in Eastern Time.
  • All classes will consist of a 45 minute lecture and an interactive chat session.
  • Registered users must sign up to participate and get credit for each course.
  • A downloadable calendar invite is available for each course. Register and visit each classroom page to download the invite.
  • Questions? Please contact us here.

Digi-Key Continuing Education Center, hosted on Design News, will get you up to working speed quickly in a host of technologies you've been meaning to study, but haven't had the time, via a series of 45-minute online lessons – all without leaving the comfort of your lab or office. Our faculty of expert tutors has divided the interdisciplinary world of design engineering into five dimensions: microcontrollers (basic and advanced), sensors, wireless, power, and lighting.

All of these topics will be tackled in a dedicated week of interactive tutorials where you can ask questions of the tutor, discuss knotty issues with your fellow students, and download a wealth of additional learning materials. (Don't worry if you can't attend a particular course live – seminars are also archived, and our online educational discussions take place 24 hours a day.)

Upcoming Classes

CEC Semester Fifteen 2019

Designing Embedded Systems Using Micro Python

Jun 14, 20192:00pm EDT
Testing is an important piece of production system development. There are many ways that developers can test their MicroPython code and one interesting way is to create a test harness. In this session, we will explore different test-harness schemes and show how they can be used during development...
Jun 13, 20192:00pm EDT
The Python language provides developers with many libraries and language features. Still, not all features will necessarily work on an embedded target as one might expect. In this session, we will look at how we can develop real-time applications using simple schedulers and the built-in Python...
Jun 12, 20192:00pm EDT
A production-intent system may require that developers make modifications to the MicroPython kernel and recompile it themselves. Developers may want to do this to protect their own IP modules, to improve the robustness of the kernel, or to customize the start-up sequence. In this session, we will...
Jun 11, 20192:00pm EDT
A critical component to accelerate development in any embedded system is to leverage existing modules and libraries to accelerate design. The PyBoard D-Series development board can be leveraged by designers, not just to prototype their systems, but to also be used in production systems. In this...
Jun 10, 20192:00pm EDT
MicroPython offers developers an interesting and unique strategy to rapidly accelerate product development by leveraging existing libraries and hardware modules to develop a product. In this session, we will examine what tools are available to developers and help them to understand the ecosystem...

Connectivity Solutions for the Industrial Internet of Things (IIoT)

May 24, 20192:00pm EDT
Many operations in modern industrial enterprises have multiple facilities, including warehousing and distribution sites. These will have many devices internally and will need to work together. This can be done by direct connection, or by integration with centralized computing resources, often...
May 23, 20192:00pm EDT
The traditional and main use for the IIoT was to connect devices within a single industrial plant or facility. As many of the facilities contain interconnected devices in large physical areas, it is important to plan the layout and architecture of the communications. These architectures must be...
May 22, 20192:00pm EDT
As wireless technology has improved, the ability to use it in an industrial setting has presented itself. In addition, wireless technologies can be easier to install and maintain. We will look at the technologies in use and how they are adapted in industrial situations.
May 21, 20192:00pm EDT
Interconnection between industrial components has long been accomplished using various wired technology solutions. Many of these are still in use and valuable today. In this lecture we will give an overview of those options, including their capabilities and applicability.
May 20, 20192:00pm EDT
In this lecture we shall introduce the IIoT and how it is used. An understanding of the basic components in play will be given with an eye toward understanding how they may need to communicate and what those requirements might be.

Machine Learning for Embedded Software Engineers

Apr 26, 20192:00pm EDT
Real-time machine learning network execution is not quite yet a reality in the embedded space, but it is coming close with the Google Coral module. In this session, we will explore the Google Coral module and see how it stacks up against more embedded solutions and understand how it fits in the...
Apr 25, 20192:00pm EDT
In this session, we will dig deep into machine learning with the OpenMV camera module which is based on the Arm Cortex-M7. We will examine how to set up the module and use its APIs to create a basic application that can perform simple object recognition. Attendees will walk away with an...
Apr 24, 20192:00pm EDT
While there is a lot of hype around machine learning and AI, there are two main use cases right now that will find their way into embedded systems. In this session, attendees will learn about the different applications in the embedded space where machine learning can be applied, including vision...
Apr 23, 20192:00pm EDT
Machine learning networks can require quite a few resources to train and execute. So how can this be done in an embedded environment? In this session, we will explore several system architectures that developers can use to achieve machine learning at the edge. We will also discuss why machine...
Apr 22, 20192:00pm EDT
To a traditional embedded software developer, machine learning is something that exists far from our resource-constrained devices, but times are quickly changing. In this session, we will examine how machine learning fits into an embedded system and explore how it can be used. We will examine what...

Prototyping Predictive Analytic Techniques

Mar 22, 20192:00pm EDT
The final class session will explore the concept of capturing accelerometer data with the BBC micro:bit. The data will be analyzed using an Orange 3 linear regression model. Also, using Python, a taking accelerometer as an assistive technology-based sensor will be explored in this final class...
Mar 21, 20192:00pm EDT
Day 4 session consists of wiring a potentiometer to a BBC micro:bit and capturing varying voltage levels from the passive electronic component. The potentiometer’s output voltage level signal will be analyzed using a linear regression model built using Python code. Also, a dc motor speed controller...
Mar 20, 20192:00pm EDT
This session will discuss the basics of Machine Learning. Applications of Machine Learning (ML) will be provided. The hands-on lab project exercise consists of building a simple ML model for analyzing noise using the Adafruit Circuit Playground Express sound sensor. A sound-activated switch will be...
Mar 19, 20192:00pm EDT
Day 2 class is a continuation of the Predictive Analytics introduction session. Predictive Analytics modeling using linear regression will be investigated. The electrical behavior of the Adafruit Circuit Playground Express light sensor will be explored using a Predictive Analytics model built with...
Mar 18, 20192:00pm EDT
This introductory session discusses Predictive Analytics basic and Predictive Maintenance applications. The Google online data analysis Colaboratory environment will be explored.

Circuit Design on a Budget

Mar 1, 20192:00pm EST
In our final class, we will compare our finished board to the criteria we set forth and also compare the steps we had to take and differences for our two EDA tools, as well as for Altium Designer. We will look at the pros and cons of our different tools and be ready to choose our tools for our next...
Feb 28, 20192:00pm EST
Now that we have our schematic completed, we will move the netlist in both tools to the layout editor and create our PCB. We will quickly touch on the placement, routing, and auto-routing steps for each tool. At the end of this penultimate class, we will have a full set of gerber drawings to send...
Feb 27, 20192:00pm EST
In our third class we will use the parts we selected to create the circuit for our product. Using the symbols from our selected bill of materials (BOM), we will lay out the schematic for our product. We will show the steps for both EDA tools (CircuitStudio and KiCad) and compare the process for...
Feb 26, 20192:00pm EST
In our second class we will establish the parameters for our finished circuit. Based on the specifications that we laid out in the first class, we will start our component selection, checking our supplier for availability and deciding on our packaging. We will compare the packaging selections to...
Feb 25, 20192:00pm EST
In our first day, we will briefly look at the design process from concept to PCB and will introduce our class project. We will look at the process for getting and installing each of the tools on our computers. We will then set our goal -- getting a finished PCB manufactured from our week's work.

Essential Coding Techniques for Hardware Engineers

Feb 1, 20192:00pm EST
The goal is to contact an email server and send an informational email to a remote device at the appropriate moment. To accomplish this, we will need to code an SMTP application that our WIZ850io and ARM microcontroller can successfully execute.
Jan 31, 20192:00pm EST
The WIZ850io module offloads the internet access and wired Ethernet tasks from our ARM microcontroller. An ioLibrary (internet offload library) is provided by the WIZ850io manufacturer. Our mission today is to adapt the WIZnet ioLibrary and WIZ850io module for use with our ARM microcontroller.
Jan 30, 20192:00pm EST
Our IoT design contains a pair of EEPROMs in its nonvolatile memory subsystem. One of the EEPROMs is a specialized IC that contains a factory-programmed, globally unique 48-bit node address. The other EEPROM is a standard 256Kbit device. Both EEPROMs require an SPI communications portal. Today’s...
Jan 29, 20192:00pm EST
The ARM microcontroller’s second USART will be used to interface to a smart LCD touch display. Today, we will generate code to enable the USART and establish a logical bidirectional communications channel to the touch display.
Jan 28, 20192:00pm EST
We begin by translating our hardware components into logical elements. Data paths to and from the ARM microcontroller will also be defined. We will use a J-link PRO for debugging and programming. An alternate debugging portal consisting of one of the ARM microcontroller’s USARTs. An FTDI TTL-232R-...