April 25 - Day 5: Debugging Our RTOS Application
Continuing Education Center 4/25/2014 337 comments Now that our code is written, we need to be able to test and debug it. In this 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.
April 22 - Day 2: Defining the Tasks & Elements
Continuing Education Center 4/22/2014 327 comments In this class, we will block out our code and define what tasks will need to be written and how they will need to interact. We will look at the elements or modules that we will need to make use of in the RTOS.
April 21 - Day 1: Getting Started & Some Basics
Continuing Education Center 4/21/2014 360 comments In this class, we will define our project and select our target processor. We will be using the inexpensive KWIKSTIK evaluation board from Freescale so that those who wish may follow along. We will look at the MQX RTOS and what elements we will need for the project.
April 11 - Day 5: Sensors in Extreme Applications
Continuing Education Center 4/11/2014 328 comments The rules can change when sensor specifications exceed those for high-volume applications. High precision and accuracy sensors, as well as measurement extremes, often dictate different sensor technologies. This lecture will explore a few of the more challenging situations.
April 7 - Day 1: The Basics of Specifying Pressure Sensors
Continuing Education Center 4/7/2014 409 comments While pressure sensors provide one of the most frequent physical measurements, these sensors also have several nuances that can cause problems for those who do not work with them on a frequent basis. Our lecturer will discuss the issues in this class.
March 27 - Day 4: Embedded Ethernet the PIC Way
Continuing Education Center 3/27/2014 409 comments A variety of scalable embedded Ethernet solutions are available. In today’s lecture we will implement a number of Ethernet hardware designs, which are based on Ethernet-enabled PIC microcontrollers and external MAC/PHY devices.
March 26 - Day 3: Embedded USB the PIC Way
Continuing Education Center 3/26/2014 386 comments USB host and device designs are the lecture topics of the day. Today we will implement USB host and USB device hardware designs, which are entirely based on PIC microcontroller USB engines.
March 25 - Day 2: The Multilingual PIC Microcontroller
Continuing Education Center 3/25/2014 463 comments Although PIC assembler is still the programming language of choice in some projects, applications for the modern PIC MCU can also be forged using BASIC and C. Today’s discussion will focus on programming techniques involving assembler, PICBASIC Pro, CCS C, and Microchip’s X series of C compilers.
March 14 - Day 5: Your Own Design
Continuing Education Center 3/14/2014 531 comments This class will take the sample design and make some modifications to it as an example of how you can create your own design. Follow along on your own board, or just view the PPT. Either way, by the end of the course you should be comfortable creating your own FPGA design.
March 13 - Day 4: A Sample Design From Start to Finish
Continuing Education Center 3/13/2014 544 comments In this class we will take one of the example designs that comes with the kit from start to finish. This will help solidify the other concepts in the course and get you comfortable with doing your own design. Purchase the board ahead of time and follow along, or just view the PPT.
March 12 - Day 3: Lattice LCMXO2 Evaluation Board
Continuing Education Center 3/12/2014 608 comments The next step in doing your own design is to use a low-cost evaluation board. The Lattice LCMXO2 Evaluation board provides all the hardware you need to create a design. This class will review all the features and capabilities of the board and compare it to other types of boards.
March 11 - Day 2: Programmable Logic Design Flow
Continuing Education Center 3/11/2014 649 comments Using the Lattice Diamond tool flow as an example, we will look at all the steps required to take a design from conception to realization. Follow along using your own copy of the Lattice Diamond tools, or just view the screen shots on the slides. Either way you will get over that first barrier to doing your own design.
March 10 - Day 1: An Introduction to Designing with Programmable Logic
Continuing Education Center 3/10/2014 796 comments This class will provide an introduction to the course. We will quickly review the architecture of the Lattice LCMXO2-1200ZE FPGA as the programmable device for the class. We will also review the full design and development flow, the evaluation board, and the example designs we will use in the course.
February 28 - Day 5: The Wonderful World of Software Maintenance
Continuing Education Center 2/28/2014 434 comments The software design cycle doesn’t end with the successful launch of the product. It simply marks the entry to the next stage of the cycle, which is to maintain the software. Over time, user expectations and needs change, and the software needs to be updated to continue to meet the users’ needs. This session explores this often neglected portion of the design cycle.
February 27 - Day 4: Testing Your Way to Success
Continuing Education Center 2/27/2014 583 comments As much fun as designing and implementing software can be, at some point it must be proven that it meets requirements and does what it’s supposed to without any bugs! This session will cover software testing fundamentals. The difference between a fault and a failure will be explored in addition to testing effectiveness and objectives. Different levels of testing such as unit, integration, and system testing will be discussed.
February 26 - Day 3: Implementation Strategies
Continuing Education Center 2/26/2014 560 comments This session will dig into the details of writing embedded software. The fundamentals will be discussed and include how to minimize complexity and anticipate change. Constructing for verification and design patterns will be explored. Techniques for writing the software will be covered, including design for reuse, modularity, and quality.
February 25 - Day 2: Software Design Principles
Continuing Education Center 2/25/2014 535 comments This session will present concepts on how to design embedded software. It will start with a look at how to take requirements and develop a software architecture that meets those requirements. A brief look at available modeling tools such as UML will be examined. Techniques and design strategies such as structured and object-oriented design will be discussed.
February 24 - Day 1: Introduction to the Embedded Software Design Cycle
Continuing Education Center 2/24/2014 580 comments This session will introduce what the embedded software design cycle is and why an engineer would want to follow the cycle. The session will also look at requirements in detail ‒ what a requirement is, how to solicit them, and how to track and maintain them. Tools and examples will be provided so that this first critical step in the design cycle may be executed flawlessly.
February 13 - Day 4: Kernel Development
Continuing Education Center 2/13/2014 364 comments The Linux kernel is a core piece of an Embedded Linux ecosystem and is heavily developed for different platforms. On Day 4, the lecturer will show how the Yocto Project provides a workflow and framework for developing platforms based on the Linux kernel. In addition, we will discuss a best-practices process for kernel development and how they can be used to extend kernel packages.
February 12 - Day 3: Customizing the Packages, Images & Layer
Continuing Education Center 2/12/2014 396 comments The OpenEmbedded architecture is very flexible and can be customized to the needs of most Embedded Linux platforms. In this class, we will introduce the concepts of customizing the Yocto Project in terms of packages and images. As will be shown, the meta data is organized by layers, which helps to maintain a relevant set of packages for a given project.
February 11 - Day 2: Building Pre-Defined Embedded Linux Images
Continuing Education Center 2/11/2014 395 comments Existing reference images are available to developers, which can serve as a starting point. In this class, we will discuss and understand the build process by building an existing image. We will also learn about individual package recipes and go through the motions of a complete build.
February 10 - Day 1: Introduction to Embedded Linux & the Yocto Project
Continuing Education Center 2/10/2014 576 comments How does Embedded Linux fit into your development strategy? How does that tie in with the Yocto Project? What resources are at your disposal and how can one get on-board as developer? What does the complete ecosystem look like? All of these questions will be covered in Day 1 and many more as it pertains to an Embedded Linux development.
January 31 - Day 5: Benchmark Testing of MIMO Performance
Continuing Education Center 1/31/2014 337 comments In this lecture you will learn about benchmark test methods and challenges in achieving maximum performance of MIMO devices in a repeatable and reproducible manner. In addition, we will wrap up any loose ends from the previous days’ lectures and answer any remaining questions.
January 28 - Day 2: All You Ever Want to Know About Channel Emulation
Continuing Education Center 1/28/2014 380 comments Today's lecture will get into the details of wireless channel modeling and channel emulation equipment. A complex but important topic, channel emulation is at the heart of MIMO testing. At the end of the lecture you will know the basic theory of channel modeling, understand the available solutions, and have an overview of relevant standards activities.
January 27 - Day 1: Wireless Technology Update
Continuing Education Center 1/27/2014 393 comments This opening session will provide an overview of wireless technology and an update on the IEEE and LTE standards. We will focus on today’s key wireless technologies: WiFi and LTE. Our material will also include an overview of industry standards for wireless test.
January 17 - Day 5: A Basic4Android HTTP Server App
Continuing Education Center 1/17/2014 432 comments Normally, an Android device operates in client mode, which involves using a client app to access a server. In this final lecture of the series, we will turn all of that around and serve web pages to a remote WiFi device.
January 16 - Day 4: Basic4Android Sockets and Digital I/O
Continuing Education Center 1/16/2014 433 comments Thus far, we have banged bits using RF and USB. How can any networking tutorial be complete without pounding data through the pipes with TCP/IP? In this lecture we will implement digital I/O control using Basic4Android TCP/IP networking methods.
January 14 - Day 2: A Basic4Android USB-Based Digital I/O App
Continuing Education Center 1/14/2014 521 comments Sometimes a wireless connection is not possible or even necessary. So, today we will take a look at interfacing USB-bound microcontroller-based devices with a Basic4Android application. Host and downstream external USB device solutions will be discussed.
January 13 - Day 1: Basic4Android Wireless Digital I/O App
Continuing Education Center 1/13/2014 594 comments Today’s lecture will expose various wireless Basic4Android methods that provide direct control of external microcontroller-based resources. Basic4Android network coding along with microcontroller-based hardware and network firmware concepts will be examined in detail.
December 20 - Day 5: Mitigation Strategies
Continuing Education Center 12/20/2013 177 comments This class puts everything from the previous four days together. We will review general security mitigation principles and then learn how to apply knowledge of SCADA specific threats, vulnerabilities, and attack methods to formulate pragmatic and efficient mitigation strategies that are safe for SCADA systems and tailored to their environment.
December 19 - Day 4: Attack Methods
Continuing Education Center 12/19/2013 183 comments Once you know the threat sources and the vulnerabilities within your own systems, knowing the methods of how these systems can be attacked is a key component to formulating a pragmatic and efficient mitigation strategy. This class will look at the entire anatomy of an attack from start to finish and how hackers go about attacking SCADA systems specifically.
December 18 - Day 3: Vulnerabilities
Continuing Education Center 12/18/2013 161 comments From people to processes to technology, vulnerabilities are the reason security is needed. Unfortunately, the sheer number of vulnerabilities in existence makes dealing with them a daunting task. This class helps students understand vulnerabilities by examining the root cause of vulnerabilities from a high level and then provides strategies to help reduce the mitigation effort by grouping them into common mitigation categories.
December 17 - Day 2: Threat Sources
Continuing Education Center 12/17/2013 169 comments Before you can protect your systems from a threat, you must know what the threats are. This class takes a comprehensive look at the different threat sources that could affect SCADA operations environments, along with their motivations and objectives.
December 16 - Day 1: State of the Industry
Continuing Education Center 12/16/2013 213 comments This class will take a high level look at the evolution of SCADA systems over the past decade and compare traditional IT networks with SCADA networks in terms of their security and mitigation differences and pitfalls. We will then review significant exposures and incidents that have affected SCADA systems.
December 6 - Day 5: Example Designs
Continuing Education Center 12/6/2013 213 comments This class will pull together information from all the previous classes and illustrate the described techniques using several example designs from different market segments and application areas. This will solidify your understanding of both the key security concepts and the various design techniques illustrated in the course.
December 5 - Day 4: Protecting Your Embedded System in the Field
Continuing Education Center 12/5/2013 220 comments Once your embedded system is deployed it is a target, either directly by “invasive” probing of the actual board or via network-based attacks. Protecting your systems from these threats requires the use of advanced techniques like establishing a Root-of-Trust, secure remote update, and/or a secure boot process.
December 4 - Day 3: Cryptographic Techniques to Protect Your Embedded System
Continuing Education Center 12/4/2013 236 comments Modern techniques for security and authentication use a few key cryptographic concepts and algorithms to protect data and processes in embedded systems. This class provides an introduction to the most common techniques and standards, so you can better understand how these approaches may be used in your designs.
December 2 - Day 1: Security Threats to Your Embedded System
Continuing Education Center 12/2/2013 291 comments This class will identify the most common security threats to network-connected, embedded systems all along the system lifecycle. We will start with the component supply chain and follow a typical embedded system all the way to system decommissioning, while identifying many common security threats along the way.
Artificially created metamaterials are already appearing in niche applications like electronics, communications, and defense, says a new report from Lux Research. How quickly they become mainstream depends on cost-effective manufacturing methods, which will include additive manufacturing.
Sharon Glotzer and David Pine are hoping to create the first liquid hard drive with liquid nanoparticles that can store 1TB per teaspoon. They aren't the first to find potential data stores, as Harvard researchers have stored 700 TB inside a gram of DNA.
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.