Circuit Classics’s Homage to Forrest Mims III

Electronic Hobbyists (at least those of us of a certain age), have undoubtedly encountered one or more of Forrest Mims III‘s wonderful introductory books on electronics, probably through their local Radio Shack. According to Wikipedia, Radio Shack commissioned 36 books from Mims between 1972 and 2003 (and have continued to carry several of his books). His books had a unique style, with hand-printed text and schematic diagrams, written using a mechanical pencil, as shown in the figure below:

Star Simpson’s Circuit Classics project brings three of his circuits to life in simple, elegant, well-crafted kits. The three circuits are a dual LED flasher, a stepped tone generator, and a bargraph voltage indicator. Each is a kit consisting of a blue circuit board and the parts to solder onto the board. The front of the board has a copy of the Forrest Mims’ hand drawn circuit diagram, and the back has a copy of his handwritten description of the circuit.  Also included is a copy of his signature. The kits are very well done, with a slotted wooden base for display and even four rubber feet to either use on the wooden base or on the bottom of the board if you prefer.

I purchased and put together the dual LED flasher kit. The kit is an easy to solder kit for beginners, consisting of a little over a half dozen through-hole parts to solder. It would be a good kit to give to a beginner, or (like me), to someone who has fond memories of getting started with one of Mims’ books, and likes the homage. Below is the front of the finished kit:

As mentioned above the back has a copy of Mims’ original hand-lettered circuit description. the circuit can either be powered from coin cell batteries using the battery holder on the bottom right, or by clipping power leads to the two copper corners.

Reverse side of the Dual LED Flasher

As of this writing, Mims is still going strong, conducting research and publishing books and articles in Make magazine. Many of his books are available on Amazon and you can learn more about him at his website: http://www.forrestmims.org/.

The Circuit Classics project was fully funded Crowd Supply project, and the kits can be ordered through Crowd Supply.

 


Review and Build Report: MAKE Rovera 2WD Arduino Robot Kit, Part 2

Back to robotics! I dug out the Rovera 2WD robot that I started reviewing awhile back, added the center IR emitter/sensor and moved the left and right sensors closer to the middle, so it would be in line-following mode and loaded up the line following code. In order to have a track to follow, I printed out the pdf template patterns that Parallax has made available for their line scribbler robot and taped them down to some particle board. The first runs went quite badly, but after adjusting the damping variable in the provided code (the proportional response), and adjusting the width of the sensors and the run speed, it almost works:

As you can see, it navigates most of the course, but fails at the tricky sharp multiple curve at one corner of the track.  You can also see that it wiggles a bit going straight down the track. I need to check it out more, but it also seems to be more sensitive and react more strongly to left than to right turns.

So, while I’ve got some work to do, I’d say the Rovera 2WD robot also makes a nice robot to experiment with line following.  The provided code uses proportional control, but there’s no reason that you couldn’t add PD or full PID control logic, or drop back to bang-bang control to see how that works. The three sensors are fully adjustable in terms of lateral spacing, and you can also adjust the height if you want.

There’s also a modified version of the line-following code that transmits key variable values out while the robot is running, and a Processing program provided to graphically display the results, so that one can monitor the outputs of the sensors and the motor settings (or modify the code to track any other variable you want).  That’s part of my next step. I’ve got the Processing code up on a laptop.  I’m going to replace the complex curve with a simple one, and run the robot in some simple clockwise and counterclockwise loops to see how it behaves and see if it’s the motors or the sensors that seem to be generating the asymmetric behavior.

So, all in all, I’m quite happy with the Make Rovera 2WD kit. I’d recommend it for someone who has some experience with programming and isn’t afraid to do or learn some simple soldering. It also has a Ping ultrasonic sensor, which I’ve used on another robot, but not this one yet, so I can’t report on that aspect.

Side notes:

  1. The kit comes with an Arduino Leonardo, which many report having trouble getting uploads to work reliably on. I’m one of those. What’s working best for me is to hold down the reset key while launching the upload, then releasing the button immediately.  I think they may have been better off going with a Uno.
  2. The book doesn’t tell you to move the library functions into the libraries sub-folder in your Arduino sketchbook. I hadn’t realized that’s where they should go, so when I went from 1.0.4 that I’d been using to 1.0.5, the new version of the Arduino IDE didn’t know where to look for the robot libraries, and gave error messages.  A simple fix, but I see from various online forums that I’m not the only one who got caught by that on various projects.
  3. You can get the robot online through the Make Shed store, but also, if you have a MicroCenter near you, they’ve started to carry a lot of electronics kits, and I found mine at my local MicroCenter. Always nice to be able to give some maker business to local brick and mortar shops.

Review and Build Report: MAKE Rovera 2WD Arduino Robot Kit, Part 1

I picked up the MAKE Rovera 2WD Arduino Robot Kit the other week and have been putting it together and checking it out.  The kit comes with the book Make an Arduino-Controlled Robot that has the directions for construction and multiple projects (e.g., line following, edge detection, obstacle avoidance, etc.).  There’s also a very similar 4 wheel drive kit that uses the same book, Arduino, motor controller, etc. 

IMG_0397

There’s code you can download from the net for each project, and the author walks through and explains the code in the included book.  I like that the author talks about good practices like modular development in the book, and explains some of the nuances of using global variables with tabs when using the arduino IDE.

The kit’s primary components are the robot chassis, motors, and wheels from DF Robot, the Adafruit Motor Control Shield kit, a servo and Ping ultrasonic sensor, some IR sensors, and an Arduino Leonardo.

The kit assembles easily (but see “issues” below).  Certainly it takes less than a day, and most of that is soldering the components and connectors on the motor shield.  As someone who hasn’t done extensive soldering, I can say that soldering the parts on the motor shield kit was not difficult.

IMG_0399

The physical assembly was even easier.  I wasn’t sure of the best way to connect the sensors to the motor shield.  The kit provides ribbon cable and some connectors (and the wrong type of prototype board that doesn’t match the strip board in the instructions).  I decided the best way was to put together some 3 wire connectors using pre-crimped wires and 3×1 connector housings, as shown below:

Cables I substituted to connect the IR sensors.

Cables I substituted to connect the IR sensors.

At first I thought I’d just use some PWM cables I had lying around, but the positive and negative terminals are flipped between the IR sensors and the slots on the motor control shield, so you need to make sure to wire the connectors correctly, however you do it.

The Leonardo arduino board can be a bit ornery when first loading drivers.  I had no trouble on one of my PCs, but I had to manually load the drivers on an old laptop (even though it’s running Windows 7.  That’s not any fault of the kit, there’s a lot of discussion on line about this issue with the Leonardo board.

Once you have the robot assembled for the first time, you can run a simple test program that spins the robot.  That verifies the basic functions.  The next program in the book, the HelloRobot program, fully tests out the motor controller,

The assembled robot.  Just need to connect the IR sensors and it's ready to test.

The assembled robot. Just need to connect the IR sensors and it’s ready to test.

IR sensors, etc., so it’s a good test that you put everything together correctly.  I’m happy to report that once I fixed plugging the IR sensors into the wrong port (my bad), everything worked great.

That’s it for the initial build.  Part 2 later, when I start checking out the functionality.

Initial Bottom Line: I recommend this kit, provided you have at least a little hobby experience with electronics and arduinos — a “practiced novice.”  The troubles some have with a reliable Leonardo connection to a PC, the slight discrepancies between the kit as provided and the book, and the minor other inconsistencies in the book may, when combined, make this a frustrating experience if it’s a very first introduction to this world.

Issues:

  1. Be sure to check the on-line errata.  It’s hard, just from the description in the book, to see how to wire up the trickle charge capability for rechargeable batteries.  You can figure it out, but it’s not clear.
  2. The strip board described in the book to mount the IR sensors for line following wasn’t provided. Instead, another style of PC board was provided that doesn’t really work as intended.
  3. Read the book before building. In some sections, it begins to describe what seems like the next step, then after that step, points out it’s actually easier to do things in a different order!  That’s annoying.
  4. Not the kit maker’s fault, but it would have been great if the +, -, and signal pins on the IR sensor were in the same order as the female headers used on the Adafruit motor shield, since then you could just use a standard PWM cable to connect them.  Instead, the + and – are switched.  Instead, the kit provides ribbon cable, which, with some soldering, can be used.  I’m going to use some pre-crimped wires and crimp housings.
  5. It’s clear that the code, kit, and book went through some revisions during development, and not everything lines up. For example, one part of the HelloRobot section in the book says the robot will spin counter-clockwise when you trigger either IR sensor, while a page or two later, it says it will turn away from the triggered sensor (clockwise for left sensor, counterclockwise for right).  The latter is correct.  For software issues, when in doubt, read the actual code.
  6. If you’re looking to do navigation other than line following, you’ll need to be adding more to the robot.  There are no wheel encoders even for basic dead reckoning, so the robot has no idea where it is.  I’ve already played around with a home built robot that used a compass and wheel encoders, but no infrared sensors for edge detection or line following, so this was fine with me, but it’s something to be aware of.