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.
  • 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 Twelve 2017

Embedded System Design Techniques™ - Transitioning from C to C++

Oct 13, 20172:00pm EDT
In this final session, we will examine the concepts and techniques developers require to map their application into the low-level hardware. Attendees will examine how to access microcontroller registers, create drivers and the template class. At the end of the course developers will know enough C...
Oct 12, 20172:00pm EDT
In the past, many complaints about using C++ rather than C were related to performance or code size issues. In many cases, this simply was due to the developer using language features that are not appropriate for a real-time system. In this session, we will continue to build on our LED blinky...
Oct 11, 20172:00pm EDT
In this session, attendees will examine how to get C++ up and running on a target development board and create their first embedded C++ applications. We will discuss the various tools developers should be using and get an LED blinky program up and running on hardware. Attendees will walk away with...
Oct 10, 20172:00pm EDT
Developers working in C typically think in a very functional or procedural mindset. When working with an object-oriented language, developers need to think in terms of objects and operations. In this session, attendees will learn how to design a C++ application by performing functional...
Oct 9, 20172:00pm EDT
Developers are very familiar with C but when it comes to C++, many developers have either never touched the language or forgotten everything they have learned. In this session, attendees will get a brief refresher course on critical object-oriented concepts such as object and classes, encapsulation...

Introduction to Software Defined Radio (SDR) – Hands On

Sep 29, 20172:00pm EDT
In our final class, we will begin to look at how a commercial design can spring from the basic building blocks that we have investigated and experimented with this week. We will look at some common commercial SDR designs and applications as well as some of the test challenges we meet in the design...
Sep 28, 20172:00pm EDT
For our penultimate class, we will build on our experience from the previous class and will see how we can write our own code and make our own basic ‘frequency-agile’ communications devices. We will also look at the different ways of accomplishing frequency discrimination and demodulation in...
Sep 27, 20172:00pm EDT
In our third class, we will begin our ‘hands-on’ lab using the Adafruit Industries LLC 1497 RTL2832 with R820T Stick Kit. We will look at the origins of the RTL2832 and R820T chips and how the common radio dongle works and some of the forms that it is available in. We will then look at some of the...
Sep 26, 20172:00pm EDT
To better prepare for the remainder of the week’s classes, we will take a day to learn (or review) the basics of RF and radio receiver design. We will look at front-end amplifiers, mixers, and demodulation methods in the traditional superheterodyne receiver and how it contrasts to SDR methods.
Sep 25, 20172:00pm EDT
In this lead-off class, we will look at a brief history of software defined radio (SDR) and the basic building blocks and typical applications that have made this the fastest growing advance in radio receiving technology since the phase-locked loop.

FPGA Programming

Sep 15, 20172:00pm EDT
Now that we have an algorithm developed, debugged and laid out in our design tolos we are ready to transfer that to the FPGA chip and run our algorithm there. We will also discuss the process of reprogramming the chip during operations and will discuss how that might be used.
Sep 14, 20172:00pm EDT
Once a design has been developed in a HDL and tested and verified, we need to lay it out on the chip. This is analogous to layout for ASICS but it is not as complicated since we are using an existing regular structure. Layout is important because of the effect on performance and the interaction of...
Sep 13, 20172:00pm EDT
Algorithms for FPGAs are specified via a Hardware Description Language (HDL). We will look at a couple of these, VHDL and Verilog. Many design tool sets support both. The one you use will depend on standards and skills available in your shop. We will also look at some of the tools used to convert...
Sep 12, 20172:00pm EDT
The flow of design tasks will be somewhat dependent on the FPGA vendor and tool set, but there are some general steps that are generally followed. We will start with these general steps and then look at some of the particular vendors. There are also various options in the design flow from any...
Sep 11, 20172:00pm EDT
We start with an introduction to the class of devices called FPGAs. The layout and design of several types and critical parameters will be described and discussed. It is important to understand the way the device is constructed to develop effective algorithms.

Location Services for Healthcare

Aug 25, 20172:00pm EDT
There are a number of available RTLS products in the industry. We will discuss a sampling of those available. In general these are not compatible. We will also discuss standards that should lead to interoperability between these. As mentioned, there are always new technologies being developed and...
Aug 24, 20172:00pm EDT
Applying location services in a healthcare environment is a major task. There are many considerations. These might include how to apply the tags and locate the sensors as well as security and management of the location services system as a whole. We will discuss these issues and work through some...
Aug 23, 20172:00pm EDT
The tags and sensors are important, but they do not actually do the job by themselves. All of the data collected by the sensors are collected, stored and processed by multiple layers of software which allows a full picture of the collection of things being monitored to be given. This includes the...
Aug 22, 20172:00pm EDT
At base, location services rely on the tags and sensors used. There are many types already in use, and more are being developed. We will concentrate on those used in the healthcare environment. One of the most important aspects in healthcare is accuracy of location and we will address these issues...
Aug 21, 20172:00pm EDT
This lecture will concentrate on a general description of RTLS. This will include an introduction into the general technologies used, and the implementation issues generally encountered. RTLS is much more than just tags and sensors and we will take a systems approach to understanding the topic.

Arduino BOE Kit and Raspibot Board

Aug 11, 20172:00pm EDT
A continuation of day 4 session, additional Python commands for the RaspiRobot Board and controlling two dc motors along with speed control will be discussed. The hands-on lab will focus on testing these motor and speed control commands using Python with RaspiRobot Board.
Aug 10, 20172:00pm EDT
The RaspiRobot board is a Raspberry Pi hat designed for mobile robotics and visual display projects. The RaspiRobot board was designed by well-known Arduino and Raspberry Pi maker Simon Monk. In this session, the RaspiRobot board’s architecture and setup of the Python library will be explained. The...
Aug 9, 20172:00pm EDT
To maneuver the BOE Shield bot in its environment requires basic navigation techniques. Basic movements such as forward, reverse, pivot, and rotating with coding examples will be discussed in this class session. The hands-on lab session will show how the BOE Shield Bot can navigate using tactile...
Aug 8, 20172:00pm EDT
The Arduino BOE shield is the brain for Parallax’s mobile robot platform development kit. Controlling the BOE bot’s motion requires electronic motor driver circuits operating a pair of servo motors. In this session, a review of the BOE bot shield motor driver circuits and basic coding techniques...
Aug 7, 20172:00pm EDT
Automation, Robotics, and AI (Artificial Intelligence) technological fields are impacting today’s society at an accelerated rate. Mobile Robot Development platforms allow educators, engineers, and makers the ability to explore these technologies with low overhead and tremendous community support...

Human Inputting Devices for DC Motor Control

Jul 28, 20172:00pm EDT
HMIs (Human Machine Interface) and wireless modules are the defacto control devices used to monitor and operate industrial machines and processes on smart factory floors. In this final session of the 5-day webinar course, Touch Screen and Bluetooth technologies for industrial applications will be...
Jul 27, 20172:00pm EDT
In this session, sound, motion, and temperature sensors for detection and control will be explored. Electronic interfacing circuits for each of these devices will be explored. To illustrate how these devices can be used in a controls application a motion control servo using a PIR sensor will be...
Jul 26, 20172:00pm EDT
Photoelectrics allow non-contact inputs to drive industrial machines and process controls. Light curtains are safety control photoelectric devices that detect the presence of an operator in active work cell. In this session, photoelectric sensors and optoelectronic basics will be discussed. To...
Jul 25, 20172:00pm EDT
Solid state technology provides the advantages of small size and fast switching speeds for industrial machines and process control applications. Hand gesture controls are being explored as non-traditional input controls for smart factories. Fast sensing and triggering are important attributes of...
Jul 24, 20172:00pm EDT
Mechanical Input Devices still play a vital role in industrial controls. Adjusting set points for process controls and switching operating modes (diagnostic/normal) on conveyor systems typically use mechanical input devices. This introductory session discusses the basic parts of mechanical input...

Embedded System Design Techniques™ - Designing IoT Sensor Nodes using the ESP8266

Jul 14, 20172:00pm EDT
In this final session, we will examine the concepts on how we can remotely manage our ESP8266 device node and update the Micro Python application. We will discuss potential problems such as security risks. We’ll also look at how with two-way communication, we can begin to automate responds, respond...
Jul 13, 20172:00pm EDT
In this session, we will examine how to connect the ESP8266 to the internet. The code will be put in place that will allow a developer to stream their sensor data and store it in the cloud. Attendees will walk away with the knowledge to connect their system to the internet and begin manipulating...
Jul 12, 20172:00pm EDT
Every sensor node requires sensors that will be sampled. In this session, Jacob will walk attendees through how to hook up a variety of sensors to the ESP8266. We will examine sensors on I2C, SPI, UART and even 1-wire. Attendees will learn how to setup sensor sampling loops and interface to a...
Jul 11, 20172:00pm EDT
There are many different network protocols that devices can use to connect to the internet but a common way is to use Wi-Fi. Sensor nodes should be low power and using a microcontroller and a Wi-Fi module is not a great solution. In this session, we will examine the ESP8266 which is a combined Wi-...
Jul 10, 20172:00pm EDT
Before designing an IoT sensor node, it’s useful to understand the different ideas and definitions for the IoT. In this session, Jacob will review the system architecture for the IoT and define the terms and concepts along with the hardware and software that will be needed to design a low power...
CEC Semester Eleven 2017

MCU-Base IoT Designs: Power Management

Jun 23, 20172:00pm EDT
This class will focus on managing power to the rest of the board. External devices and common techniques will be illustrated using example designs.
Jun 22, 20172:00pm EDT
This class will provide descriptions and examples of some of the common techniques for managing components tightly coupled with the MCU- such as memory, sensors, analog components and digital communications links.
Jun 21, 20172:00pm EDT
This class will provide descriptions and examples of battery and energy harvesting based power delivery and management.
Jun 20, 20172:00pm EDT
This class will provide descriptions and examples of MCU features typically used to manage power to the MCU itself.
Jun 19, 20172:00pm EDT
MCUs are the bricks on which the IoT is being built. This class will provide the background needed to understand why MCUs are used and how common IoT functions, such as power management, are implemented.

IoT Programming with Basic for Android

Jun 9, 20172:00pm EDT
We will wrap up our week by passing along commands and data over a chain of various IoT devices programmed using B4A, B4J and B4R.
Jun 8, 20172:00pm EDT
This fourth lecture in the series targets an ARM device that will ultimately be logically attached to an IoT device running a B4A-based application. The ARM device is a Raspberry Pi running code generated by B4J.
Jun 7, 20172:00pm EDT
Today, we will introduce yet another Rapid Application Development tool, which is known as B4R. B4R will be used to create an IoT application that runs on an ESP8266-based piece of IoT hardware. Once we get the ESP8266 IoT app online, we will utilize B4A to create a companion Android app.
Jun 6, 20172:00pm EDT
B4J is a Rapid Application Development tool that runs on a personal computer or ARM-based device. Today’s lecture will demonstrate the creation of an IoT application that uses the resources of both B4A and B4J.
Jun 5, 20172:00pm EDT
This first lecture of the Basic for Android series is intended to expose the programming methods used by Basic for Android. Common programming building blocks that make up every Basic for Android IoT application will be discussed.

Building Wireless Interfaces for Microcontrollers

May 26, 20172:00pm EDT
Handheld IR (Infrared) remotes are common wireless controls used to operate cable boxes, TVs, and electronic toys. In this session you will learn how to prototype concept IR control circuits to be interface with microcontrollers. The littleBits IR sensor and latch electronic modules along with an...
May 25, 20172:00pm EDT
Bluetooth allows short range communication between electronic devices. BLE (Bluetooth Low Energy) reduces power consumption of 3.3V battery powered devices during data transmission events. The Arduino 101 provides a BLE chip allowing concept short range communication devices to be prototype rapidly...
May 24, 20172:00pm EDT
The PN532 is the most popular NFC (Near Field Communication) IC used in today’s smartphones and PoS (Point of Sale) readers. In this session you will learn about NFC/RFID (Radio Frequency Identification) technology and how to interface the PN532 to an Arduino. The hands-on project will explore...
May 23, 20172:00pm EDT
May 23 – Day 2: Building an Analog Wireless Transmitter Circuit for Microcontrollers Classic analog transistor transmitter circuits can be upcycled easily using today’s microcontroller technology. In this session, you will learn how to build and test a two-transistor wireless transmitter circuit. A...
May 22, 20172:00pm EDT
In this session you will learn electronic circuit techniques for interfacing a 315MHz remote and receiver module to an Arduino.

Deep Learning in Industrial Systems

May 12, 20172:00pm EDT
Finally, we look at what the future of Deep Learning in Industrial Systems looks like in the near term. This is a fast moving technology area and predicting out much further would be difficult at best. We look at trends in hardware, software, algorithms and applications that can be expected in the...
May 11, 20172:00pm EDT
The hot application these days is robotics, especially robot vision. Automation in factories is increasing due to increased competition. Even in Asian economies with relatively lower cost labor automation is making inroads. Not all robots have vision capabilities, but this is also becoming more...
May 10, 20172:00pm EDT
Applications of Deep Learning in Industrial systems of vision systems include Inspection and anomaly detection in finished goods and machinery. We will look these applications, including how they work and how they are applied in an industrial systems. Automated inspection and anomaly detection...
May 9, 20172:00pm EDT
This is the core technology of Deep Learning today. In this class we will review the technology and its history. Then we will look at implementations and some of the latest trends in Neural Networks. New software and hardware technologies are being applied, but have antecedents in previous efforts...
May 8, 20172:00pm EDT
While Neural Networks are the main technology we will look at the whole range of technologies that are connected with Deep Learning and the relationship to Machine Learning (ML) and Artificial Intelligence (AI). We will also look at applications, including some not part of Industrial Systems to...

Implementing IPv6 Over Bluetooth Low Energy

Apr 28, 20172:00pm EDT
In this final installment, we will integrate the Raspberry Pi router and the nRF5 nodes to form a small IPv6 network. Our attention will initially be focused on the operation of the newly-spawned IPv6 network. Once we understand what the IPv6 network is doing, we’ll unleash the IPv6 application.
Apr 27, 20172:00pm EDT
Connecting our nRF5 nodes via the Raspberry Pi router is useless if no data flows over the IPv6 Bluetooth Low-Energy links. Today, we will examine the application code that uses the resources of the Nordic Semiconductor BLE 6loWPAN stack to deliver digital payloads.
Apr 26, 20172:00pm EDT
Everything IPv6 that relates to the nRF5 nodes and Raspberry Pi router will be discussed. IPv6 will be examined from the viewpoint of the Nordic Semiconductor BLE 6loWPAN stack. Basic IPv6 operations common to all IPv6 devices will also be included in the discussion.
Apr 25, 20172:00pm EDT
From an embedded point of view, IPv6 is the launch pad for an unlimited number of individually addressable IoT devices. Today’s lecture will feature Nordic Semiconductor’s nRF5 SoC. Utilizing development tools from Nordic Semiconductor, Segger and Keil, out-of-the-box nRF5 devices will be...
Apr 24, 20172:00pm EDT
The Linux operating system is the key to this lecture. Today’s unlikely co-star is an off-the-shelf Raspberry Pi, which will be configured as an IPv6 router. Various open-source tools will be introduced and used to assist in the adaptation of the Raspberry Pi hardware.

Embedded System Design Techniques™ - From Bare-metal to Real-Time Operating Systems

Apr 14, 20172:00pm EDT
Developing an RTOS based application is not trivial. Improper use of various resources and RTOS tools can result in memory fragmentation, synchronization issues, out-of-memory warnings, stack overflow and all kinds of really cool issues. In this session, Jacob discusses general RTOS best practices...
Apr 13, 20172:00pm EDT
There is no such thing as a bug-free embedded system. Developers using RTOSes can be especially susceptible to really nasty bugs. In this session, Jacob walks developers through techniques to find application issues such as priority inversions, thread starvation, dead-lock and stack overflow...
Apr 12, 20172:00pm EDT
Real-time operating systems are just about tasks. Developers need to understand how to synchronize task execution using semaphores, mutexes and event flags. Communication between different tasks requires message queues. These objects require special consideration especially since improper use can...
Apr 11, 20172:00pm EDT
RTOSes provide developers with the ability to create semi-independent programs that run concurrently on the microcontroller. Properly creating tasks and setting their priorities can often be challenging. In this session, Jacob will walk attendees through how to setup a real-time operating system,...
Apr 10, 20172:00pm EDT
Bare-metal scheduling techniques can go a long way in ensuring real-time behavior. In this session, Jacob will review techniques such as round robin, round robin with interrupts and then walk attendees through how to develop their own bare-metal scheduler. Attendees will walk away with an...

Hands-On Introduction to Industrial Controls

Mar 31, 20172:00pm EDT
In this final session of the 5-day webinar course, participants will learn to build an Arduino PLC using the open source plclib software. Optoisolators and electromechanical relays will be discussed followed by participants building a digital lock enabled dc motor controller.
Mar 30, 20172:00pm EDT
In this session, participants will learn to program industrial controls using timer instructions. The Timed Delay ON (TON) and Timed Delay OFF (TOF) PLC instructions will be discussed followed by participants building a BLE (Bluetooth Low Energy) enabled Programmable Timer using an Arduino 101...
Mar 29, 20172:00pm EDT
PLC counter instructions (Count Up and Count Down) will be explored in Day 3 of the 5-day webinar course. Participants will learn to write Count Up and Count Down Ladder Logic programs by building a Parts Counter with Audible Alarm Controller.
Mar 28, 20172:00pm EDT
This class is a continuation of the introductory PLC Basics session with emphasis on Examine IF Open (XIO) and Examine IF Closed (XIC) bit instructions. Basic logic gates (AND, OR, NOT) will be discussed. Participants will learn to write Ladder Logic programs using logic gates to operate a solid...
Mar 27, 20172:00pm EDT
This introductory session discusses the PLC Architecture, setting up the Velocio “vBuilder” software and building a basic ON/OFF controller to operate piezo buzzer with LED indicator using the simulator stick.

MCU-based IoT Designs: Linear and Analog Peripherals – A Hands on Course

Mar 17, 20172:00pm EDT
This class will focus on the most advanced MCU-based Analog Front End (AFE) peripherals and how they can be sued in IoT based designs.
Mar 16, 20172:00pm EDT
This class will provide descriptions and examples of some of the common analog support functions- battery level sensors, power measurement and other simple, but important analog and linear circuits will be described.
Mar 15, 20172:00pm EDT
This class will provide descriptions and examples of MCU-based DAC peripherals used in IoT applications. Hardware resources, constraints and limitations, and example designs will be described.
Mar 14, 20172:00pm EDT
This class will provide descriptions and examples of MCU-based ADC peripherals used in IoT applications. Hardware resources, constraints and limitations, and example designs will be described.
Mar 13, 20172:00pm EDT
MCUs are the bricks on which the IoT is being built. This class will provide the background needed to understand why MCUs are used and how common IoT functions are implemented.

Sensor Edge Processing for the IoT

Mar 3, 20172:00pm EST
This type of distributed system has a major effect on the algorithms used. We will look at the algorithms used at each level and at the interaction between them. For example, parameters for a statistical test might be evaluated in the cloud to be used at the sensor level. Over time, these...
Mar 2, 20172:00pm EST
While some sensors and devices can communicate independently on the Internet, many cannot. Thus, most architectures assume aggregating nodes that handle communications back to the central repository (e.g., cloud). In these types of nodes there is a consequently more processing power available and...
Mar 1, 20172:00pm EST
Sensors are another area of great diversity. Some are very simple and have limited processing power, while others can be very powerful. We will look at some of the technologies utilized and how they can be utilized to perform edge processing at the sensor.
Feb 28, 20172:00pm EST
The types of data generated are as diverse as the things in the Internet of Things. The generation and handling of this data will be discussed. This includes all levels of the IoT architecture.
Feb 27, 20172:00pm EST
We begin by looking at architectural frameworks for the IoT. We begin with conceptual frameworks and move on to implementation frameworks. We will also discuss some research efforts in this area.

Embedded System Design Techniques™ - Designing API's and HAL's for Real-time Embedded Systems

Feb 17, 20172:00pm EST
In this session, Jacob will review important concepts related to API’s, HAL’s and provide guidance on how attendees can start designing their own. Looking at the benefits, timeline and potential costs along with strategies to get started. Additional API examples and sources will also be provided...
Feb 16, 20172:00pm EST
Some developers may not be interested in taking the time to develop their own API’s and HAL’s but instead would rather utilize what has already been created within the industry. In this session, we will begin to examine the API’s and HAL’s associated with the Renesas Synergy™ Platform and review...
Feb 15, 20172:00pm EST
This session continues the previous session by walking developers through more API and HAL design. Developers will learn more about how to write configurable code that can be easily used from one application to the next. Attendees will learn how to develop their own flash, EEPROM and Uart API’s and...
Feb 14, 20172:00pm EST
Developers need to think a lot up front about how to develop their own APIs. In this session, Jacob will discuss important considerations such as performance, code space and reusable and how they apply to the API and HAL design. Attendees will also learn the steps required to start developing their...
Feb 13, 20172:00pm EST
Before a developer can start developing their own APIs and HALs, they need to understand a few critical characteristics that all portable and reusable software exhibit. In this session, Jacob will dig into the details on how to write reusable code, including how to select a language subset,...

The Principles of IoT Security – An Overview

Feb 3, 20172:00pm EST
Now that we have learned the basic challenges of securing the IoT, we will look at the other issues that we may face, including the #1 security weakness in essentially every IoT implementation. We will look at some of the tools and test methods available for IoT security.
Feb 2, 20172:00pm EST
In this penultimate class, we will look at the challenges of overall network security. We will cover everything from secure communications protocols to secure commissioning and decommissioning of nodes.
Feb 1, 20172:00pm EST
For our third class, we will delve into the security and vulnerabilities of data within the IoT. We will cover issues from the collection and reporting of incorrect or unreliable (“tainted”) data to keeping the data secure and intact as it travels throughout the network and to/from the cloud.
Jan 31, 20172:00pm EST
For our second class, we will look at hardware security needs – from code protection to guarding against unauthorized board modification. We will look at many of the features that are being added to high-security microcontrollers in order to meet these challenges
Jan 30, 20172:00pm EST
In this leadoff class, we will look at the history and structure of the Internet of Things (IoT) and where the known security issues lie. We will look at a couple of examples of recent security breaches and how they could have been prevented. We will also look at the standards and regulatory issues...

Micrium’s μC/OS for Makers - A Hands-on Course

Feb 3, 201711:00am EST
Now that we have built and tested our basic tasks, we will look at how we can add synchronization primitives, mutual exclusion, and inter-task communication to assure that our tasks work together properly without interference and properly share resources. We will then run our program on our target...
Feb 2, 201711:00am EST
In this penultimate class, we will write the tasks for our application. We will examine how we will set up priorities and the events that will drive our application. We will also determine what communication we need between tasks for implementation on Day 5.
Feb 1, 201711:00am EST
For our third class, we will begin to delve into the elements of μC/OS III, beginning with the concept of kernel-based applications then how we install and set up the system to build our first μC/OS III application on our K64 target board.
Jan 31, 201711:00am EST
For our second class, we will outline the details of the maker program and how to participate. We will look at the requirements that we must meet to qualify for the program and what the differences are with the standard commercial license. We will also look briefly at the maker market and its...
Jan 30, 201711:00am EST
In this leadoff class, we will present an overview of the Micrium μC/OS II/III kernel-based RTOS. We will look at the basic structure and how an RTOS works in foreground / background operations and the basic principles and operation in an RTOS. We will also review our hands-on board, the NXP FRDM-...