Continuing Education Center
June 10 - Day 5: Advanced Coding
Continuing Education Center 6/10/2016
Post a comment
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
Post a comment
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
Post a comment
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
Post a comment
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
Post a comment
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
Post a comment
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
Post a comment
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
Post a comment
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
Post a comment
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.
May 6 - Day 5: Python Scripting for Testing and Debug
Continuing Education Center 5/6/2016
Post a comment
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
Post a comment
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
Post a comment
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
Post a comment
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
Post a comment
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.
This slideshow includes several versions of multi-materials machines, two different composites processes including one at microscale, and two vastly different metals processes. Potential game-changers down the line include three microscale processes.
Members of the IEEE Computer Society name cybersecurity as the top technology affecting their industries.
Hosted CAD or PDM systems is an emerging technology that offers many advantages over traditional on premise workstation CAD configurations and is making many companies rethink how to deliver future CAD software solutions.
PayScale.com ranked the top 15 salaries for bachelor degrees, and 13 of the highest-paid degrees are in engineering.
Researchers in The Netherlands have developed a microbial-based battery they said could provide environmentally friendly and cost-effective storage for renewable energy.
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.