December 17 - Day 4: Implementation Details
Continuing Education Center 12/17/2015 Post a comment 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 4 - Day 5: Running and Troubleshooting Our RTOS Design
Continuing Education Center 12/4/2015 Post a comment 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 to help us debug and make the application work. The finished code will be available to help course students follow along and compare with their own code.
December 3 - Day 4: Reviewing and Writing Our Tasks
Continuing Education Center 12/3/2015 Post a comment In this penultimate class, we will take what we learned so far and define the tasks of our simple project. We will look at some simple “lightweight” elements that we may choose for our project, such as messaging, events, semaphores, and mutexes.
December 2 - Day 3: Writing Our Board Support Package
Continuing Education Center 12/2/2015 Post a comment One of the biggest drawbacks to “free” software is the lack of hands-on support for customization. Although you can buy support to assist in the creation of your board definitions (I/O, clocking, etc), there is good documentation to help us in this task. In this class, we will first define our project board and then write our own board support package (BSP) for our RTOS implementation.
December 1 - Day 2: RTOS System Development Setup
Continuing Education Center 12/1/2015 Post a comment Our toolset will be an important part of making our project successful. We will investigate the tools that we will be using and how to install and set them up. Our toolkit will consist of the Kinetis Development System, Kinetis SDK (software development kit), and, of course, the MQX RTOS. All three are large, but free downloads are available from Freescale.
November 30 - Day 1: Introduction to MQX and RTOS Refresher
Continuing Education Center 11/30/2015 1 comment 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 project. We will look at the Freescale MQX real-time operating system and the elements that we will be using in our project.
November 19 - Day 4: Analog Peripherals
Continuing Education Center 11/19/2015 558 comments Analog peripherals, such as analog-to-digital converters (ADCs) and digital-to-analog converters (DACs), have significant feature differences from manufacturer to manufacturer, and this class will highlight several of the most important ones.
November 18 - Day 3: Timers
Continuing Education Center 11/18/2015 567 comments Timers are perhaps the most complex of peripherals, with the widest range of supported features. This class will dig into the details of several common timer implementations.
November 17 - Day 2: Serial Interfaces
Continuing Education Center 11/17/2015 584 comments Serial interface peripherals support interface standards such as I2C and SPI. This class will cover the key differences in common interface implementations by MCU makers.
November 6 - Day 5: IoT and the Physical Web
Continuing Education Center 11/6/2015 582 comments The word of the day is “beacon.” This lecture will detail the methods required to scratch-build an Eddystone beacon. We will also scratch-build a device that will transport the beacon’s data to a remote device via the cloud.
November 5 - Day 4: Basic for iOS Meets IoT
Continuing Education Center 11/5/2015 489 comments This class will concentrate on connecting “things” to iPhones using the latest version of Anywhere Software’s B4i (Basic for iOS), which allows a designer to create iOS apps without a local Mac computer. We will use B4i to connect iPhones or any iOS device to a Bluetooth Smart- or WiFi-enabled device we will have designed and built earlier in the course.
November 3 - Day 2: Scratch-Building Microchip’s RN4020
Continuing Education Center 11/3/2015 471 comments This class will utilize Microchip’s Curiosity Development Tool, MPLAB X and the MPLAB Code Configurator to assist in the design and assembly of an RN4020-based “thing”. The resultant “thing” design will be able to stand alone or operate under the control of a host PIC microcontroller.
November 2 - Day 1: Tooling Up for Internet of Things
Continuing Education Center 11/2/2015 610 comments This lecture will construct our first “thing” in the weeklong course. In addition to describing the design process, the class will examine the hardware and firmware tools for scratch-building our device. We will code and outfit our “thing” to perform environmental monitoring tasks.
October 23 - Day 5: An Internet-Connected Weather Station
Continuing Education Center 10/23/2015 434 comments Weather stations are a fun way to test embedded software skills. This session will pull together all the concepts examined over this course by interfacing light, humidity, and temperature sensors to the STM32L0 Nucelo board and creating the necessary application to transmit sensor data to be Electric Imp client, which will then enable the data to be formatted and displayed on the Weather Underground website.
October 22 - Day 4: Connecting to an Internet Client
Continuing Education Center 10/22/2015 445 comments Sending data out into the Internet is great, but doing something with the data is even greater. This class will examine the Electric Imp cloud-based client software and how to develop a demonstration application using the Squirrel programming language. Attendees will learn the differences between C and Squirrel and get a basic client application up and running that will form the baseline for the connected weather station taught in the final class.
October 21 - Day 3: Introduction to the Electric Imp
Continuing Education Center 10/21/2015 388 comments In this session attendees will learn how to connect an embedded system to the Internet using a WiFi module known as the Electric Imp. You will learn how to set up the Electric Imp and connect it to the STM32L0 Nucleo board. The session will leverage the base code reviewed in Day 1 in order to demonstrate portable code concepts. You will leave the session knowing how to work the board and transmit basic data over the universal asynchronous receiver/transmitter (UART).
October 20 - Day 2: Design Patterns for Analog and Digital Sensors
Continuing Education Center 10/20/2015 429 comments Every embedded system is monitoring some type of sensor whether it’s digital or analog. These sensor types are handled differently most of the time. In this session, attendees will learn how to create a basic analog-to-digital converter driver that can be used to monitor a light sensor. The I2C interface will also be examined in detail as the basis for the Day 5 session on interfacing with digital sensors.
October 19 - Day 1: Code Reviews and Refactoring
Continuing Education Center 10/19/2015 534 comments Code reviews are one of the cheapest ways to reduce development costs. Finding bugs become exponentially more expensive later in the development cycle. This session will examine best practices for performing a code review via a baseline code project for the STM32 Nucleo board. Changes to the code base will be identified, with recommendations for changes, refactoring, and project organization.
October 9 - Day 5: Future Directions
Continuing Education Center 10/9/2015 427 comments Since this is a relatively new area of standardization, there is a lot of activity in the standards community. In this class we will discuss some of these activities. Looking especially at the IEEE activities we will get a feel for the range of standards being considered. We will also look at other standards bodies. Additionally, we will discuss how to get involved in a standards activity as an individual or industry representative.
October 8 - Day 4: System Standards
Continuing Education Center 10/8/2015 403 comments The IoT generally consists of a large number of devices, diverse in both quantity and type, used to perform particular functions. Operating as a “system” they encompass a wide range of applications. The considerations of the IoT system, such as control and data storage and access will be discussed and the standards appropriate to “system” as a whole will be explored.
October 7 - Day 3: Communication Standards
Continuing Education Center 10/7/2015 435 comments The most well developed set of standards for the IoT is in the communications area. That said, there is still a lot of activity around communications standards. We will look at the current landscape and discuss efforts of bodies like the IEEE to provide the standards necessary. Methods of communication for remote sensors and industrial devices will are also of particular concern and these will be discussed as well.
October 6 - Day 2: Device Standards
Continuing Education Center 10/6/2015 437 comments Devices used in the IoT span a very wide range. They can be extremely simple or can perform complex functions. In this lecture we will look at both hardware and software standards either in place or under development. Many of these are “industry” standards. We will also look at formal standardization efforts for such “industry” standards.
October 5 - Day 1: IoT Standards Overview
Continuing Education Center 10/5/2015 506 comments In this class we will look at the standards landscape for the IoT. This will include motivations, current and established standards and standards participants. We will develop a model that will be used in the following lectures to discuss the various types of standards.
September 18 - Day 5: Future Trends
Continuing Education Center 9/18/2015 538 comments This class will review some of the most recent trends in MCU-based sensor designs in order to explore the future types of applications MCUs will need to address and the most likely enhancements they will need to be successful.
September 17 - Day 4: More Example Designs
Continuing Education Center 9/17/2015 583 comments This class will continue exploring reference designs and development platforms provided by MCU manufacturers to help you more quickly and efficiently create MCU-based sensor designs.
September 14 - Day 1: Sensors in the IoT
Continuing Education Center 9/14/2015 631 comments Sensors will be, literally, the eyes and ears of the IoT. This class will describe several common sensors and their requirements for use in efficient MCU-based designs.
September 4 - Day 5: Robust Firmware Concepts
Continuing Education Center 9/4/2015 541 comments There are many concepts that can be used to help increase the robustness of embedded software. This session will review a wide variety of them. An in depth look at watchdog design, stack monitoring and memory management will be explored. Attendees will walk away with the ability to implement a reliable watchdog and perform essential checks such as RAM and ROM testing.
September 3 - Day 4: ASSERT and printf
Continuing Education Center 9/3/2015 687 comments The ASSERT macro is a critical component of embedded software development but an often under implemented and misunderstood tool. Using printf has also held a stigma that often leaves devlopers confused and hesitant. This session will walk attendees through how to setup these two tools and use them properly to help improve the reliability of their embedded system.
September 2 - Day 3: UART Driver and STM32CubeMx
Continuing Education Center 9/2/2015 671 comments This session will examine how to create a UART driver that will be used in later sessions with printf and assert. Driver development can be greatly accelerated by using available vendor tools such as the STM32CubeMx toolset. The tool will be examined in detailed as part of the driver development exercise. Attendees will walk away with software examples on how to create a UART driver and an understanding of the STM32CubeMx tool.
September 1 - Day 2: Doxygen and PC-Lint
Continuing Education Center 9/1/2015 738 comments In a fast paced environment, properly documenting and checking code for errors often goes ignored but they are absolutely critical to robust product design. This session will examine how to use Doxygen to document code and also generate the code documentation for the developer. PC-Lint configuration and utilization will also be examined. Attendees will walk away with a deep understanding of how to use these two crucial development tools.
August 31 - Day 1: Portable C Concepts
Continuing Education Center 8/31/2015 809 comments This session will introduce a subset of the C language and design techniques that are suitable for writing portable code. An STM32 Nucleo development kit utilizing a Cortex-M0+ will be used for example code. Attendees will walk away from this session with the knowledge of how to design software that can be reused through APIs and HALs.
August 20 - Day 4: Advanced Device Applications
Continuing Education Center 8/20/2015 570 comments Beyond the basic SoC, ARM processors are being used in configurable devices including those with FPGAs and other types of programmable logic. We will discuss a couple of these devices and look at how the ARM processor integrates with the device to enhance functionality.
August 19 - Day 3: ARM Based Devices – Standard SoC
Continuing Education Center 8/19/2015 624 comments ARM provides and architecture and the Intellectual Property (IP) for chip designers to implement devices. In this lecture we will look at several specific implementations in the basic System on Chip (SoC) market. This will not be an exhaustive list, but will give a good overview of how the Cortex-M architecture is used and will arm the student with knowledge that can be used to intelligently decide which implementation to use in a specific application.
August 18 - Day 2: Cortex-M Series Details
Continuing Education Center 8/18/2015 686 comments In this lecture we will go over the Cortex-M architecture. This includes the instruction set variations, which are many. We will also discuss power management, interrupts, memory management and related topics of the basic Cortex-M family.
August 17 - Day 1: Understanding ARM
Continuing Education Center 8/17/2015 679 comments Just what is ARM (the company and the product)? In this lecture we will look at what ARM is, where it came from and give an overview of the various families of products available and their areas of application.
August 7 - Day 5: Using Wireshark to Test an Embedded IPv6 Project
Continuing Education Center 8/7/2015 518 comments In our final class, we will program a FRDM-K64 demo board from Freescale Semiconductor to perform some IPv4 and IPv6 functions and monitor them with Wireshark. We will then use this to troubleshoot our application. We will close the class with some looks at the strengths and weaknesses of the program and some alternative TCP/IP tools.
August 6 - Day 4: Advanced Wireshark Features and Techniques
Continuing Education Center 8/6/2015 599 comments In this class, we will look at the cybersecurity features and functionality in Wireshark. We will see some ways to monitor attacks and hacks into our network. We will also look at some of the vulnerabilities in Wireshark that we need to be aware of.
The company says it anticipates high-definition video for home security and other uses will be the next mature technology integrated into the IoT domain, hence the introduction of its MatrixCam devkit.
Siemens and Georgia Institute of Technology are partnering to address limitations in the current additive manufacturing design-to-production chain in an applied research project as part of the federally backed America Makes program.
Most of the new 3D printers and 3D printing technologies in this crop are breaking some boundaries, whether it's build volume-per-dollar ratios, multimaterials printing techniques, or new materials types.
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.