November 21 – Day 5: Analog Design for the Digital World: Design and Test
Continuing Education Center 11/21/2014 Post a comment For our final day we will wrap up by looking at the challenges of designing as well as testing analog circuits, particularly in mixed signal design. We will look at analog design and simulation tools including SPICE (around since the mid-70’s!), test methods including probe loading considerations and other topics.
November 20 – Day 4: Analog Design for the Digital World: A/D and D/A
Continuing Education Center 11/20/2014 Post a comment As much as we want to keep our analog and digital circuits separated, we still need them to talk to one another. In this class, we will look at the different types of analog to digital (A/D or ADC) and digital to analog (D/A or DAC) converters and some of the tradeoffs as well as design criteria.
November 14 – Day 5: An Example Implementation in Detail
Continuing Education Center 11/14/2014 Post a comment This class will pull together information from all the previous classes and illustrate the described techniques using a detailed example design. Several techniques outlined in the previous classes will be used to protect the example design from tampering, reverse engineering, copying and from network-based attacks on security keys and boot blocks, which are two of the most common and most aggressive forms of remote attacks.
November 13 – Day 4: Protecting Your System in the Field
Continuing Education Center 11/13/2014 Post a comment Once your hardware is deployed it’s a target, either directly by “invasive” probing of the actual board or via network based attacks. Protecting your hardware from these threats requires additional levels of protection and more complex algorithms and techniques. Luckily manufacturers provide simplifying features and capabilities that can be used to protect field deployed systems.
November 12 – Day 3: Secure Devices - An Overview
Continuing Education Center 11/12/2014 Post a comment This class will review several of the current devices that include security capabilities that can be used to protect your design from hacking and theft. Some MCUs, FPGAs and CPUs now include key security features that can be used to protect your design. Additionally, specialized peripherals, memories and accelerators are also available for adding protection. Examples of all of these devices will be described.
November 11 – Day 2: How do you Implement Secure Hardware?
Continuing Education Center 11/11/2014 Post a comment This class will cover the key techniques used by modern devices to protect design IP from the most common threats. Starting with simple approaches to tamper protection, and then moving on to protection from copying and cloning, this class will begin to introduce key devices and features needed to successfully protect your design.
November 10 – Day 1: Stealing and Hacking Your Design is Easier than You Think
Continuing Education Center 11/10/2014 Post a comment This class will review key concepts from the December 2013 class and lay the groundwork for describing the implementation details you need to be able to select, program and design with devices you can use to protect your valuable IP. Protection from reverse engineering, copying, cloning, hacking and tampering will be the focus of the course.
November 3 – Day 1: Introduction to Advanced User Interface Technologies
Continuing Education Center 11/3/2014 Post a comment Join this discussion on modern electronic input interfaces in analog and digital realms, including digital open state conditioning (pull-ups and pull-downs), matrix and multiplexing, scanning technologies, linear joystick, mouse, and an overview of touch. We will also touch on modern high volume display and indicator technologies.
October 22 – Day 3: Embedded TCP/IP Concepts
Continuing Education Center 10/22/2014 Post a comment Today’s lecture will cover basic TCP/IP concepts. We will also examine some common protocols that are used on LANs and the Internet. The TCP/IP concepts presented will be supported by actual Wireshark protocol analyzer captures.
October 20 - Day 1: Design & Build a 32-bit Embedded Web Server
Continuing Education Center 10/20/2014 653 comments Dive in by designing and scratch-building a 32-bit microcontroller-based web server. This Ethernet-based web server uses the LAN8720 PHY IC in the physical layer design. Along the way, we will put together just enough supporting firmware to bring our web server online.
September 11 - Day 4: IPv.6: Traffic & Routing
Continuing Education Center 9/11/2014 411 comments With the elimination of the old concept of sub-nets and new routing protocols, IPv.6 provides more powerful routing capabilities, allowing more true end-to-end communications between any two nodes on the network. We will look at the new routing schemes, compare these to more familiar IPv.4 methods, and look at how the two can be made to work together through the lengthy transition.
September 10 - Day 3: Addressing in IPv.6
Continuing Education Center 9/10/2014 422 comments One of the primary reasons for IPv.6 is to answer the need for more addressing capability. Along with the new capabilities of the 2128 or approximately 3.4×1038 addresses, there are new methods for assigning addresses, assigning broadcast or multicast messages, and re-defining the previous concept of sub-nets. We will look at these new standards and how they compare to the methods under IPv.4.
August 22 - Day 5: An Internet of Things Weather Station Example
Continuing Education Center 8/22/2014 623 comments Sensor networks and moving data through the internet and web are becoming absolutely critical with concepts such as the Internet of Things on the near horizon. Each of the previous sessions have covered critical building blocks to create a system using a single-board computer. This session pulls it all together by providing an example weather station that interfaces to sensors such as humidity and temperature. The data is streamed through the Internet and accessible via a website.
August 21 - Day 4: Controlling Raspberry Pi Peripherals With Python
Continuing Education Center 8/21/2014 660 comments Writing software can be fun, but when the software controls hardware and starts interfacing with the external world is when things really get going! The Raspberry Pi has a number of common interfaces that can be used to communicate with the external world and this session will cover how to use Python to access each of those interfaces. By the end of this session attendees will be ready to connect just about anything!
August 20 - Day 3: An Overview of the Raspberry Pi (& Single-Board Computers)
Continuing Education Center 8/20/2014 689 comments This session will dig into the details of single-board computers and how they are revolutionizing how we do things. The famous Raspberry Pi hardware will be discussed in addition to how to set up the hardware for experiments in future sessions. This will include a look at available operating systems, tools, and expansion boards that can be used to quickly get a prototype system up and running.
August 19 - Day 2: Python Fundamentals
Continuing Education Center 8/19/2014 633 comments This session will present basic concepts on how to design embedded software using Python. Concepts such as lists, dictionaries, string, and file system manipulations are a few examples of what will be covered. How to develop object-oriented code and even how to import C code will also be presented. Example scripts will be provided so that attendees can follow along and take the language for a spin.
August 18 - Day 1: Introduction to Python
Continuing Education Center 8/18/2014 774 comments This session will introduce the Python programming language. It will provide an overview of where to get it, how to install it, and why an embedded engineer should learn Python. Since most embedded engineers are familiar with C, an in-depth comparison between language syntax will be covered to help attendees quickly leap into this powerful language.
August 8 - Day 5: Linux & Block Device Drivers
Continuing Education Center 8/8/2014 411 comments This final class will look at block devices, which are storage media that can handle random accesses. Unlike character devices, block devices can hold file-system data. In addition, we’ll discuss how Linux supports storage/block buses and devices.
August 7 - Day 4: Input Device Drivers With the Linux OS
Continuing Education Center 8/7/2014 398 comments In today’s class, we will learn about the Linux kernel’s input subsystem. This subsystem handles various input devices such as keyboard, mice, etc., with uniformity. An event interface is used to interface the input devices to specific applications. In addition, we’ll learn about the event system as well as device abstraction.
August 6 - Day 3: Serial Drivers Using Linux
Continuing Education Center 8/6/2014 464 comments The serial port is a basic communications channel that’s used in many systems. In general, a UART is used to implement the serial ports. These ports can be used for terminal sessions, dialup, and devices that use a serial transport, including Bluetooth devices. In this class, we will learn about writing drivers for serial devices.
August 5 - Day 2: Linux Character Device Drivers
Continuing Education Center 8/5/2014 599 comments Character drivers are fundamental driver types in the Linux kernel, while the byte-oriented driver is referred to as a character driver. Majority of device drivers in Linux fall into this category. We will learn about character drivers and run through a sample character-driver development. The basic file operations and creation will be taught as well.
August 4 - Day 1: Introduction to the Linux Kernel
Continuing Education Center 8/4/2014 715 comments This class will cover the basic aspects of the Linux kernel programming, and we’ll differentiate between the kernel and user space. It’s a well-known fact that there are certain norms to communicate between the kernel and user space. Hence, we’ll cover the APIs needed to enable this communication. In addition, we will look at how to load and unload device drivers on running systems.
July 23 - Day 3: Creating Schemas to Develop a Bluetooth Link
Continuing Education Center 7/23/2014 296 comments A schema is simply a description of available embedded resources. Today we will create a schema based on the embedded resources of the Digilent ChipKIT MX3 development board. We will also examine the firmware that is automatically generated as a result of the schema build process.
July 21 - Day 1: The Out-of-the-Box Bluetooth Experience
Continuing Education Center 7/21/2014 375 comments Today’s lecture will feature the Ana ren B-SMART BoosterPack development tool. The BoosterPack will be coupled with a Texas Instruments MSP430 LaunchPad development board to provide a working out-of-the-box MSP430-to-iPhone Bluetooth application. No Bluetooth or MSP430 knowledge is required.
July 11 - Day 5: Tying Up the Loose ARM Ends
Continuing Education Center 7/11/2014 381 comments This class will bring together all the material covered in previous classes to discuss some designs suggested by students to see how they might be implemented most efficiently. Existing reference designs using the STM32F3 family will be used as the starting point for customization efforts.
July 10 - Day 4: Build Your Own ARM-Based Product!
Continuing Education Center 7/10/2014 496 comments Example designs offered with the DISCOVERY kit will be described and used to illustrate some of the types of designs the ARM Cortex-M4 is specifically efficient at implementing. At the end of this class the student should be comfortable running example designs themselves.
July 9 - Day 3: Understand the ARM Tool Flow
Continuing Education Center 7/9/2014 528 comments The tool flow for programming the STM32F3 MCU family will be described and the process for downloading and running example designs will be shown so that the interested student can follow along using their own versions of free, downloadable tools.
July 8 - Day 2: An ARM Cortex-M4 Design Example
Continuing Education Center 7/8/2014 582 comments This class will use the STM32F3 M CU family as an example implementation using the ARM Cortex-M4 CPU. The interactions between the CPU and many common peripherals will set the stage for designing efficiently with a wide range of ARM Cortex-M4 implementations.
July 7 - Day 1: An Introduction to the ARM Cortex-M4 Architecture
Continuing Education Center 7/7/2014 666 comments This class provides a quick overview of the ARM Cortex-M4 CPU architecture and how to use the key features to more efficiently implement common MCU-based designs. A comparison to other ARM CPU families will help round out your understanding of this important CPU family.
Some humanoid walking robots are also good at running, balancing, and coordinated movements in group settings. Several of our sports robots have won regional or worldwide acclaim in the RoboCup soccer World Cup, or FIRST Robotics competitions. Others include the world's first hockey-playing robot and a trash-talking Scrabble player.
The DDV-IP is a two-wheeled self-balancing robot that can deliver cold beverages to thirsty folks on hot summer days. A wireless RF remote enables manual control of the device beyond the act of self-balancing. All of the features of the DDV-IP result in an effective delivery vehicle while providing entertainment to the user.
Eric Doster of iFixit talks about the most surprising aspect of the Microsoft Surface Pro 3 teardown. In a presentation at Medical Design & Manufacturing Midwest, iFixit gave the Surface Pro 3 a score of one (out of a possible 10) for repairability.
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.