Close
0%
0%

TinyBot: Robot Family Development Board

Shlonkin's wonderful tiny robots get their own PCB and on board battery charging.

Similar projects worth following
The idea here is to create an educational development platform for embedded computing and simple robotics. Shlonkin created a family of tiny robots (https://hackaday.io/project/581-Tiny-robot-family) each with different types of sensors. Here we take this idea and create a PCB for it, and add on-board battery charging via USB.

The board has prototyping areas on it with power rails. This enables adding whatever sensors or actuators you want endow each robot with its own capabilities.

A few surface mount components were needed to keep size down.

These could be used several ways. Students could be given bare boards to populate and then program. Or, boards could be pre-populated to allow focusing on the programming. Or something in between.

IMPORTANT: The male usb plug printed right on the PCB is for CHARGING ONLY (at 100mA), not programming.

Power: CR2450 size rechargeable lithium ion coin cell, 140mAh, 3.6V

Charging: MCP73831 charge controller, powered by USB (male usb plug printed right on PCB)

Locomotion: 2 pager vibrator type motors

Control: ATtiny85, programmed by an arduino and then inserted into socket.

Sensors: Only limited by your imagination. Photocells are one obvious starting point

Cost: Now that I have found a source for cheaper batteries (ebay! http://goo.gl/HYa7EU), the base robot without any sensors are about $9.80 per robot, plus shipping. Dirtypcbs.com ships for free, Mouser/Digikey/Newark do not (though they are most reasonable...10 tinybots worth of supplies costs $3 to $5 to ship in the US from Mouser). See below for details. Sensors would be another $1.00 or so depending on what you decide to add.

If this were scaled up to, say, a production run of 100 tinybots, the cost would come down to less than $6.50 per tinybot (again, not taking into account the cost of shipping parts from Mouser).

On the other hand, a number of these components are probably lying around your shop, and many of the rest could be obtained for free as samples, at least for a couple of robots' worth.

Current Schematic:

Current BOM: See Github repository (both csv and Excel formats), or the Mouser.com project page (http://goo.gl/kvc0AO). Note that the Mouser project page does not include the motors, PCB, or battery as these are not available from Mouser or are more expensive there (found a unique deal on ebay for great rechargeable coin cells, the motors are much cheaper if obtained through aliexpress.com, and obviously the PCB comes from the PCB house, in this case dirtypcbs.com)

PCB: And finally, here is what the next version of the board will look like. Actual size is 1.4 x 1.9 inches (3.5 x 4.8 cm).

  • Update and parting (?) thoughts

    Eric11/30/2015 at 04:40 0 comments

    I assembled a couple of tinybots from the latest version of the PCB, and it seems to work great! A few build notes:

    1. I am using slices of pencil eraser for wheels. The axles will press right into the eraser without any sort of pilot hole, but seem to grip pretty well.
    2. The latest PCB has solder pads for attaching the motors which works pretty well with plenty of flux and heat. Just make sure the motors are either perfectly level or slightly sloped down at the outside ends or else the eraser wheels (which are barely larger than these motors) won't touch the ground.Motor solderpad detail
    3. Don't forget to wire the motors in opposite polarity or the tinybot will spin in circles =). Since they are facing opposite directions, they need to rotate in opposite directions!

    At some point I would like to build a small army of these with different sensors, but I think for now I will move on to other projects (#pizero!). Here are a couple things I would add / modify for the next version if and when I (or you!) get around to it:

    • Smaller battery that nevertheless has sufficient output to drive the tinybot for a reasonable number of minutes.
    • On/off switch!
    • Alternatively, On/Off/Program switch along with header for connecting to Arduino (running ArduinoISP sketch) for in circuit programming. The programming circuit is pretty simple: http://www.instructables.com/id/ATtiny-Programming-Shield-for-Arduino-1/
    • Protection circuit that "debounces" charging voltage when first plugging the tinybot into USB port (I have fried a tinybot's charging circuit due to the rapid "flickering" that occurs as you insert it).

  • Updated PCB design

    Eric12/01/2014 at 09:53 0 comments

    I have updated the PCB design to address the following issues:

    - Custom Eagle library I created for the battery holder had holes that were too small.

    - Wrong footprint for the mosfets--made it harder than necessary to solder

    - I added some solder pads on the under side for potentially soldering the motors (or even motor mounts) directly onto the board (if successful, that would mean no more hot glue!)

    Note that these HAVE NOT BEEN TESTED YET...design is at the board house (using dirtypcbs.com again), and should be in my hands in a few weeks (went with the free shipping this time -- Hong Kong Airmail).

  • 11/15/14 Not dead yet

    Eric11/17/2014 at 03:20 0 comments

    Sorry for the lack of updates. <excuses> insert usual excuses here </excuses>. Since my last update I have identified a couple bugs in the board...most notably that the holes are too small for the battery holder, and drilling them larger breaks one of the traces that runs next to it. I will update the gerber files and post them here in the next week or two. Also still thinking about the ideal wheels/grippers for these guys.

  • 8/12/14 It's Alive!

    Eric08/13/2014 at 02:55 0 comments

    PCBs (12 of them!) arrived from dirtypcbs.com, they look great!  A couple of issues to resolve...got the hole sizes wrong for the battery holder so needed to re-drill.  Drilled through a tracing so had to add a jumper.  But after that they work!  Will update eagle files ASAP.  

    The main issue now is motor mounts.  I am using the hot glue method at the moment.  But if suitable wheels could be found (see for example ZaidPirwani's comment down below) then we could look at a clip or other method for mounting the motors parallel to the board. 

  • 8/8/14: PCBs on their way

    Eric08/08/2014 at 14:34 0 comments

    First batch of PCBs are manufactured and are on their way from the PCB house.  Should be here next week!  All other components are in hand and ready to go.  In the mean time, I've been studying youtube videos on hand soldering SMD components.  Here's my favorite: https://www.youtube.com/watch?v=5uiroWBkdFY

  • 7/28/14 Cheaper batteries!

    Eric07/28/2014 at 05:45 0 comments

    Finally found (on ebay, of all places) a source for cheaper rechargeable lithium ion 2450 size batteries.  At 95 cents each, that is less than 1/2 the cost of prior source: http://goo.gl/HYa7EU, and brings the project cost below the sacred threshold of $10 per tinybot (not including the cost of component shipping from Mouser, although even then the cost would only be a hair more than $10 if you build 10 at a time).

  • 7/26/14: Updated BOM, Mouser.com project page, etc.

    Eric07/26/2014 at 03:57 0 comments

    I created a Mouser.com project page to facilitate ordering of the parts for this project: http://goo.gl/kvc0AO. Caveat emptor, I have tried to make sure the parts listed there are correct, but have not yet placed the order myself.

    Note that, as mentioned in the details section above, the Mouser project page does not include the items that cannot (or should not, for price reasons) come from Mouser.com.  I.e., the PCB, the battery, and the motors come from elsewhere.  (See updated BOM in the Github repository for details.)

    Note also that I am not partial to Mouser...it just so happens neither Newark nor Digikey have the requisite battery holder in stock, and to control shipping costs in makes sense to get everything from one supplier to the extent possible.  (I still use aliexpress.com for the motors since they have them very cheap there and free shipping, and Ebay since that is the cheapest source for the batteries, and the seller ships for free also.)

    I would like to find an inexpensive rechargeable coin cell with solder tabs with reasonable discharge capacity. The solder tabs would enable a smaller footprint. 

  • 7/25/14 Mistakes and first PCB order

    Eric07/25/2014 at 05:43 0 comments

    Ooof.  Caught a couple schematic blunders on the mosfet wiring for the motors.  Corrected the schematic and board, and update github repository.

    And...ordered first patch of PCBs from dirtypcbs.com!   10 boards for $14 (although I paid extra for faster shipping).  Should be here in a week or two.

View all 8 project logs

Enjoy this project?

Share

Discussions

jacksonliam wrote 11/22/2015 at 16:53 point

Great design, have you thought about making it USB programmable like the teensy / digispark? I guess it would need a bit more circuitry to enable the attiny to be powered by USB while the battery is charging though.

  Are you sure? yes | no

Eric wrote 11/30/2015 at 04:28 point

Yes, thought about it and still thinking about it =).  One option would be to add a switch for "programming mode" which would isolate the ATtiny and a little header for the programmer (I use the ArduinoISP sketch to program the ATtiny using an Arduino and a simple shield similar to this: http://www.instructables.com/id/ATtiny-Programming-Shield-for-Arduino-1/.  There aren't many wires so it would not be difficult to do it "in circuit" with aforementioned switch to protect things.  Things to think about for version 2.0.

  Are you sure? yes | no

ZaidPirwani wrote 12/02/2014 at 16:21 point
trying another today, but this time, using this simple Opamp schematic... http://www.ermicro.com/blog/wp-content/uploads/2011/01/op-amp_lfr_05.jpg

but the same tiny motors and the same Glue Gun Shaft Wheels...
This time, I put the Motor on the Vero board and then used a WRAPPING WIRE to strap it tightly to the veroboard, lets see if this thing works, last time I ahd used small cable ties to hold the motors, they are still holding great, but require a small drill to drill holes for the cable tie

  Are you sure? yes | no

Eric wrote 12/03/2014 at 04:35 point
Nice. Opamp driving motors is an interesting idea--could use a dual opamp in DIP 8 package thus avoiding surface mount components. In the current version of the PCBs I added some bare copper to the underside to allow soldering some sort of clip for the motors--or the motors themselves. Next time I will also consider putting a hole or two there for small zip ties as an alternative mounting strategy.

  Are you sure? yes | no

ftregan wrote 08/27/2014 at 15:41 point
Hi. Can you please tell me what is the diameter of the drill bit used by dirty pcb ? apparently you can measure it at the corner of the usb connector.
Also, how did you do to have a precise width for the usb connector ? Did you just draw the wire where you want the edge of the pcb to be, or did you have to offset the wire to take into account the router bit diameter (and specify the router bit diameter with by setting the width of the wire) ?

I'm trying to make a pcb with precise external dimensions and will certainly use DirtyPCB :)

Thank you,
Fabien.

  Are you sure? yes | no

Eric wrote 09/04/2014 at 18:55 point
Sorry it took so long to reply. I am not sure on milling bit diameter...the radius between the usb plug and the body of the pcb I put there myself on the board outline layer (to prevent cracking of the board at the corner), so the bit is smaller than that.

Pretty much the board is the dimension I asked for...they mill right up to the board outline. I did not offset at all for the milling drill size. I haven't taken out the micrometer...but compare the pcb image derived from the gerber files above to the photos of the finished board.

The pcb plug itself is a "part" for which you can get the eagle library from sparkfun (iirc).

  Are you sure? yes | no

ZaidPirwani wrote 08/07/2014 at 07:09 point
this is what I did yesterday: https://github.com/Ejaad/tiny85Bots

  Are you sure? yes | no

Eric wrote 08/08/2014 at 14:22 point
Nice! Where did you get those wheels? My first batch of PCBs are enroute and should be here next week.

  Are you sure? yes | no

ZaidPirwani wrote 08/08/2014 at 15:59 point
the wheels are slices of GLUE GUN ammo.... I drilled in the center with a 0.5mm drill and then just pushed in the motor...

the wheels are working great, but I got the wrong MOSFETs and no battery, I tried with direct connection and it ran a bit too fast.

now battery is here, am waiting for MOSFETs and will try again tomorrow.

  Are you sure? yes | no

ZaidPirwani wrote 08/07/2014 at 05:04 point
I just tried to make one on a prototype board yesterday and got the MOSFET connections wrong... so being an engineer does not help much here.. :P

but, I will look at it.... though am probably not as experienced as most people around here.. :)

  Are you sure? yes | no

ZaidPirwani wrote 07/24/2014 at 03:37 point
well... anxiously awaiting your first tests... I too was inspired by the tiny robots family project and ordered all stuff of it... but now thinking to make PCB or to make on vero...

  Are you sure? yes | no

Eric wrote 07/25/2014 at 19:33 point
Thanks! Since you actually know what you are doing (as an electrical engineer) as opposed to me (an intractable fiddler who is making it up as I go along), I would LOVE your input on the schematic and board (above, or the eagle cad files on the GitHub repository).

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates