Introduction & Review

Industrial Electronics I covered the introduction to process loops, controls, DC motors, servo motors, ladder logic, protoyping and troubleshooting a system. The previous materials for the class can be found here.

Software used in this class was primarily centered around prototyping with the Arduino IDE and designing flow charts with Inkscape:
Inkscape: Basic Flow Charts


Required Class Materials
Safety Contract
Photo Release Form

This class served as an introduction to Stepper Motors and a review of the Arduino platform. We set up a simple controller utilizing ULN2003 and L293D motor drivers to control 8-phase, geared stepper motor: 28BYJ-48. Our goals in this class were tiered as follows:

ULN2003 Pinout
L293D Pinout
Stepper - Schematic
Stepper - Breadboard
Stepper - Fritzing
Stepper Full Rotation Firmware (Arduino)
Stepper Back Forth Firmware (Arduino)

All About Stepper Motors - Adafruit
Arduino Motor Shield


Please submit your documentation link here: Form

This class furthered the understanding of stepper motors and we began looking into higher torque NEMA 17 motors and the DRV8825 Stepper Driver. Our first lab project will include converting stepper motion control and rotational motion to linear distances.

The introduction of the project:
Use a NEMA 17 Motor and DRV8825 Motor Driver IC
Create control of linear distance using linear bearings
Control the motion and utilize a limit switch on the ends
Consider your purpose for linear motion with affordances of the stepper motor in mind

DRV8825/Bipolar Stepper - Breadboard
DRV8825/Bipolar Stepper - Fritzing

Next class we will discuss: Microstepping, Linear Rails/Bearings, Converting Rotational Motion into Linear Motion and look further into the stepper motor library.

How Stepper Motor Works
4 Wire Stepper Diagram
DRV8825 Introduction - Pololu
Arduino Stepper Driver Library - laurb9


This class is focused on creating linear motion with stepper motors. We will be exploring microstepping, controlling DRV8825 drivers, and an application that minimally uses LM8UU bearings and a 250mm linear rod. We are using either a leadscrew or pulley system to convert our rotational motion into linear motion. We built skills on setting up the stepper motor with the driver, adding endstops, utilizing libraries to control the motor, centering our design around the NEMA 17 and the LM88UU bearings, and coming up with an application for the design. Next class will focus on the physical design of the apparatus.

DRV8825 - Fritzing Part
Microstepping - Valvano
Stepper Motor Calculations - Quick CNC
Stepper Motor Calculator - Prusa Printers
DIY Arduino Stepper Linear Rails - NYCNC


Lab class looking into physical design of linear bearing application. Listed below are the examples from class:
Laser Cut Linear Slide Example - Inkscape
Stepper Shaft-Leadscrew Coupler - OpenSCAD
Stepper Shaft-Leadscrew Coupler - STL

Please submit your documentation link here (if you have not done so): Form


The goal of this class is to complete your documentation for the build, begin your presentation and complete your build. Next class you will be presenting on your linear rail system. Below are the guidelines and materials needed to complete the build:

Completed Prototype: Mechanical system and Electronics visible
Demonstration of purpose of linear slide system
Share your design files and justify your design principles and decisions
Share difficulties during the build process and how you created a troubleshooting strategy
Discuss future changes to the system that woudl increase its efficiency


This class was to process a troubleshooting strategy for your linear slide mechanism and finish the mechanical aspect of the design. Class on Tuesday, February 20 will be devoted to:

Present your linear slide and design choices along with your troubleshooting process. This must be professional and concise. We are building a group of strategies to compare and add to our toolbox.
Show your linear slide mechanism work with the stepper motor and share/describe your programming choices.
List any additions you made to the base model, and why you made those decisions based on control and function.
Share a schematic, control loop, code, and design with class.
Be prepared to ask questions and answer them.

We will be starting to plan out our final projects this semester to show off all of the skills and content from ETR237/238. We need to create a Bill of Materials sooner than later in order to make this happen. Be prepared to have this accomplished by the end of the period this coming week. We will also begin a new topic and small project to coincide and wrap up our stepper motor/linear slide projects.


Make sure to post your final stepper design including schematics, control loop, code, and design files on your documentation. As we move forward we will discuss our final projects for the industrial electronics scope.
For next class, create a proposal including:
What is your idea and purpose? - How will you incorporate different motor types, controls, encoders, sensors, inputs, and programming?
Bill of Materials
General control process loop for your operation
Formal written document - include in your documentation


We will not be holding a physical class, but we will be beginning our final project design and introducing brushless motors and electronic speed controls using pulse width modulation. I will be hosting a chat from 7-8 PM tonight on Google Meet. The meeting code is oarfymxsie.

If you have not done so, please finalize your proposal from last class. Details for this are located in the previous post. Ask if you have questions about this process. Again, this should be a formal document. If you have not finished your stepper motor design, this is a good time to work on this and get caught up.

We are going to be focusing on brushless motors as our next motor of choice before diving in to AC induction motors. We are going to design a variable speed controller and create our own 555 timer or Arduino PWM based electronic speed controller. GreatScott videos has a wonderful design that we will follow to develop our own design. For next class I would like you to develop a potential schematic for a brushless motor ESC, sample firmware code, and a control loop. Justify your design and create it in Fritzing or other EDA software. This is a chance to design the hardware around the motor rather than selecting an existing chip. We will also look at the construction of the brushless DC motor and compare it to the brushed DC motor we have previously used. In your design, you must include a variable input, a safety mechanism to shut on/off, and a readout for the speed of the controller or motor. Your design may be as simple as a 555 timer DC variable speed controller to start and may be as complicated as a full ESC with braking and 3 phase transistor motor drivers. This is going to require a bit of research and planning, so you have a week to wrap your head around the problem. This will provide us some practice in developing our final project and the process required.

Make Your Own ESC pt I - GreatScott
Make Your Own ESC pt II - GreatScott
ESC Controller w Arduino - ElectroNoobs
How Does a Brushless DC Motor Work? - LearnEngineering
Design of an Integrated Electronic Speed Controller... - Tefay, et. al.
3D Printed Brushless Motors - makeSEA


Please refer to the previous post for resources and description of what you need to get started on your brushless motor and ESC project. Here is the rough schedule we outlined for this project:
Research & Circuit Design
BLDC with ESC: Program with Arduino
Build Custom ESC
Finalize Design & Share

Final Project:
Project Proposal
Bill of Materials
Control Process Loop/Block Diagram
Begin Physical Design Needs
Develop Timeline for Completion


We began our progress with the brushless DC motors. You should have completed prototyping your firmware using the Arduino platform. At this point before the break, we should have a working BLDC motor with control. Don't forget to arm your ESC so that it can accept signals in the correct order. There are many examples of simply running and ramping speeds on these common ESCs. Refer to the previous post on your final project materials and timline. When we return from break we will have about 5 weeks to finish our BLDC ESC and Final Projects.


Everyone has a successful BLDC motor program and speed controller. The adaptation of this project based on tim will be to design a schematic for the ESC and a basic layout for a PCB. If you need help getting back into PCB design - just ask!

We will continue our progress on our final projects making sure to finalize the materials and the schematic design. Next class will be a design class focused on creating the prototype for our designs. This is the time to let me know if you are missing something.


This class is devoted to prototyping and finalizing your industrial design. You should be done with your basic prototyping concepts at the end of this class. Let me know if there are any other things you need to accomplish your design. You should have a completed schematic, design, and have a head start on your documentation. We will present our BLDC designs, schematics, and layouts on April 17.


This was an open lab towards building your final independent project and wokring on finishing your BLDC schematic to be shared next class. Please consider previous posts on modifications and implementation of the driver.


We shared our schematic designs on the BLDC driver and ESC. Good questions about the overall design and the purpose of the components in the design. Please look at the datasheets while designing your schematics to understand the operation of each of the ICs. You have 2 weeks left to finalize your project and presentation. You must include a finalized circuit, schematic, problem, solution, control loop, and application. Make sure your demo works before going into your presentation. The presentations will be capped at 10 minutes in length on the date of the final exam.


This was the final class to work on our culminating projects. You should include the below.

This was the final class to work on your projects.
Your project should include:
Breadboard with working circuit
Schematic Design
Bill of Materials
Control Loop Diagram
Purpose of circuit and components
Overview of the testing procedure

Your Presentation will include:
Demo of the working prototype
Live testing and issues with components
Future additions?
Issues along the way?

Don't forget to include all of the above in the submitted documentation. You should have a completed documentation for the final project that outlines the build, datasheets, research, testing, diagrams and reflection. The documentation will be due at the end of class. Presentations will start at exactly 7:15 PM. Presentations will be 15 minutes in length. See you then.