Continuing Education Center
May 6 - Day 5: Python Scripting for Testing and Debug
Continuing Education Center 5/6/2016
Python can be used in embedded systems for much more than microcontrollers. In this session, we will examine how Python can be used control development tools. Attendees will walk away with an appreciation for how to write Python scripts that are reusable and can be used to test an embedded system.
May 5 - Day 4: Building and Customizing Micro Python
Continuing Education Center 5/5/2016
Running MicroPython on the Pyboard is one thing but what if a developer wants port or customize MicroPython to work on a different platform? In this session, we will explore how to customize and build MicroPython to run on off the shelf development kits. Attendees will walk away with an understanding of what it takes to get MicroPython up and running.
May 4 - Day 3: Rapid Prototyping
Continuing Education Center 5/4/2016
In this session attendees will be walked through the process of connecting to and communicating with external devices and boards. Attendees will examine how to write data to an external EEPROM and Bluetooth device to transmit sensor debug data. Concepts can be applied to generic external modules but detailed specific examples will be provided.
May 3 - Day 2: Libraries and Peripheral Control
Continuing Education Center 5/3/2016
The PyBoard is based on an ARM Cortex-M4 processor which has a large number of internal peripherals and capabilities. In this session, we’ll examine what libraries are available through MicroPython to control these peripherals and features. Attendees will walk away with an understanding of the libraries to control GPIO, timers SPI and UART peripherals.
May 2 - Day 1: Introduction to Micro Python
Continuing Education Center 5/2/2016
Understanding when and where it makes sense to use Python in the embedded system development cycle is a first step for any developer interested in using Python. This session will examine the Python programming language and introduce MicroPython along with its development platform PyBoard. Attendees will walk away with an understanding of what MicroPython is and how to setup a basic script that can control microcontroller hardware.
April 22 - Day 5: 32-bit Electronic Crayons
Continuing Education Center 4/22/2016
This final class will take us off the beaten path of graphics interface development. We will discard the complex proprietary graphics tools that are normally associated with embedded graphics design. Instead, we will build a robust full-color, touch-enabled graphics interface using a PIC32MX microcontroller, a tricky touch-enabled display and Photoshop.
April 20 - Day 3: A Potpourri of microSD
Continuing Education Center 4/20/2016
In this session, we will create a 32-bit microSD-equipped device based on the PIC32MX microcontroller. We will balance the microSD equation by implementing a microSD solution on a PIC32MZ-based Digilent Wi-Fire development platform.
April 19 - Day 2: USB the PIC32 Way
Continuing Education Center 4/19/2016
The PIC32MX and PIC32MZ microcontrollers have the necessary hardware and firmware support to create host and downstream USB embedded devices. This class will focus on developing practical USB devices from the Microchip MCUs.
April 18 - Day 1: Microchip 32-Bit ‘101’
Continuing Education Center 4/18/2016
This kickoff class will lay down a solid PIC32MX/PIC32MZ foundation. We will perform some hands-on examination of Microchip’s 32-bit hardware. With the help of MPLAB X and XC32, we will write C routines to exercise the microcontrollers’ peripherals and GPIO.
April 8 - Day 5: Advanced Board Work
Continuing Education Center 4/8/2016
Now that our code is verified, we will look at more advanced concepts with the boards including monitoring (‘sniffing’) traffic and integrating security. We will then look at changes of topography and the dynamic capabilities of the network to reconfigure and heal itself. We will conclude the class with a look at future developments and capabilities of the Thread protocol.
April 7 - Day 4: Testing the NXP Boards
Continuing Education Center 4/7/2016
In this penultimate class, we will load the stack and sample setup applications on our test boards for testing and verification of basic operation. We will test the basic setup of the network, the commissioning of a node, and data transfer.
April 6 - Day 3: Sizing Up The Thread Stack
Continuing Education Center 4/6/2016
The Thread stack consists of many modules including IEEE 802.15.4, 6LowPAN, UDP, Security, Mesh, and the actual application and its protocols. In this class, we will look at the structure of the actual code for the stack and how we will be using it for our hands-on testing in the final two classes.
April 5 - Day 2: Looking at the Thread Protocol, in Depth
Continuing Education Center 4/5/2016
We will continue to examine the Tread protocol in depth, including the stack structure, the underlying standards and how they interoperate, and the design principles. We will compare the underlying IEEE 802.15.4 PHY and MAC structure with Bluetooth 4.x and IEEE 802.11 (WiFi).
April 4 - Day 1: Review of Home Automation Protocols
Continuing Education Center 4/4/2016
In this leadoff class, we will review history of home automation (HA) protocols, starting with the old standby X-10 protocol and comparing it with the current competing protocols, including ZigBee, RF4CE, Z-Wave, and others. We will compare the strengths and weaknesses of each and examine where Thread stands among these protocols.
March 24 - Day 4: Introduction to the Freeboard.io Cloud Server
Continuing Education Center 3/24/2016
The Freeboard.io cloud website will be introduced in this class, with a discussion on dashboards, triggers, and IO sources. Elements on URL resources from dweet.io will be demonstrated by use of a smartphone. The concepts based on this hands-on demonstration will be used in building the RPi LED Flasher Freeboard Dashboard in the final session of the weeklong course.
March 22 - Day 2: Understanding Mashups, Dweepy Library, and dweet.io Cloud Server
Continuing Education Center 3/22/2016
In this session, participants will learn about the world of mashups and their interaction with IoT platforms. The class will be introduced to the Dweepy Python library by investigating a Raspberry Pi-based IoT device example. Also, use of the dweet.io cloud server, a free data aggregator website, will be discussed. The hands-on lab will consist of building a dweet.io Raspberry Pi IoT device.
March 21 - Day 1: Building a Raspberry Pi LED Flasher
Continuing Education Center 3/21/2016
Course participants will be introduced to the state of the Internet of Things with respect to microcontroller-based development platforms like the Arduino and the Raspberry Pi. This kickoff session will instruct attendees on building a RPi LED flasher that will serve as the experimental IoT device for the weeklong course.
March 11 - Day 5: Machine Learning & Analysis Techniques
Continuing Education Center 3/11/2016
One of the most important statistical techniques used in analyzing IoT data is machine learning. In this final class, we will discuss some important techniques, such as support vector machines and unsupervised learning. An understanding of the techniques is important in determining what can be done in applications that design engineers may encounter.
March 10 - Day 4: Examples of Big Data Analysis
Continuing Education Center 3/10/2016
Now that the things have been deployed, and the data communicated and stored, we need to analyze. We will look at some examples of how this analysis is performed and used. These examples will include analysis with feedback (i.e., higher level control), analysis used for product improvement (e.g., PLM) and analysis used to understand consumer use. These last two are related, but often are done by separate groups with different goals.
March 9 - Day 3: Cloud Storage and Formats in the IoT
Continuing Education Center 3/9/2016
Generating and communicating data is great, but we need to have somewhere to keep it. In the current environment, the perfect place is the cloud. This is where most IoT data will go and where it will be analyzed. The cloud provides ease of access, flexibility, redundancy, and unlimited growth potential. We will discuss the storage structures and Big Data formats that are used.
March 8 - Day 2: A Look at Communications & Devices
Continuing Education Center 3/8/2016
Getting all that data from place to place is an important element of the whole IoT system but is not generally visible. In many cases, we will have custom devices involved close to the things we are controlling. This class will discuss systems that are two way (measurement and control) and some of the controller devices that are available on the market.
March 7 - Day 1: The Different Things of the IoT
Continuing Education Center 3/7/2016
To set the stage for what is to come, this opening class will look at the types of things that are out there. There are many IoT application areas, spanning industrial, medical, consumer, etc. The data analyses that are done will depend on the types of devices, so we will discuss some of these.
February 26 - Day 5: Troubleshooting Our RTOS Design
Continuing Education Center 2/26/2016
Now that our code is written, we will need to test and debug it. In this final class, we will see how the debugger works with the RTOS to provide task-level debugging. The finished code will be available to help course students follow along and compare with their own code.
February 25 - Day 4: Defining and Running the Project
Continuing Education Center 2/25/2016
In this penultimate class, we will take what we learned so far and define the tasks of our project. We will look at some simple “lightweight” elements that we may choose for our project, such as messaging, events, semaphores, and mutexes.
February 24 - Day 3: Changing Processors & Making It Work
Continuing Education Center 2/24/2016
A common challenge of RTOS implementations is their limitation to certain chips, development boards, and toolchains. We will bring up our initial solution using the STM32F100 board and then look at how we will have to modify the code to work with our designated STM32 Nucleo processor and board.
February 23 - Day 2: RTOS System Development Setup
Continuing Education Center 2/23/2016
Our toolset will be an important part of making our project successful. We will install and investigate these tools, followed by learning how to set them up, consisting of the STMicro STM32 Nucleo and the Atollic TrueStudio IDE, in tandem with the freeRTOS download.
February 22 - Day 1: Introduction to freeRTOS / RTOS Refresher
Continuing Education Center 2/22/2016
In this leadoff class, we will review the basics of how a task-switching RTOS operates and the design criteria we need to begin our hands-on design project. We will look at the freeRTOS real-time operating system and the elements that we will be using in our project.
February 11 - Day 4: Implementation Details
Continuing Education Center 2/11/2016
This penultimate class will dig into the details of the BLDC implementation and the debug and testing phases critical to MCU-based motor control design. The Microchip demo kit’s capabilities will be explored in detail.
February 9 - Day 2: Development Environment
Continuing Education Center 2/9/2016
This class will provide a background on the development environment typically found for MCU-based motor control designs. Attendees will learn the particulars of Microchip’s DM330015 kit and target MCU.
January 29 - Day 5: Troubleshooting Techniques
Continuing Education Center 1/29/2016
The bootloader development process is riddled with stumbling blocks. In this session, firsthand, real-world experiences with designing and debugging bootloader applications, and how to quickly recognize some of the most common and worst bugs, will be discussed. Attendees will leave the weeklong course with troubleshooting techniques for bootloaders and verification tricks which many developers don’t even know exist tucked away in their pockets.
January 28 - Day 4: Bootloader Implementation
Continuing Education Center 1/28/2016
Implementing a bootloader in C is no trivial exercise. This session will examine the inner workings of a bootloader and walk attendees through the setup of a bootloader implementation. Important concepts, such a vector table locations, application verification, and branch decision-making, will be covered. Attendees will also be exposed to reusable concepts and handling drivers within the bootloading application.
January 27 - Day 3: Setting Up a Test Application
Continuing Education Center 1/27/2016
In this session attendees will go through the process of developing a test application for use with a bootloader. The major components, such as linker setup, watchdog maintenance, flash access, and system rebooting, will be discussed in detail. Attendees will walk away with an expert understanding of how to set up and build a test application that can be deployed in the field using a bootloader.
January 26 - Day 2: Interface Protocol Design
Continuing Education Center 1/26/2016
Developing a robust and reusable interface protocol is a critical step in the bootloader development process. Ensuring that the application update gets onto the microcontroller without errors is no trivial task. This session will walk attendees through the design of a generic bootloader protocol and provide key insights into what it takes to develop a robust bootloader and the associated design documentation.
January 25 - Day 1: Bootloader Models and Concepts
Continuing Education Center 1/25/2016
Updating firmware in the field or over-the-air can take on many different forms, and there are many models a developer can choose from to get the job done. This session will explore these different update models and discuss the advantages and disadvantages of each one as well as when they can be best applied. Attendees will be exposed to requirements development and walk away with an overview of how a bootloader works.
January 13 - Day 3: Exercising Segger’s emPower Platform
Continuing Education Center 1/13/2016
Segger recently announced the availability of a new evaluation platform based on the Freescale Kinetis MK66FN2M0VMD18 32-bit microcontroller. In this lecture we will examine and exercise the emPower hardware using Segger Embedded Studio and a combination of Segger middleware components.
January 12 - Day 2: ARMing a microSD Card to an MCU
Continuing Education Center 1/12/2016
This class will utilize the ARM hardware we previously constructed. We will use elements of the STMicro STM32 Standard Peripheral Libraries, Segger Embedded Studio, and J-Link Pro to add microSD storage capability to our ARM microcontroller complex.
January 11 - Day 1: Segger Embedded Studio Walk-around
Continuing Education Center 1/11/2016
This lecture will introduce you to the Segger Embedded Studio. Rather than just talk about the integrated development environment, we will assemble and code an ARM microcontroller complex with the STMicroelectronics STM32F407VG using Segger Embedded Studio and the J-Link Pro.
December 17 - Day 4: Implementation Details
Continuing Education Center 12/17/2015
This penultimate class will dig into the details of the implementation and “tuning” phases critical to an MCU-based motor control design. The capabilities provided by the STMicro kit will be explored in detail.
December 15 - Day 2: MCU Development Environments
Continuing Education Center 12/15/2015
This class will provide a background on the development environments typically found for MCU-based motor control designs. We will investigate particularly the STM32 Nucleo FOC kit (P-NUCLEO-IHM001) hands-on.
Perfection is a laudable, but ultimately unattainable, goal, even for the world's most successful consumer electronics company. You know the hits; here are Apple's all-time greatest misses.
Siemens' new version of Imagine Lab was designed to help the automotive and aerospace industries meet environmental mandates.
Belden and Secomea have developed a remote access system that gives users a plug-and-play connection to plant assets.
Here are some of the top-paying jobs available to engineers as they grow in their careers.
As manufacturers add new technologies to their products, designing for compliance becomes more difficult. Prepare for the certification testing process. Otherwise, you increase the risk of discovering a safety issue after a product leaves the assembly line. That will cause significant time-to-market delays, be much costlier to fix, and damage your brand in the eyes of customers.
Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies.
You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived.
So if you can't attend live, attend at your convenience.