Robot Contest PPE’13 Update – New Sumo Contest

Well, I’ve updated my Line Follower Contest Page (http://projects.granzeier.com/line-follower-contest-ppe13/.)  In addition, we have added a Sumo Contest to PropellerPowered Expo ’13.  You can find the Project Page for that contest here: http://projects.granzeier.com/sumo-robot-contest-ppe13/.  There are several prizes for the winners of these events.

These should make for some pretty entertaining events at the PropellerPowered Expo (http://www.propellerpowered.com/expo/.)  We always have a lot of fun at these Propeller Events and this year should be bigger and better than ever!  Jeff (Old Bit Collector on the forums,) has put a lot of time and effort into these and it shows.  You have heard me talk about these events earlier, but I would like to take this opportunity to publicly thank Jeff for all of his time and effort.  He has also been a friend and mentor to me in helping me with my business (plus I intend to pick his brain more at this year’s event too. 😉 )

Line Follower Contest – PPE’13

I volunteered to set up a robot contest, or two, for the Official PropellerPowered Expo (http://propellerpowered.com/forum/index.php?topic=483.0) coming up this summer.  The expo is an event that I have been attending for several years and I really enjoy it.  If you live anywhere within range of Wooster, OH (about central-eastern Ohio,) you would probably really enjoy it.  I wanted to put some of these ideas out for any of my other readers, for comments.

My first thought was to have a “There-And-Back” contest (modelled after ChiBot’s TableTop Contest – http://www.chibots.org/?q=node/1209).  This is a really simple contest and would be great for absolute beginners.  One of my projects, from a few year ago, was to write the manual for the ChiBot’s TableTop ‘Bot, made by Eddie Wright (http://www.wrighthobbies.com/ – I believe that it has reached End-Of-Life and is no longer being sold, however check out his other products.)  However, this type of contest may be too simple.  We will see whether, or not, we decide to do this.

Secondly, it seems like everyone enjoys watching others bashing their heads together (just think about all of us who like football ;) .)  So, I was thinking that a mini-sumo contest may be nice; let the robots do the bashing. :P  [Mindrobots], from the PropellerPowered forum has offered to bring in a mini-sumo ring for this type of contest.  As soon as he is able to get me the specifics of his ring, we should be able to put up a page about that contest.

Third, I wanted something that could show a bit of brain-power.  Maybe a line-follower, or a wall-hugger, contest?  We will be taping together several pieces of poster-board, or foam-core board.  Then, we will put some black electrical tape down for the actual course. We now have a Page (http://projects.granzeier.com/line-follower-contest-ppe13/) set up for this event.

 

Robot Contests

The Unofficial Propeller Expo – NorthEast (now called the PropellerPowered Expo – NorthEast – http://forums.parallax.com/showthread.php/146027-August-17-2013-NE-Ohio-Put-this-in-your-calendars.?highlight=upene) is coming up fast!  When registration opens, you can register at: http://www.propellerpowered.com/expo/.  My son, Peter, and I have attended nearly every one of these (missed the first one, sniff) and have even made one of the Chicago expos.

This year, I am planning on bringing the materials to build a TableTop ‘Bot course for a There-And-Back contest.  Several years ago, I wrote the construction manual for the TableTop ‘Bot manufactured and sold by Eddy Wright (http://www.wrighthobbies.com/) for the Chicago Area Robotics Group (http://www.chibots.org/.)  This robot was designed to allow a beginner to easily get involved in robotics, and to compete in a simple contest, called the There-And-Back contest.  The basic idea of this contest is for a robot to start at one end of a course, navigate it’s way down the course to the other end, and then back to the starting point.  I put up a page with the basic description and rules at: http://projects.granzeier.com/there-and-back-robot-contest/. I’m hoping for some fun at the PPE-NE this summer.

Take a look, and let me know what you think.

Merry Christmas

Joy, Peace, Giving, Food, Sharing, Warmth…

What is the true meaning of Christmas?

How often have you heard it said “that is the true meaning of Christmas”?  Well many of them are wrong!  The true meaning of Christmas is a God who loves us so much that He sent His only Son to us.

Jesus came as a helpless baby (can you imagine holding God in your arms as Mary did?)  Jesus suffered the cold and heat, ridicule and torment, hunger and thirst… all for you.  He was told what to do and He did it without complaint.

When Jesus grew up, He taught the masses.  Many who came, came just to see what miracle they could see.  The leaders came to Him to harass, and discredit, Him.  No one really understood Him or truly believed.

Then, to pay the penalty for your sins, He gave up His life, stretched out His arms on the cross, and died – for you!  On the third day, He rose again to give you eternal life, if you only believe in Him.  Now, that is the true meaning of Christmas.

May God give you understanding of, and comfort from, the TRUE meaning of Christmas this year.

For more information on this, please click on the Good News For You link in the header of this page, or click here: http://faith.granzeier.com/good-news-for-you/.

School of Hard Knocks

It has been said that a wise man learns from his mistakes; however a wiser man learns from the mistakes of others.  I often tell people that the School of Hard Knocks has the highest tuition, but turns out the best graduates.  Well, I have some doozies, and we will take a look at some of them every now and then.  Hopefully, you can learn from some of my mistakes and not have to make all of them yourself.

I want to show you the layout of my first effort on the new Tiny2313 Experimenter’s System:

Purty, ain’t she?  This PCB provides a microcontroller, three LEDs, two push-buttons, a pot (variable resistor), a speaker, a photo-transistor and a thermistor.  Additionally, there is a diode to protect against connecting the battery backwards, and (with a 4-cell AA battery) the voltage drop will not take controller below it’s operating specs.  Also, notice that the LEDs have both ends available, so the student can learn that an LED can be connected to common ground (for an active high signal) or a common high (for an active low signal.)

This took several hours, first getting the layout correct and then the connections for the programmer cable.  I was especially proud of the idea of providing the option to draw power from a battery or from the programmer.  In addition, there are plenty of access points for ground and power available for the experimenter’s use.  All in all, pretty good – or so I thought at first.

Take another look at the board, when I started adding the components to it:

Notice the trouble yet?  No, well, here is another view:

Sorry about the quality of the photos here.  Anyway, if you have not noticed the troubles, take a look at where the speaker mounts, near the left side of the board.  The 2-pin female header mounts directly in front of the speaker port.  This is just to the right of the pot and just in front of the push-buttons.  Here is what I noticed only after I started mounting components: the speaker sticks straight up out of the board, and will block the push-buttons and crowd out the pot!  There are also a couple of other less prominent errors in this board: several of the components will not fit into their holes (the push-button’s ground pin does not line up with the hole for it – too close to the lead pins.) and some of the components are too close to their female headers – you cannot get both in at the same time.

Answer: build a mock-up protoboard:

What I did here is to print out a picture of the PCB (my CAD program allows a photo-view of the board, if yours does not, just print out the artwork.)  Take the printout from your CAD program and cut out about an inch beyond each edge of the board.  Take that paper and glue it onto a slightly larger-sized piece of foam board (you can get foam board in Wal-Mart in the office supplies section, or most office supplies, or crafts, stores.)  I used a cheap Elmer’s glue stick, but you can use any glue, just be careful that the glue does not wrinkle the paper – excess liquid glue can make the paper wrinkle.  Next take a safety pin and poke a hole through the skin of the foam board at every through-hole, and component-hole, in the printout.  Finally, insert one of each component into the foam board, right where it should go on the PCB.  This way, you can make sure that everything fits and also get a feel for the overall layout of the board.

You may notice that I made several changes in my experimenter’s system PCB layout.  I opened up the spacing for the push-buttons, moved the speaker to the rear of the board, and added a couple of servo ports.  Also, since the 2312 is, how should I put this? Analog-challenged, maybe?  I removed the pot (that freed up the room for the servo ports.)  I also moved the ground and +V rows of pins and moved them over to the right-side of the board, and also added a single pin for each set of holes.  This provides for a 1×10 header plus an additional pin that can be used to provide power to an optional solderless breadboard.

One other change that you may have noticed is that I changed the 6-pin programming port over to the more standard 10-pin STK500-compatible port.  In searching for suppliers, most of the 6-pin programmers that I found were more than the cost of the 10-pin programmers.  The choice was pretty clear, I could either change the programmer port on my board, or I could purchase the 10-pin programmers along with a 10-pin to 6-pin adapter. So…

Alas, in changing the programming port, I also introduced another bug.  Take a look at the left side of the left-most push-button.  You will notice that the trace for the MISO signal from the programmer port to the Tiny2313 chip actually touches the component hole for the female header.  I need to move the SCK trace down a bit to make room for the MISO trace to avoid the component holes there.

One additional change, that I am considering: since the 2313 does not have a real ADC (Analog to Digital Converter) on-board, analog input goes into an analog comparator.  This only compares the voltage of the analog input and gives a single-bit input to say whether the one input is above or below another analog input.  If I create a small (say 4-bit) resistor ladder for a DAC (Digital to Analog Convertor), then the output from that could be fed back into one leg of the analog comparator to then test the analog input and thus compute the voltage of the unknown analog input.  That seems to be the way to go for the next version.  Any thoughts from you?

Tiny 2313 Experimenter’s Board

There is a new project on which I am working.  For years, I have been taken with development kits.  Since money has always been pretty tight, most of my interest has been in the lower-cost kits.  Also, as a teacher, I have worked for decades to try to teach beginners about electronics, robotics and computers (our tagline reads: Helping to Build a Better Engineer.)

This new project is a very low-cost dev kit to introduce students to microcontrollers using Atmel’s low-end ATtiny2313.  This is a chip that I often find myself choosing when I need a low-cost controller for a project.  The kit is designed to provide much of what an engineer needs to create a new project.  There are pushbutton switchers, LEDs, connectors for servo motors and a speaker.  The board even has a light detecting phototransistor and a thermistor (I may have gone too far with that, since the 2313 has no real analog input – we shall see about that in beta testing.)  All of this fits in a tiny 2″ by 2″ PCB and can mount on a 4-cell AA battery box (with room to spare.)  The target price for this board is around $30-$50, with a beginner’s introduction text included.  There may also be an offer for the bare board for those who would like to roll-their-own.

Basically, I wanted something that is portable, like my Pocket Development Kit (http://www.instructables.com/id/Build-a-PDK-Pocket-Development-Kit/,) and with all the peripherals needed to get started and learn.

Here is a picture of the Tiny2313 Experimenter’s Board, as it currently exists:

As you can see, the board uses a standard 10-pin STK-500 programmer.  There are many of these around, and I am currently evaluating one that I may be able to offer for under $10.  Also, since the STK programmer provides +5V, there is a jumper-switchable option to power this board from either an external battery (or power supply) or the attached programmer.

There is a reverse-polarity protection diode in-line with the battery input.  Yes, this will drop the input voltage by about 0.6V, but the Tiny2313V works just fine at those lower voltages.  This will affect the analog parts of the system, but that is something that I am still considering (also, we have a ‘X61 equivalent in development – the ATtiny26 family has several built-in real ADC (Analog to Digital Convertor) inputs on-board.

One thing that has yet to be determined is whether this is OK, as is.  With the Tiny2313’s analog comparator inputs (rather than true analog input,) the analog devices are only useful if the board has (or has access to) DAC (Digital to Analog Convertor) such as an R-2R circuit.  One change, consideration is whether to drop the servo motor connectors and replace them with a DAC, or to keep the servo interface.  This would lower the board’s value to robotics, but provide better analog capabilities.

Another possibility is to include a tiny breadboard and the resistors to create a simple R-2R DAC.  This would tend to lessen the all-included intent of this design – I really wanted something tiny that has everything needed to get started.  What do you think about these possibilities?  I am most interested in people who are wanted to just get started, or have taught these types of classes before.  Let me know!

UPENE-’12

A few years ago, I first heard about an Unofficial Propeller Expo which was to be held a few hours drive away from my hometown.  I had never heard about the Propeller, which turned out to be a souped-up microcontroller, but the idea of a get-together to discuss electronic things grabbed my attention.  Well, I decided that I was going to go to this thing; it was great!

The Propeller microcontroller is an 8-core (yes, there are a full 8 computers in that chip) controller which runs at 80MHz!  This is some pretty impressive stuff to a guy who got started with a 1950’s mainframe, that took up a large room and I actually troubleshot and repaired flip-flops and individual gates.  I had some experience with some of the smaller AVRs and with the BASIC Stamp I (turns out that the Propeller is manufactured by Parallax, the same people who created the BS-I.)

So, anyway, while surfing for material about my favorite subject, I ran across the Propeller Forum (http://forums.parallax.com/forum.php) and a post by Jeff (Old Bit Collector.)  He was talking about how he started the expo as a way for a few people to get together to discuss cool things that they had done with the Propeller.  After posting a notice for people near his home town in Ohio, the thing kinda got away from him and he had nearly a hundred people show up!  I came in a short time before the second Unofficial Propeller Expo in Ohio and was able to make it – I have not missed one (at least in Ohio) since then – and I actually made it to Chicago once (hope to make the Chicago expos more in the future.)

A picture of myself and my son (green shirt) sitting at our table at the Propeller Expo.

Prior to going to this expo, I decided that I needed to get to know about the Propeller, so I ordered one and read up on it.  I perused the forums and read everything that I could find about that chip.  At the expo, I actually got one of the Propeller Protoboard development systems (http://www.parallax.com/Store/Microcontrollers/PropellerDevelopmentBoards/tabid/514/CategoryID/73/List/0/SortField/0/catpageindex/2/Level/a/ProductID/423/Default.aspx) and got a chance to play with it – I was right, this is a really cool product.  Since then, I have gotten several more Propeller Products, taught an Intro course at one of the Expos and have developed a few products for the Prop.  I am now finishing up an Intro Textbook and parts kit, which I hope to take with me to sell at the expo.

If you live near Ohio and are able to attend (http://forums.parallax.com/showthread.php?141203-NE-PROPELLERHEADS-UPENE-August-25th-2012-REGISTRATION-OPEN), you will not regret it.  There are also annual UPEs in the Chicago area and in Rocklin, California, the home of Parallax.  It also looks like some expos may be starting up in Australia, Europe and maybe Japan (or maybe elsewhere in Asia.)

Hope to see you there.

(By the way – more pictures will be coming soon)

Product Testing

Having worked in different types of technical support, on and off, for many years, I enjoy reading the stories at Tech Tales (www.techtales.com.)  Recently, I saw a tale that has a direct bearing on our engineering practices:

Wrong Plug

Posted 04/01/2002 by Greg

I used to work for a large electronics retailer, selling TV’s and VCRs. Basically, salesmen were responsible for doing phone support for their customers (if a customer called us instead of the retailer’s toll-free help line) since we got dinged if a customer returned a product we sold them (both a loss of commission and a negative impact on our performance rating).

I had one customer issue that was a bit difficult.

For some reason, their VCR clock kept re-setting itself to blink “12:00” overnight as if it had lost power. Instead of calling me, they called Circuit City’s help line and were told to return it because it was defective.

I spotted them when they brought it back in and asked what was wrong. They told me and I asked one simple question: “where do you have it plugged in?” They said “we plugged it into the outlet in the back of the cable box.”

Sadly, the cable boxes used in that area had a fun little trick. When you shut off the cable box, it cut power to the outlet, cutting power to the VCR every time they turned off the cable box. They were smart enough to set the clock on their VCR, but this power loss kept making it blink “12:00”, which was very frustrating for them.

They’d plugged the VCR into the back of the cable box because they didn’t have a spare outlet.

I sold them a power strip for $8, had them unplug the cable box from the wall, then plug the box and VCR into the strip.

Problem solved. And how did I know to ask this question? Because a few months earlier I’d plugged my bookshelf stereo (poor man’s home theater system) into the back of the cable box and watched it reset its clock a couple of times before I figured out why it was happening.

So was my customer a dummy? I never think someone’s stupid because something that’s obvious to me isn’t obvious to them (i.e. I figured out the cable box problem without help when it happened to me, but they didn’t). If that was the case, I’d have to consider myself a complete retard every time I needed the expertise of a lawyer, doctor, plumber…

I’d say the idiot was the guy who designed the cable box.

Even the best tech support is no substitute for a well-thought-out product. If every designer/manufacturer of hardware or software had to beta test it on their parents or grandparents before releasing it, we’d have a much better world all around.

http://www.techtales.com/tftechs.php?m=200204#6076

Notice the last paragraph; Greg is absolutely right!  When you design a new product, don’t ignore the testing.  Your new product will undergo two different levels of testing: Alpha and Beta.  These levels are named for the first two letters in the Greek alphabet.  The first level of testing (Alpha) is the testing that you (and your team) perform on your new product.  After the Alpha testing is complete, but before you release your beast into the wild, you will need to do some Beta testing.  This is where you get hold of outsiders and have them test your product.  You use others because you cannot anticipate every way that a customer can (ab)use your product.

Ideally, your Beta testing program will encompass several steps.  First, you will want to select a couple of other engineers, or other technically oriented people (but make sure that the testers were not involved in the design of your product – that would still be Alpha testing) and ask them to check out your product.  Give each tester one of your products and ask them to spend some time with it and to list any problems or troubles and any questions that they come up with to which they cannot find the answers in your documentation.  After the Beta-1 testing is complete, compile the lists from all the testers and correct each issue, either in the product’s design, or in your documentation.

After you have correct each issue found by your technically oriented testers, hand out a couple of products to some decidedly non-technical people.  These could be friends or relatives, non-technical students or nearly anyone else who may want to purchase your product.  Children can be really good at finding weaknesses in a product (as long as this is an age-appropriate product.)  These people will test your product in ways never imagined by technically-oriented people.  They will find ways to make your product fail that no self-respecting tech would try.  Again, have each tester write a list of troubles and questions and resolve each issue in your design or in your manual.

It is traditional to pay Beta-Testers by providing one of your final products as a thank you gift for their work.  By following this test procedure, you can correct issues like the cable box outlet which kills power to the plugged in appliance before they make a customer angry.

 

The Pocket Development Kit (PDK)

Been quite a while.  I’ve been working on getting the “behind the scenes” stuff going for the company.  There sure is a lot to do to be ready to sell electronic kits and components.  I can sell, but there is still some more work to do.

A Pocket Development Kit (PDK)

Instructables (www.instructables.com) recently had a contest for designing a kit.  Actually, since they describe themselves as the “world’s largest show-and-tell”, the contest was to write an instructable telling how to put together a project, which was designed to be made into a kit.  Well, since this is right up my alley, I wrote an instructable on building your own PDK (Pocket Development Kit.)  You can find it at: http://www.instructables.com/id/Build-a-PDK-Pocket-Development-Kit/.  This is a pretty versatile tool; you can use pretty much any controller that you wish, as long as it can have a boot-loader installed – I describe a boot-loader in my instructable.

This will be our newest product – as soon as I find a good source for “Altoids”-style containers.  It looks like I have found one, I am going to try to get hold of a couple of samples to try out.  If things go well with those, then I will add the PDK to our store and let you know.

With a nearly unlimited number of controllers available, many of which can be utilized in this PDK, I will need to choose which ones to supply with this kit.  Right now, I am thinking of having, maybe, three or four different versions:

  • A mid-range Atmel, such as the Tiny2313 (I really like that chip)
  • A Parallax controller, such as the Propeller or BASIC Stamp (or maybe both)
  • A higher end Atmel, configured as an Arduino (as in my instructable)

Whether you build your own, from my instructable, or wait and order one of my kits, just go ahead and build one.  Like I mention in my instructable, all new products are designed on development systems that share many characteristics with this PDK, also there are some advantages to getting filthy rich.  A great set of parts can be found in my Digital Interface Pack (http://zenstore.granzeier.com/index.php?main_page=product_info&cPath=1&products_id=6) and my Analog Interface Pack (http://zenstore.granzeier.com/index.php?main_page=product_info&Path=1&products_id=7.)  These packs were both designed to provide the experimenter with the most common required parts to get up and running in no time.

LuanchPad Protoboard Booster Revisited

Well, I finally received the PCBs for my LuanchPad Protoboard Booster this morning.  They look pretty cool, and are ready to be shipped.  Unfortunately, I had some troubles with my source for the pass-through female headers.  That only affects some of the boards, the rest will be sold without any pass-through headers; you will use the headers that come with your LaunchPad.  Take a look at my project post about the Booster pack (http://projects.granzeier.com/2011/12/30/launchpad-booster-protoboard/) and look at the board without the solderless breadboard.  This is what is now available, you can pick up one (or ten) here: http://zenstore.granzeier.com/index.php?main_page=product_info&cPath=1&products_id=8.  I have also dropped the price by 33% from now until the end of May – enjoy!  Hopefully, I will be able to order the pass-through headers and offer the sister product for solderless breadboard development soon, but in the meantime, the protoboard booster is a pretty cool product, if I may say so myself. 😉

In addition, I have been spending a lot of time working on starting up the Pittsburgh Computer Museum.  Take a look at that blog at: http://www.pghcomputermuseum.org/ to see what is coming.  We want people to be able to access the exhibits whether they are here in the Pittsburgh area, or not.  Sometime soon, some (hopefully many) exhibits will be accessible through the Internet, using Telnet or some other protocol.

We are currently looking for sponsors and a physical location to host the museum’s exhibits.   Please pray for us or wish us luck with this effort.  Thanks.