Gas station without pumps

Mechatronics Fall 2017

While on sabbatical for Fall 2017, I’m taking Gabriel Elkaim’s Mechatronics course (CMPE 118/L), which has the reputation of being the most time-consuming course on the UCSC campus, with students routinely reporting over 40 hours a week of work for the course.  It also has the reputation for being a lot of fun, and I want to learn some of the mechanical aspects of robotics, so taking this course seemed like an ideal way to do it.

This page gathers the blog posts about the course in chronological order (something that regards as so sinful that they refuse to provide any support for it).

Posts from before the course started:

  1. Mechatronics public demo This is a post about the 2011 mechatronics public demo.  In those days, mechatronics was taught winter quarter, rather than fall quarter.
  2. Mechatronics demo at UCSC This is a post about the 2012 mechatronics public demo.  That was also a winter-quarter course.
  3. Digital tone detection with Goertzel’s algorithm describes the algorithm behind the digital beacon detector.
  4. Beacon detector board shows the board I designed for an almost all digital beacon detector.
  5. Beacon detector SPI interface talks about the debugging I did to get the Teensy LC in the digital beacon detector to behave as an SPI slave. The timing constraints for SPI slaves are rather tight for software implementations.
  6. Review of cheap buck regulators looked at some cheap switching regulators I bought on AliExpress.
  7. More on cheap buck regulators looks some more at the same regulators.
  8. Correcting reasoning on buck regulators corrects some of the mistakes I made in the previous two posts.

Posts from after the course started.

  1. Why the blog has been quiet lately talks about my taking the course, with a little about Lab 0 and Lab 1.  I’m being careful on the blog not to provide anything even close to a solution for any homework or midterm question, as the design exercises get re-used from year to year.
  2. A beacon detector for mechatronics shows a photo of my 8-op-amp analog beacon detector for Lab 1.  There is some characterization of the circuit shown, but no schematics—I don’t want to give students solutions, not even clumsy ones like this one.  I also did a 3-op-amp analog detector, which worked at least as well, but I’ve not shown that here.
  3. MockRobot has some pictures of the mock robot I built for Lab 2.  I learned a new foamcore technique and realized that I needed to use mortise-and-tenon joints, not just finger joints if I wanted any strength in MDF joints.
  4. Mechatronics blogging mentions the course requirements that we keep a public web page for our work on the project. This blog will hold that work.
  5. Midterm turned in! reflects on the work needed to do the midterm—it is not really possible to finish it in the 5 days allotted.
  6. Starting blog for mechatronics project is my first project-related blog of the series.  I looked at the pin count needed for the peripherals and decided that the solenoids I have won’t work with 9.9V batteries.
  7. Gearhead motors for mechatronics describes the motors that I bought to run the robot.
  8. Halfscale mockup of chassis has my first sketch (in 3D) of the chassis for the robot.
  9. Ball dispenser has some photos of the beginnings of a prototype ball dispenser along with some preliminary thoughts about how to deliver the ball to the first three targets.
  10. Starting to port the Events and Services Framework to Teensy boards are some initial notes on what it would take to port the Events and Services framework to the Teensyduino environment.
  11. Preliminary design review in mechatronics is an update on the progress of my design and a short summary of the 9 Nov class.  I also talk about plans to try bending PVC.
  12. LiFe batteries talks about the batteries I bought for the project and how I plan to connect them.
  13. Single-arm design probably won’t work shows that the geometry does not work out for the single-arm design I was considering to reach both targets.
  14. Bending PVC failed has a pretty self-explanatory title.  It wasn’t a complete failure, but I don’t think I can get the tight bending radius my design called for.
  15. Cat-toy ball track shows a different approach to getting a helical track.
  16. Large inductor revisited looks at using a larger inductor for the track-wire detector, to get a stronger signal.  It also includes remeasuring a street-find inductor that I have in my junk collection.
  17. Progress report on mechatronics updates my progress on CAD and software, plus my lack of progress on hardware.
  18. Events and Services Framework ported indicates that I’ve finally ported the Events and Services Framework enough to start coding the real robot.
  19. Another day fighting SolidWorks updates my progress on modeling the robot including a picture of the SolidWorks model!
  20. Tape sensors shows the testing I did for prototyping the tape sensors.  It turns out that digital pins suffice.
  21. Hardware obtained today lists the hardware that arrived today, with pictures of the threaded rods that will compress the layers of the robot to hold it together.
  22. Checking out the new gearmotors gives a very brief summary of crude motor testing for the new motors.
  23. Four tape sensors made shows four of the tape sensors soldered up.
  24. Track wire sensor discusses my disappointment that my attempt to make a more sensitive passive detector for the track wires did not work as expected.
  25. Track-wire detector sensitivity plots the sensitivity of an LC tank detector as a function of distance and provides a possible design for the track-wire sensor, using a shielded inductor in the feedback of an op amp to get more gain at 25kHz.
  26. First test cuts and progress report describes the first laser cutting for the robot, to check that the SolidWorks models were correct before cutting the robot itself.  It also mentions some change in thinking about motor control circuitry.
  27. Change to track-wire amplifier discusses my, hopefully final, design for the track-wire sensor, and possible reasons I’m so far behind schedule.
  28. Pololu MAX14870 H-bridge with current limitation gives the results of using the current-limiting capability of the MAX 14870 H-bridges—it looks like I won’t need voltage regulators for the 6V motors.
  29. Bugs found in first assembly of robot shows the first prototype of the first two layers of the robot.  It is almost, but not quite, usable for testing the sensors and motor drive.
  30. Soldering failure describes my most frustrating day so far in mechatronics—I spent hours, got nothing done, and didn’t even have the benefit of learning something new.
  31. Power board soldered shows the fixed board (with the oversize 18-pin socket left in place).
  32. More SolidWorks shows the Nov 28 SolidWorks model, and a circle test cut that I did for checking the kerfs of the laser cutter (and for checking what size hole to use for screws).



Create a free website or blog at

%d bloggers like this: