Continuing Education Center
November 3 - Day 4: FPGA Programming - Part 1
Continuing Education Center 11/3/2016
Post a comment
To start we will look at specifying the algorithm to be used in the FPGA and the tools used to verify it. An overview of the whole tool chain and some examples of the initial steps will be presented.
November 1 - Day 2: Planning the Application
Continuing Education Center 11/1/2016
Post a comment
In this class we will go over a simple sample application and the initial steps in development. We will look at partitioning the application between the microcontroller and the FPGA fabric. We will also look at planning and laying out the I/O channels and special features of the chip.
October 31 - Day 1: SoC Devices
Continuing Education Center 10/31/2016
The System on Chip (SoC) combines a standard microprocessor with a Field Programmable Gate Array (FPGA), as well as various types of I/O. In this session we will look at the class of devices and then go into the device for this week, the Microsemi SmartFusion2, giving a description of the device at the block level.
October 28 - Day 5: Example Designs
Continuing Education Center 10/28/2016
Post a comment
This class will focus on some example designs, suggested by students that illustrate key concepts important to MCU-based IoT Designs. Links to appropriate online resources, kits, and documentation will be included to help jump-start new designs.
October 27 - Day 4: I2C and SSI
Continuing Education Center 10/27/2016
Post a comment
This class will provide descriptions and examples of I2C and I2S interfaces used in IoT applications. Hardware resources, protocol, performance, and power concerns will be described and discussed. Advantages and disadvantages over other types of interfaces will be included.
October 26 - Day 3: SPI and QSPI
Continuing Education Center 10/26/2016
Post a comment
This class will provide descriptions and examples of SPI and QSPI interfaces used in IoT applications. Hardware resources, protocol, performance, and power concerns will be described and discussed. Advantages and disadvantages over other types of interfaces will be included.
October 14 - Day 5: Software Architecture, HALs and Best Practices
Continuing Education Center 10/14/2016
The way that firmware is developed is beginning to change at a rapid rate. Designing a scalable software architecture that ties into a hardware abstraction layer can greatly improve reusability which in turn decreases development costs and time market. In this session, attendees will walk away with tips, trick and best practices for scaling their embedded software workbench to develop reusable embedded software.
October 13 - Day 4: Creating an Embedded Workbench
Continuing Education Center 10/13/2016
Starting a project right can determine whether it is poised for success or failure. Rarely do development teams start with all the right resources configured in their software project. We will setup an embedded workbench, a baseline project that can be used to develop embedded software. The project will include hooks that should be put into a project, baseline code analysis and metric recommendations, setting up assertions, printf and trace along with the creation of documentation templates.
October 12 - Day 3: Managing Firmware Projects
Continuing Education Center 10/12/2016
In this session, attendees will explore the latest methods and technologies available to properly manage an embedded software project. Attendees will walk away with an understanding of estimating development times, managing features, integrating IDEs and managing revision control.
October 11 - Day 2: The Tools of the Trade
Continuing Education Center 10/11/2016
Having the right tool for the job is critical in any job but especially so for embedded software developers. In this session, we will explore important tools such as compilers, optimization, programming languages along with analysis tools. Attendees will walk away for an understanding how open source and commercial tools compare in performance, efficiency and cost and which tradeoffs are most appropriate.
September 30 - Day 5: Smile for the Camera
Continuing Education Center 9/30/2016
IoT design need not be confined to Ethernet and Bluetooth devices passing bytes of sensor data. Today’s lecture will focus on the capabilities of the ON Semiconductor MatrixCam. The MatrixCam is a 1080p camera solution that enables the streaming of video over WiFi and Ethernet.
September 29 - Day 4: Outside-of-the-Box IoT
Continuing Education Center 9/29/2016
The bottom line in IoT is to deliver the payload. Today, we will “deliver” without the assistance of WiFi, Ethernet or Bluetooth. While we’re at it, we’ll use the power of the sun as an IoT delivery vehicle, as well.
September 28 - Day 3: Microchip’s IoT Packages – BM70 and BM71
Continuing Education Center 9/28/2016
In addition to the RN4020, Microchip offers a pair of IoT-ready SoCs. Today, we will take a look at the Microchip BM70/71 PICtail, command set and programming utilities. To facilitate our BM7x exploration, we will first design and assemble a suitable BM7x prototype platform.
September 27 - Day 2: IoT Prototyping with Nordic’s New nRF52832
Continuing Education Center 9/27/2016
The nRF52832 is billed as a Multiprotocol Bluetooth low energy/ANT/2.4GHz RF SoC. In this lecture we will explore the new features of the nRF52832 and write some code to put the nRF52832’s peripherals and radio through their paces. Our goal today is to design and build an nRF52832 prototype/test jig.
September 26 - Day 1: IoT Design Using Nordic’s nRF51822
Continuing Education Center 9/26/2016
Today’s lecture will be supported by the free edition of Keil’s MDK for Cortex-M. The code produced by the Keil MDK will be used to expose the capabilities of various microcontroller elements of Nordic’s nRF51822 SoC. During the course of the lecture, we will utilize the nRF52 SDK to produce code that will enable various members of the nRF51822’s peripheral subsystems. Today’s task includes designing and scratch building an nRF51822 prototype/test jig.
September 16 - Day 5: Optimization
Continuing Education Center 9/16/2016
One major feature of the IoT is that we now have lots of data over long periods of time for many types of systems.We can use this rich data horde to perform optimizations in current systems and in the design of new or evolved systems.These techniques often use complex formulations involving linear and non-linear systems approaches.Fortunately, there are many existing implementations of these methods that make their execution relatively easy.We will look at them in a couple different languages.
September 15 - Day 4: Failure Analysis & Anomaly Detection
Continuing Education Center 9/15/2016
For this lecture we will talk about failure detection and anomaly detection, and the analyses used in conjunction with them. In the IoT we often want to perform these on a continuous basis. This introduces some interesting features in the analysis that we will discuss.
September 14 - Day 3: Classification
Continuing Education Center 9/14/2016
A major area of machine learning concerns classification. We will describe both supervised and unsupervised learning techniques and discuss when and how to use them. Techniques include k-means clustering, support vector machines, principal components analysis and decision trees, for example. We will also look at applications of these techniques.
September 13 - Day 2: Languages and Environments
Continuing Education Center 9/13/2016
To implement the analytics we are discussing this week, one needs software and a platform to run it on. We will discuss languages such as R and Python and more conventional languages and traditional statistical processing systems. Because the size of the data is often massive and growing, platforms become important. It is key to pick one that can start small and grow in power without having to completely rewrite the application. We will give an overview of platforms specific to the IoT.
September 12 - Day 1: Introduction to Analytics for the IoT
Continuing Education Center 9/12/2016
Today we will present an overview of the types of statistical techniques useful for the IoT and how statistics is used in this context. Some differences with standard statistics will be highlighted. The requirements for IoT analytics will also be presented. Our intent is to discuss the algorithms in the context of engineering applications in the IoT.
August 26 - Day 5: Advanced Coding
Continuing Education Center 8/26/2016
Now that we have written some code using the online and simple IDE tools, we will look at using some familiar IDEs and writing ‘bare metal’ and even RTOS-based code for the STM chip on our PHOTON board.
August 25 - Day 4: Programming the PHOTON Board Online
Continuing Education Center 8/25/2016
In this penultimate class, we will take what we learned so far and write some beginning code using the free online Integrated Development Environment (IDE), as well as a version that can run on our own computers. We will then look at ways that we can use the node in our local Internet of Things.
August 24 - Day 3: Azure and the Cloud
Continuing Education Center 8/24/2016
For our third class, we will delve into the use of the cloud for our IoT applications for the PHOTON by setting up a simple and free Azure account and teaching our board to talk to it.
August 23 - Day 2: Starting to Use PHOTON
Continuing Education Center 8/23/2016
For our second class, we will download the smartphone app for the board and learn about basic commissioning and testing of the board. We will perform some basic functions using the sample applications available in the maker domain.
August 22 - Day 1: Introduction to Particle PHOTON Board
Continuing Education Center 8/22/2016
In this leadoff class, we will look at the structure of the PHOTON board – its architecture, the chips used, and the features built into the board. We will also look at the infrastructure that the manufacturer has established for the board and that we will use for the remainder of the week.
August 11 - Day 4: Introduction to PLCs
Continuing Education Center 8/11/2016
The intelligent industrial controller that is at the center of robotics and automation is the PLC (Programmable Logic Controller). In this hands-on discussion, participants will learn PLC I/O and CPU Architecture basics. The hands-on activity will illustrate how to program and test a PLC in Ladder Logic code using an input simulator.
August 10 - Day 3: Understanding Stepper and Servo Motors
Continuing Education Center 8/10/2016
Stepper and servo motors are key electromechanical components for Motion Control products. Today, participants will explore Motion Control driver circuits by building and experimenting with basic Arduino based Stepper and Servo Motor Controllers.
August 9 - Day 2: Understanding Transistor Motor Drivers
Continuing Education Center 8/9/2016
Day two session will focus on driving high DC/AC current electromechanical components with low current DC driver. To illustrate this design method, participants will learn how to build a DC Motor Driver using a Power MOSFET. Power MOSFET basics including how to wire them to a dc motor will be discussed in this session.
August 8 - Day 1: Introduction, Driving LCDs and Audio Alarms with an Arduino
Continuing Education Center 8/8/2016
A discussion on Mechatronics, with examples, will be presented. Also, two hands-on activities that participants can do at home will illustrate the audible and visual devices that can be used in Mechatronics warning systems. The LCD and a Piezo Buzzer components will be used with an Arduino for the hands-on learning activities.
July 29 - Day 5: Advanced GUI Interfaces Part 2
Continuing Education Center 7/29/2016
This class expends on the previous one to build some specific GUI example projects. Students can follow along using the free software or optionally purchase a kit to see the actual designs in action.
July 28 - Day 4: Advanced GUI Interfaces Part 1
Continuing Education Center 7/28/2016
Graphic User Interfaces are key elements in the IoT. This class will show specific implementations, using the ThreadX RTOS and GUIX features available within SSP. The basic elements needed for creating a GUIX based user interface will be covered.
July 25 - Day 1: IoT Designs Using High Level Constructs
Continuing Education Center 7/25/2016
This class will review and provide implementation examples of a few of the key RTOS capabilities appropriate for IoT applications. It will use the Renesas Synergy Platform, featured in Warren’s previous course. Students are strongly encouraged to view the previous course and download, install and use the free Renesas Synergy Software Package (SSP).
July 15 - Day 5: Tips and Tricks for Debugging Embedded Systems
Continuing Education Center 7/15/2016
In this session, Jacob will review the finer points of debugging an embedded systems and provide attendees with tips and tricks that will make them masters of debugging. Attendees will walk away with a half dozen or more techniques to discover memory issues, race conditions, priority inversions and other potential issues that often plague an embedded system.
July 14 - Day 4: Utilizing System Viewers and Trace Tools to Debug Firmware
Continuing Education Center 7/14/2016
Building on understanding of ARM Cortex-M debugging, in this session, Jacob will walk attendees through how to setup and utilize system viewers and trace tools to efficiently debug embedded systems in real-time. Attendees will walk away will new skills and techniques that will be directly applicable to help them shorten their debugging times and improve system quality.
July 13 - Day 3: Debugging the ARM Cortex-M Microcontroller
Continuing Education Center 7/13/2016
One of the most popular microcontrollers on the market, the ARM Cortex-M series has some incredible debugging capabilities that developers can quickly leverage to get through the debugging process. In this session, attendees will learn how to debug real-time issues and faults and get an introduction into RTT, SWD and SWO.
July 12 - Day 2: Foundational Debugging Techniques
Continuing Education Center 7/12/2016
There is no point in spending the time to pull out the big guns if a stick will do the job. In this session, Jacob will examine traditional debug techniques, such as proper use of printf and assert. Attendees will get hands-on experience with the approaches and also get up to speed on terminology, bug classification and tracking.
July 11 - Day 1: Introduction to Debugging Real-time Embedded Systems
Continuing Education Center 7/11/2016
Developers can listen and read about debugging all day long but until they jump in and get their hands dirty its only theory. In this session, Jacob will give a high level overview of the debugging techniques available to developers today and walk them through how to setup the debug environment that will be used as a test bed through-out the remainder of the week.
June 24 - Day 5: Ethernet Connectivity Using PIC18 Devices
Continuing Education Center 6/24/2016
The PIC18 family of 8-bit devices includes a group Ethernet PIC microcontrollers. The object of today’s lecture is to use a PICDEM.net 2 Development Board to send packets over the internet. TCP and UDP protocols will be examined and put to work via code generated by the XC8 C compiler.
June 23 - Day 4: 8-bit Super PICs
Continuing Education Center 6/23/2016
Today will be dedicated to exercising the advanced features of the enhanced 8-bit PIC microcontroller family. These new 8-bit Super PICs are equipped with advanced analog computational capabilities and core independent peripherals. We will combine the forces of MPLAB X, XC8 and the Microchip Code Configurator to put the peripherals through their paces.
June 22 - Day 3: 8-bit Bluetooth via the RN4020
Continuing Education Center 6/22/2016
Sensors attached to the PICDEM Lab II Development Board rule the day. During the course of this lecture we will employ the services of the RN4020 Bluetooth Low Energy Module to bounce sensor data around in a Bluetooth PAN. We will also instruct the 8-bit PIC in charge to coerce our RN4020 device into interfacing with a mobile device.
June 21 - Day 2: 8-bit Embedded Development Using the MPLAB Code Configurator
Continuing Education Center 6/21/2016
The MPLAB Code Configurator is a graphical programming environment that is integrated into MPLAB X. C source code generated by the MPLAB Code Configurator can be inserted into an 8-bit PIC application. In this lecture, we will use the Explorer 8 Development Kit to demonstrate the capabilities of the MPLAB Code Configurator.
June 20 - Day 1: 8-bit Embedded Development Essentials
Continuing Education Center 6/20/2016
Today’s lecture will lay the groundwork for developing 8-bit PIC microcontroller applications using MPLAB X, XC8 and the new Curiosity Development Board. Code produced during this lecture will configure and enable peripherals and GPIO on the targeted 8-bit PIC devices.
General Motors is putting an off-road twist on hydrogen fuel cell technology with an imposing new pickup demonstrator called the Chevrolet Colorado ZH2.
Fine powder printing of industry-standard metal and ceramic powders with a grain size of less than 10 microns is now available from industrial 3D printer maker ExOne for its Innovent printer.
At ARM TechCon 2016, CEO Simon Segars will discuss how he sees billions of devices scaling to trillions as IoT applications proliferate. We know it’s happening. How do we prepare?
The term “autopilot” is now at the heart of a growing debate between Tesla Motors Inc. and Germany’s Federal Motor Transport Authority.
A make-your-own Star Wars Sith Lightsaber hilt is heftier and better-looking than most others out there, according to its maker, Sean Charlesworth. You can 3D print it from free source files, and there's even a hardware kit available -- not free -- so you can build one just in time for Halloween.
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.
Next Course September 27-29:
Sponsored by 3M