November 19 - Day 4: Analog Peripherals
Continuing Education Center 11/19/2015 Post a comment 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 Post a comment 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 Post a comment 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 Post a comment 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 Post a comment 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 Post a comment 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 Post a comment 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 Post a comment 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 Post a comment 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 Post a comment 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 Post a comment 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 Post a comment 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 422 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.
July 24 - Day 5: Processor and FPGA - The Full Flow
Continuing Education Center 7/24/2015 419 comments An example, suggested by the students, will illustrate the full development flow from project definition to a running design with selected screen shots in the class PPT. Students with the software or hardware can follow along as a homework exercise.
July 23 - Day 4: Targeting the Development Board
Continuing Education Center 7/23/2015 449 comments In this class the process of targeting an existing development board will be demonstrated. Students without the board will still be able to follow along with the class and will see a working application using the software debugger.
July 22 - Day 3: A Simple Example Design
Continuing Education Center 7/22/2015 488 comments A simple example design is used in this class to demonstrate the use of the processor oriented tools in the Vivado tool suite. The on-chip processor will be configured and some simple code will be used to demonstrate how to go from an idea to a working application.
July 21 - Day 2: Downloading, Installing and Running Design Software
Continuing Education Center 7/21/2015 505 comments This class will go step by step through the process of obtaining and using a typical SoC FPGA design tool chain. The Xilinx Vivado 30-day evaluation will be used and students are encouraged (optional) to download and install the software to follow along with the rest of the classes.
July 20 - Day 1: An Introduction to SoC FPGAs
Continuing Education Center 7/20/2015 681 comments FPGAs with embedded processors are powerful devices, but can be complicated to design with. This class will introduce some example SoC FPGAs, the typical design flow, target applications and resources available to speed YOUR design.
July 10 - Day 5: Raspibot Board Part 2
Continuing Education Center 7/10/2015 837 comments This final session is a continuation of the Raspibot board discussion. We’ll take a look at how to create awesome visual displays using an LED matrix cube. A discussion of the cube’s construction and attaching it to the Raspibot will be presented. Final testing of the LED matrix cube with RRB and RPi.GPIO libraries will be discussed in this concluding session.
July 9 - Day 4: Raspibot Board Part 1
Continuing Education Center 7/9/2015 920 comments The Raspibot board is an accessory controller that allows control of DC and stepper motors, LED matrices and LCDs, allowing basic mobile robots and electronic controllers to be built quite easily (uses the RRB library dev’d by Simon Monk). We’ll discuss the board architecture, a hands-on activity of installing the Raspibot RRB library to the Raspberry Pi, and how to operate two DC motors and onboard LEDs by way of sending simple RRB scripting commands to the board using the “sudo python” IDLE.
July 8 - Day 3: A Detailed Look at the RPi.GPIO Library
Continuing Education Center 7/8/2015 1143 comments The Python library used in connecting the platform to the physical world for electronic controls is the RPi.GPIO code. In this session we’ll investigate the RPi’s GPIO (General Input Output) pins and how to enable them with the RPi.GPIO library. We’ll investigate how to install the library using LXTerminal/Linux commands. The final test of the RPi.GPIO library installation will consist of controlling an LED and reading an electric switch wired to the Raspberry Pi.
July 7 - Day 2: Introduction to the Python Programming Language
Continuing Education Center 7/7/2015 1060 comments This session will include a discussion on Python, the purpose of the interpretive programming language, and the inventor who created it. A review of the Python IDLE (Integrated DeveLopment Environment) will be provided in this session. The discussion will also focus on Python 2, 3, and “sudo python” IDLEs. Also, basic hands-on scripting activities (building a simple calculator) on using Python will be presented in this session, as well.
July 6 - Day 1: Introduction to Building Raspberry Pi Controllers
Continuing Education Center 7/6/2015 1090 comments The Raspberry Pi is a user-friendly, credit-card-size, Linux-based computer that design engineers (and educators and Makers) can use as a rapid development platform to design products for the consumer and industrial markets. An overview of the Raspberry Pi’s architecture will be explained, along with a presentation of the examples illustrating the use of this credit-card-size, Linux-based computer.
Imagine being able to illegally download a physical product the same way you can with music and videos. That’s basically what’s happening with 3D printing and digital manufacturing, with huge repercussions in the intellectual property domain.
Ford will be the first automaker to commercially use Alcoa's tough & fast Micromill aluminum alloy process and materials, debuting on several 2016 F-150 truck components. Alcoa will also license its Micromill process and materials technology to Danieli Group.
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.