Continuing Education Center
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.
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.
Former DARPA official and Google executive Dr. Kaigham Gabriel believes sensor companies think too much like suppliers and need to bring their products closer to the consumer.
One way to keep a Formula One racing team moving at breakneck speed in the pit and at the test facility is to bring CAD drawings of the racing vehicle’s parts down to the test facility and even out to the track.
Most of us would just as soon step on a cockroach rather than study it, but that’s just what researchers at UC Berkeley did in the pursuit of building small, nimble robots suitable for disaster-recovery and search-and-rescue missions.
Engineers at Festo were inspired by how a caterpillar builds its cocoon when designing its new 3D Cocooner printer.
Design engineers need to prepare for a future in which their electronic products will use not just one or two, but possibly many user interfaces that involve touch, vision, gestures, and even eye movements.
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 Proto Labs