October 9 - Day 5: Future Directions
Continuing Education Center 10/9/2015 Post a comment 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 Post a comment 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 Post a comment 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 Post a comment 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 Post a comment 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 Post a comment 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 4 - Day 5: Robust Firmware Concepts
Continuing Education Center 9/4/2015 533 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 670 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 736 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 808 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 836 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 1089 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.
June 26 - Day 5: Roll Your Own to Wireless
Continuing Education Center 6/26/2015 350 comments Today we focus on designing a base piece of Internet-capable hardware. The design can be used as an entry gateway, an intermediate node, or an exit gateway. We will also code the firmware for the aforementioned nodal functions.
June 25 - Day 4: WICED Use of the Internet
Continuing Education Center 6/25/2015 371 comments Technology provided by Anaren shines in this class, as we will drive an Anaren A20737 radio module across the Internet. We will ride the electron highway in luxury aboard Anaren’s new WiFi gateway. Today’s hardware project involves moving the A20737 from the factory demo board to a user-designed printed circuit board.
June 24 - Day 3: Internet Connectivity from Down Under
Continuing Education Center 6/24/2015 329 comments The ACKme WiFi networking modules mean Numbat and Wallaby. In this lecture we also will tame an ACKme Bobcat Bluetooth module and watch it walk peacefully with a Numbat module on the Internet trail. This hardware project is based on the ACKme AMW006 (Numbat) module.
June 23 - Day 2: Internet-Based Bluetooth Control
Continuing Education Center 6/23/2015 371 comments In this lecture we will design and implement a trans-Internet Bluetooth session using Microchip’s RN4020 Bluetooth Low Energy module. This class also will have you ready for designing and implementing the Bluetooth session’s Internet gateway framework.
June 22 - Day 1: Low-Cost Internet via RF
Continuing Education Center 6/22/2015 445 comments This class will demonstrate how an $8 set of ASK radio modules can perform monitor and control operations using the Internet. Our project task for this class will involve designing and building the ASK radio entry and exit Internet gateways.
June 12 - Day 5: Digital Filters III: Finite Impulse Response Filters and Conclusion
Continuing Education Center 6/12/2015 570 comments As we will have learned in Day 4, there are limitations in IIR filters that can create challenges in design and response. In this class we will look at the finite impulse response (FIR) filter and compare the design criteria as well as the resultant output of the two types of filters. We will conclude by reviewing the various filters and some of the resulting solutions, comparing the results.
June 10 - Day 3: Digital Filters I: Sampling and the Z-Transform
Continuing Education Center 6/10/2015 709 comments Computation – particularly with the advent of digital signal processing (DSP) – allows us to create very powerful filters that can add new capabilities. Here, we go into digital filters with a review of the transform from the continuous time domain to the sampled domain. We will look at not only the Z-transform but also some tricks and tips, such as oversampling, which allows us to simplify filters.
June 9 - Day 2: Analog Filters II: Active Filters
Continuing Education Center 6/9/2015 631 comments As we will have learned in Day 1, a resonant circuit is affected by the circuits that exist at its input and output. In this class, we will look in depth at the addition of operational amplifiers (and in RF – other amplifiers) to make powerful and accurate filters for our applications.
May 22 - Day 5: Low-Power Design Techniques
Continuing Education Center 5/22/2015 429 comments One of the most important features of the ARM Cortex-M processors is their extensive focus on low-power capabilities. This makes them perfect for battery-operated devices. This session will examine low-power design techniques such as energy profiling and measurement, in addition to unique features such as low-power modes, wait-for-interrupt, and sleep-on-exit . You will learn to implement a basic sleep function on their development kits.
May 21 - Day 4: Writing Embedded Software with CMSIS
Continuing Education Center 5/21/2015 434 comments The Cortex Microcontroller Software Interface Standard (CMSIS) is becoming a critical component in the embedded software development toolkit. This session will walk you through CMSIS: What it is and why a developer would consider using it. An application example will give attendees the switch debounce code that can be implemented on their own development kits.
May 20 - Day 3: ARM Cortex-M Architecture
Continuing Education Center 5/20/2015 475 comments This session will examine the intricate details of the ARM Cortex-M architecture. The register model and system control block will be explored in detail, in addition to useful core features such as the nested interrupt vector controller and the system tick. Attendees will leave with software examples on how to optimize bit manipulation and know how to set up a system scheduler using the system tick.
May 19 - Day 2: Project Setup and Compilation
Continuing Education Center 5/19/2015 639 comments There is a lot that goes on behind the scenes to compile that first empty project. These details are often ignored but absolutely critical to properly mapping out and optimizing a device. This session will examine how to create a project, set up a baseline, and modify the linker and processor memory map, in addition to elucidating the compiling process. Attendees will gain a deep understanding of the microcontroller boot sequence in addition to a working LED blink program.
May 18 - Day 1: Overview of STM32 ARM Cortex-M0+
Continuing Education Center 5/18/2015 801 comments This session will introduce the ARM Cortex-M family of processors, along with its features, instruction set and scalability. We will examine an STM32 Nucleo development kit utilizing a Cortex-M0+, along with how to set it up and use it for prototyping work. Attendees will walk away from this session with the knowledge to get the platform up and running.
Fifty-six-year-old Pasquale Russo has been doing metalwork for more than 30 years in a tiny southern Italy village. Many craftsmen like him brought with them fabrication skills when they came from the Old World to America.
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.