Continuing Education Center
October 14 - Day 5: Software Architecture, HALs and Best Practices
Continuing Education Center 10/14/2016
Post a comment
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
Post a comment
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
Post a comment
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
Post a comment
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
Post a comment
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
Post a comment
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
Post a comment
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
Post a comment
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.
June 10 - Day 5: Advanced Coding
Continuing Education Center 6/10/2016
Now that we have written some code and started testing out our node, we will learn some advanced application programming and alternative means of programming our nodes. In this final class, we will see how to make use of the chip I/O as well as how to load the chip with Arduino for use with the Arduino IDE and some common sketches (programs).
June 9 - Day 4: The NodeMCU in Depth and Programming
Continuing Education Center 6/9/2016
In this penultimate class, we will take what we learned so far and write some beginning code on the ESP8266. We will learn how to configure a node to work with a specific network then look at ways that we can use the node in our local Internet of Things.
June 8 - Day 3: Lua in Depth, Part 2
Continuing Education Center 6/8/2016
For our third class, we will delve into the more advanced aspects of Lua, including nested functions and some of the application-specific features for gaming and other applications.
June 7 - Day 2: Lua in Depth, Part 1
Continuing Education Center 6/7/2016
For our second class, we will begin to look at the Lua language in depth. We will look at all of the basic constructs, including variables and program flow, and show some examples of each and how we can test some basic programs as we go along.
June 6 - Day 1: Introduction to Lua and the ESP8266
Continuing Education Center 6/6/2016
In this leadoff class, we will look briefly at the ESP8266 chip and the various Node MCU boards that are available with the chip. We will then discuss the history of the Lua language and how it is used for programming various applications.
May 20 - Day 5: Example Designs in Detail
Continuing Education Center 5/20/2016
This class will select example designs from those suggested by students to solidify key techniques covered in previous classes. Students with actually hardware will be able to download the designs to the actual board while students with the software will be able to explore the code generated automatically by the software tools.
May 19 - Day 4: The Target Kit and Resources
Continuing Education Center 5/19/2016
This class will describe the target board that can be optionally used as a hands-on extension to the course. The freely downloadable software can also be used to also follow along with the design examples, but just can’t be executed on actual hardware.
May 17 - Day 2: The Renesas Synergy Platform
Continuing Education Center 5/17/2016
This class provides a detailed description of the key elements of the Renesas Synergy Platform. It will focus on the Synergy MCUs and the integration of Express Logic Thread-X RTOS, GUIX, USBX, FILEX and NETX elements in the Synergy Software Package.
May 16 - Day 1: An Introduction to RTOS Concepts
Continuing Education Center 5/16/2016
This class will provide a quick overview of key RTOS concepts including the key concepts behind threaded designs, the techniques for inter-thread communications, and some of the new design ‘thinking’ needed to make the most of the power of RTOS based development.
A study by the Swiss government determined the type of human errors that lead to engineering disasters and ranked those errors by percentage.
General Motors’ growing commitment to electric cars took a new turn last week, as the giant automaker said it would use EV batteries in the future to help boost its use of renewable energy.
A fabric designer and chemical engineer have teamed up to design fabric woven with solar panels for the future of wearable, autonomously powered technology.
A new linear encoder will offer measurement resolution of about 31 picometers -- less than the diameter of an atom -- when it hits the market in prototype form later this year.
Apple made some controversial decisions with its new iPhone 7 models, so what did they do with the extra space? The latest teardown from iFixit digs under the hood of Apple's new sensor-heavy phone.
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 June 28-30:
Sponsored by Stratasys