Introduction to Control System Design - A First Look

I found the following online MIT course that’s being offered through Looks like it has the potential to be both a great learning experience and lots of fun.

Introduction to Control System Design - A First Look
Learn the theory and practice of controller design by building and then position-stabilizing a propeller-levitated arm.

I haven’t done any control system work since my undergrad work and I’ve been telling myself that I want to go back and revisit/relearn some of those concepts. I found the above course that looks to be a great learning experience as well as a lot of fun. This course started on August 1, but the first assignment isn’t due until August 29 so I signed up

One of the neat things about it is how the Arduino is controlled. There’s a python serial server that talks to the Arduino via serial interface (pyserial). The GUI (graphing, control of Arduino, etc) is implemented in a web page and communicates with the serial server via Websockets over localhost port 9000. All of the above software components are provided and usable in turnkey fashion.

It will be interesting to peek under the hood and see how this all fits together and learn about about both pyserial and Websockets. The overall structure looks to be really useful for implementing a local web page GUI to configure & control any Arduino/ARM/SBC as well as collect data and display it in a way that’s somewhat platform agnostic…

Here’s the amazon and digikey parts lists from the course.

For someone with experience implementing control systems, the following course might be a better fit. This is a sister course to the above that’s almost identical, with the difference being it’s a bit more conceptually/mathematically rigorous. It uses the Teensy, a Cortex-M based board, instead of an Arduino. I believe that other than the Arduino vs. Teensy board, the lab hardware components are the same and the ultimate design goal of making a balancing system is the same.

Introduction to State Space Control
Learn physical, computational, and measured-data approaches to state-space modeling and control, by building a copter-levitated arm and then designing and testing high-performance microcontroller-based positioning systems.


The state-space class looks interesting! I did two semesters of control theory and never got into that…

After I finish the less analytically rigorous version of the course I might do a fly-by audit of the state space course since I’ll have all of the hardware except the Teensy.

1 Like

I just looked at the digikey BOM… a $7 pot and a $24 Arduino… It’s nice you can just press ‘buy’ but you could knock $30 out of the shopping list with trip to Tanner!

One could definitely save on the Arduino. The pot is spec’d as a ‘low friction’ type. I could see how using a pot with excessive friction would likely introduce a term in the impulse response that isn’t accounted for in the course analysis. I’ll like go for the low friction pot just to avoid any issues initially.

Good call. I’d like to do this. It’s hard to see how this will cover state space methods in 4 weeks at 4-6 hour a week though! Guess I’ll find out haha

Thanks for the link it looks interesting, I signed up too.
I have a fair amount of controls experience but not in electrical applications. This should be fun learning to run control systems on the Arduino.

I’ve also done a lot of state space modeling and controls if you need help with the theory. Again not much of the electrical application.

@urbite, @rcktdr, a little slow to start, but I’m going to order the parts and give this thing a shot (state space).

Do you want to meet up next week and have an assembly lab party?

Yeah that sounds great. I’m at the space most days, I can make it for an evening too if that works better.

I’ll order the orthodontic elastic bands and you get the chop sticks, we can share!

1 Like

This course is a great find!! I’m late to the party but I just signed up to audit as well.

This is terrible timing but I might pop in from time to time and see what you guys are up to.

I’ve already ordered both chopsticks and elastic bands, which I’ll gladly share with ya’ll. According to Amazon notifications they’ve been delivered to my office. I’ll order my low friction pot today, the rest of the stuff I already have.

For the assembly party, evening is best for me. How about Wednesday at 6:30 for a starting point. Any counter proposals or comments?

1 Like

Not sure on the current status of the motors, at one time they were a long lead item. I found a different listing for one CW and one CCW motor that was prime eligible.

(In case that helps anybody)

That is very helpful, thanks!

@rcktdr have you already ordered the motor?

I just ordered the motor today, it says delivery between 17th and 22nd. Do you have another suggestion?

On the Digi-Key order, there is also a capacitor on back order, and their shipping charges are very high. I was going to stop by Tanners tomorrow to see if I can get most of the parts there.

Ok. I am going to put a Digikey order in tonight. I can probably find a sub cap for that backordered one. Do you want me to make the digikey order x2? As Paul pointed out earlier, you’ll probably at least want that low-friction pot. Are you using the Arduino or the Teensy?

I’m using the Arduino,
Yeah with 2x the order it might help with shipping costs. Please add an order for me, I already have the Arduino, USB cable and a bread board.


I went back and checked the listing I found with prime shipping, and it is now unavailable. Guess this class is a little popular?

@DanielHooper: I’d consider ordering from Mouser instead. They are located in Mansfield and the order will almost always arrive the next business day even if you specify ground shipping and have your order in by 8:00 PM. Whether you order from Mouser or DigiKey, there’s no benefit in placing the order tonight with regard to when the order is shipped, which will be at the end of the day tomorrow.

Unfortunately the specific pot called out in the parts (Honeywell 574SX1M48F103SD) list is not in stock at Mouser. As an aside, the Mouser site says it’s ‘not recommended for new designs’ (which is a don’t care for our experiments).
Not to fret, though, as course staff member Joe (user jodalyst) has a recommended substitution (Bourns PCW1J-C24-KAB103L) which is stated to work as well as the original.
Here’s the Mouser link to order the alternate pot. If I’ve decoded the part number correctly from the data sheet, I believe the mounting hardware (nut + lockwasher) is included with the Bourns pot. Someone check me on that, plz.

The discussion of the alternate pot is at:

A complete Mouser parts list (with the original out-of-stock pot) is at:

Regarding the caps, C4 is non-critical. Larger capacitance (more uF) and at least 10VDC voltage rating will do the trick. An electrolytic should work fine - as long as you don’t hook it up backward. :skull_crossbones:

C1, C2, and C3 should be the same capacitance value (nF) as given in the parts list, but could have higher voltage ratings. These are somewhat critical capacitance values, as they are each part of first order low pass filter networks whose response characteristics are based upon the RC values.

I may have an extra motor and pot (the Bourns substitute from Mouser) available if one of you doesn’t get yours in time. I ordered an extra set for one of my coworkers, but I don’t think he’s going to have time for the project now. If that’s confirmed then you can use my extra until yours when it arrives.