Tutorial, tutorials

I have started  a page of links to maker skill tutorials published by others here. It is a highly curated list of tutorials that I feel are accessible to beginners, relevant to the kind of maker projects provided on this site, and from reliable sources. Moreover, the focus will be on basic processes and components of commonly used hardware rather than projects, complex systems, software, or specific brands. At the moment, it contains a good list for electronics. I will be adding other subjects over time.

A page of one-offs

The primary purpose of the robot50 site is to share full materials lists and build instructions for introductory to intermediate level projects that people can build. However I have built a number of one-off projects, mostly interactive toys for maker fairs, that I thought I would post in summary form. They have their own page and are presented for inspiration and with some cautionary notes on things that didn’t work out the way I planned.

drawtoy2

Desk Lamp 01

Just finished a can of nuts and a tin of Altoids? Then you have a good start on the materials to build this nice little desk lamp. This project is an easy and quick one, once you have all the materials together.

desklamp01 finished2The lamp makes a very flexible reading and task light that doesn’t take up much desk space. It’s numbered 01 because I intend to introduce additional functionality to the design in the future. For now however, you can build the basic model with the materials list and full build instructions posted to the Desk Lamp 01 page.

Bootstrap at Makercon

The first public appearance of Bootstrap in its final form was at the Makercon event outside of Tampa, Florida on April 18. Makercon is hosted by the Gulf Coast Makers and featured a variety of robotics exhibits and demonstrations, as well as other maker fair.

makercon_bootstrap

The event produced some useful feedback on the design of Bootstrap and a number of prospective builders identified themselves and received a small starter kit. I hope to feature some of their builds in future blog entries. In addition, the first prototype of Bootstrap ran around inside a small box from 9 am to 6 pm (using several sets of batteries in the process) without incident. So the event was a good test of the durability of the ‘bot. Under continuous motion the battery life with 3 AA batteries seems to be about 70 minutes.

The next public event for Bootstrap will probably be Orlando Makerfaire, scheduled for September 12 & 13, 2015. Partial kits will again be available for interested builders.

The Woodie

woodie2

Although most of the examples on this site show the Bootstrap robot with 3D printed components, access to a 3D printer is not required to build Bootstrap. By using a few extra purchased components and a little fabrication from scrap materials a fully functioning Bootstrap can be built without one. In fact the robot was designed around these widely available parts and materials and then 3D components were designed to mimic what could be purchased or hand cut.

Details of how to build Bootstrap without using 3D printed parts are provided on the Variations and Upgrades page. That page also includes downloadable templates for hand cutting the chassis or using a CNC machine or laser cutter to produce it. The extra components required are specified at the bottom of the Materials page. The example shown above (a mock-up with incomplete wiring) uses 6mm plywood for the chassis and aluminum flashing for the bumper. It also has the power switch  mounted on the left side, rather than the right, compared to the 3D printed version.

 

 

It Moves > Bluetooth

In addition to the Bootstrap robot being a learning platform in its basic form, it is also intended to be easily extendable with additional inexpensive sensors and modules. The first example of this is a Bluetooth adapter, which allows two-way communication with another Bluetooth enabled device such as a smart phone.

The HC-06 (and similar modules) is a <$10 Bluetooth module that is widely used with Arduinos. It provides a simple serial interface to the Ardiuno, using two pins for serial as well as power and ground pins. Here are a couple of pictures of a Bootstrap with a HC-06 mounted. The module is permanently soldered in, as are the power and ground pins. The serial (RX and TX) pins are connected by jumpers to allow the use of different pins in the future. The HC-06 does not need to be soldered on–it could be attached with tape and use jumpers for all 4 pins so that it could be removed later.

Bootstrap with a HC-06 Bluetooth module attached
Bootstrap with a HC-06 Bluetooth module attached

Bootstrap_bluetooth2

In the included video a simple demonstration of Bluetooth control of the robot is provided. A rough app was put together using MIT App Inventor that allows the phone to connect to Bootstrap and to control basic drive functions and the buzzer. App Inventor creates Android only apps, but many other tools could be used to create an app to connect to the HC-06.

The HC-06 has been tested at 30+ meters (100 feet) indoors, line of sight, with the phone app and was receiving a strong signal at that distance.

A more detailed presentation of setting up Bootstrap for Bluetooth control, including sample programs for two-way communication, will be provided on a Variations and Upgrades page in coming weeks.

It Moves

Here is a video of Bootstrap in its basic configuration. It is driving around the inside of a 24″ box using the ultrasonic sensor and the bumper. As you can see the ultrasonic does a good job of avoiding collisions as long as it faces relatively directly on to the obstacle. At very sharp angles it cannot detect the obstacle (because the sound waves are not being bounced back into the detector), and the robot has to depend on the bumper to find the obstacle and choose another route. This problem could be solved a number of ways: putting the ultrasonic sensor on a servo so it can track left and right, using more than one fixed ultrasonic, or adding some side facing IR sensors to the single ultrasonic. Any of these will be an easy option to add to the basic Bootstrap configuration.

Adventures in Ebayland

In order to keep the costs of Bootstrap to the minimum a lot of parts have been ordered from unfamiliar overseas vendors via Ebay. This has mostly worked out but there have been a number of problems from a wide variety of causes. I’m not intending to publicly recommend or condemn particular vendors (builders should e-mail me at bill@robot50.org for purchasing advice), but instead to illustrate some of the issues and problems encountered by moving quickly while keeping ultimate build costs low.

  •  When ordering parts from Asia for delivery to the US, delivery times are significant. My experience has been two to four weeks, mostly closer to four full weeks. In some cases even longer. The estimates provided for delivery dates are in a broad range and tracking is not precise. This poses a problem when trying to move quickly. Sometimes by the time a part arrived I had already moved on in the design and it was no longer needed for the project.
  • Some parts are of completely inferior build quality. I received a small batch of piezo buzzers (I think it was $1 for 5 buzzers). Half of them fell apart in my hands before I even tried to insert them into the prototyping board.
  • Some parts are assembled OK but are just not adequate to the task they are advertised for. My previous post discussing IR sensors provides an example. The sensor may be sold as “ardiuno/robot/smart car” suitable but that doesn’t mean that it is. Prior to starting work on Bootstrap I bought a similar kit that is widely advertised on ebay and elsewhere. It was horrible, even for the price. I tried to use just the wheels and motors on the first prototype but even that was unacceptable.
  • In a couple of instances the part was simply not delivered. In one case a US vendor offering “fast and free” shipping only delivered half my order after weeks and then insisted that I received everything I ordered. Ebay was very good about refunding my money in these cases and needless to say, I left negative reviews on these people.

In most cases I started by purchasing a quantity of one from a particular vendor and in all cases keep my expenditure to a few dollars until I had a good experience with them. Probably 90% of my transactions have gone off with no problems. So ebay is a great, if imperfect resource.

A pile of rejects
A pile of rejects

I surprisingly helpful resource has been my Amazon Prime account. Prime charges a yearly membership fee and items bought through Prime are generally more expensive than the same item bought off of Amazon without the Prime service. However I can get a $2.5 bag of 100 screws delivered in 48 hours with a Prime account. That really helps deal with the long delays using ebay and is a very good deal when the costs of the Prime account are spread over enough purchases.

Working under the “fail fast” approach, a bunch of the stuff purchased was the wrong size (I wasn’t paying close enough attention) or didn’t get used because the design changed. Again, spending a bit more per item to buy a small quantity up front and find out that it is a fail quickly has kept the costs of these mistakes (in money and time) very low. I am sure I will use most of this stuff for other projects someday anyway.

The Slot

The component on Bootstrap that has evolved the farthest is the chassis plate. At heart this is just a flat plate that everything mounts to.

Evolution of chassis design.
Evolution of chassis design.

It seems like a simple part to lay out. But little issues just keep popping up that need to be fixed with small changes. Planned right, these small changes can improve the final result instead of just being a hodgepodge of unneeded complexity.

The chassis started off a simple circle with straight cuts (as can be seen in the wooden example above) for the wheels. But that wasn’t going to work for the bumper that would come later. So a somewhat more complex shape was adopted.

About third time I had to cut the wires from the motors, battery box, and switch tabs below the chassis to the components above I realized that there should be a way to swap out chassis after everything had been soldered up. Not only would this help during development, it would mean that a finished bot could have a new chassis put on more than once with relative ease. Thus the slot was born.

At first the slot was a big ugly gash. It looked bad and it didn’t keep the wires in place very well. About that time I discovered the 1 amp slide switch I was using would overheat under full power draw. I switched to a 3 amp toggle switch–moving the hole in the chassis for the switch from a rectangle to a circle. Using that as an opportunity to rethink the slot, it dawned on me that I could move the slot for wiring to behind the hole for the toggle switch. The switch would hold the wires in place. If a new chassis is called for, loosening the one nut that holds the toggle switch in place allows all the wiring to come with it. No cutting and resoldering required.

The small round/oval hole in the front of the chassis remained at first as way to pass additional wiring through the chassis (jumper wires that would be attached with removable dupont connectors). Once I began to think about upgrade options beyond the basic model–such as servo mounted sensors–that small oval became the right size to mount a micro servo and still leave room on the sides to pass wiring through.

Introducing Bootstrap

The $50 robot project is far enough along to post some details on it and to rename it “Bootstrap,” reflecting its purpose to develop in the builder a set of skills that can be used to independently develop and build similar projects.

Over the next few weeks materials will be posted to the Bootstrap page on this site providing all the resources needed to build a Bootstrap robot for around $50.

A few pictures of prototype 3 are posted here, illustrating what will be the base model. Major features are very unlikely to change at this point. Its about 130mm (5″) in diameter. Some of the wiring in the pictures is a bit raggedy because it has been moved across a series of chassis–but all will be cleaned up in future versions.
Prototype 3
Bootstrap is powered by an Arduino Nano and the basic sensor suite for obstacle avoidance consists of an HC-SR04 ultrasonic sensor and a bumper connected to two switches. Many more sensors can added to this base configuration. The version illustrated here has a 3D printed chassis and other components. However access to a 3D printer is not required to build the robot. The chassis can be hand cut from plywood or other sheet material and the other components can be purchased or easily fabricated.

A few more details can currently be found on the Bootstrap page–with all the details soon to follow.
Prototype 3 bottom
I have had to make a series of decisions to keep the project within budget and to maximize the changes of success (and minimize the hassle factor) for the first-time builder. Three examples of these decisions concern voltage, fasteners, and component sources.

The simplest of circuits run at a single voltage. But as projects become more complex one quickly discovers that multiple voltages are required: common microcontrollers want 5 or 3.3 volts, sensors will take one or both of those, and motors can run in a range of voltages. In addition, batteries come in different voltages: Alkaline cells are nominally 1.5v, Nimh rechargables are 1.25v and Lipos are 3.7v. An early decision to simplify all this was to run everything at 5 volts. Bootstrap features a dc to dc boost converter that will bring battery power from about 2.5 volts up to 5 volts to an output of 5v at about 1 amp. This means 3xAA alkaline cells, 3XAA nimh rechargable cells, or single cell Lipo batteries can all be used. The switches, diode and other components are specced operate above an amp. The 5v output feeds an Arduino Nano, the sensors, and a set of N20 gearmotors (via a motor controller). A 3.3v output is available via the Nano, but everything is designed to run at 5v, keeping the circuits simple and parts count down.

Chasing down screws, standoffs, nuts, etc. in different sizes when you only need a few of each is a real pain.
Prototype 3 bottom
Not to mention the requirement of having the bits available to drill different sized holes when hand fabricating a chassis. Everything on Bootstrap attaches with m2x12mm screws and nuts. Everything.

Every component save one (the fabulous Protostack prototyping board) on Bootstrap can be obtained from multiple suppliers. These are all pretty common parts that can be purchased cheaply. I have developed design files for 3D printing all the parts that can be printed, which saves money. Yet a builder without access to a 3D printer will be able to obtain all the parts from reliable sources.

There are some compromises in these decisions. The 6v rated N20 gear motors are going to run a little more slowly at 5v on Bootstrap. Nimh batteries aren’t going to last that long before they need recharging. I had to play around with counter sinking and double nutting to get the 12mm screw length to work for everything. However I hope these decisions make building Bootstrap less maddening than it otherwise would be.

bill@robot50.net