uServotino robot controller


I made a new robot controller, called the µServotino, that allows a user to build a legged robot that uses up to 12 hobby servos.

Features:

  • 12 servo connectors, with power directly from the battery, digital pins D2-D13;
  • 6 sensor connectors, with regulated 5V, analog pins A0-A5;
  • UART connector, GND, Rx, Tx, plus adjacent 5V and GND for each signal pin;
  • ISP connector;
  • FTDI connector;
  • Reset button;
  • power switch and LED;
  • D13 LED, can be disabled by removing the J1 jumper;
  • screw terminal connector for battery;
  • low dropout voltage regulator, allows 6V batteries.

Here is the schematic:

Here is the PCB layout:

And finally, here are the pictures of the board:

Compare it with the µBotino:

Latter I’ll upload a picture with the board assembled and the first tests.

Ok, here’s the assembled board:

And here’s what you can do with it:

Tests after I’ll upload the bootloader…

About Gabriel (Ro-Bot-X)

Robots, nature, bees, and gardening, how do they mix together? After too much indoor activities one needs to get out and breathe! Harvest natural energy and create a little paradise. And ask the robots to help, of course.
This entry was posted in Arduino. Bookmark the permalink.

23 Responses to uServotino robot controller

  1. Canabots says:

    Hmmm…do I detect a quadruped or a biped with arms in the making? I noticed you grouped the servos into 3 in the final picture. =D

    • Ro-Bot-X says:

      Yep, a quadruped is in the making. But it will take some time until I’ll get the parts done. I’ll try to experiment with some wood sticks, see what I can come up to.

  2. Collin says:

    You have enough on there to have a quadruped with a nice arm (or two), I for one welcome this new robot overlord.

  3. aang says:

    can you explain about power components? what IC2 do you use? it’s just 7085? what battery do you use?

    I try use 2cells lipo, and 2x 7805 in paraller, but still not enough to operate servo for long time

    • Ro-Bot-X says:

      Servos need 6V to work at their max specs. You can use a 6V NiMH pack, or, if you want to use 2S 7.4V LiPo battery, the best way to regulate down to 6V is to use a uBEC (micro Batery Eliminator Circuit), that is a switching voltage regulator made especially for servo use in model planes. To regulate the 6V to 5V for electronics, I am using a Low Dropout voltage regulator, LM2940-5. A standard 7805 voltage regulator needs input voltage at least 7.2V, but at the moment the design of the board does not allow you to use different input voltages for the servos and electronics. I will fix this in the next version, that will be for sale, as this one has a few bugs I need to eliminate.

  4. Don McRae says:

    Hi, I have just got around to puting my Servotino board together. I have a question. Seem that I can not program the avr chip on the board. The IDE complains that it has the wrong comport but the IDE will not show me one it likes. I can program with an other board and I put the program servo test on the chip a funny thing happens when I run the servo test on a couple of continuous rotation servos that are connected to the serotino they run very fast much faster than on a Duemilanove board. Same program, same chip. Have you seen this?
    Don

    • Ro-Bot-X says:

      Hi Don, the Servotino has a few issues, one of them being not auto resetting. Here is how to do manual reset: you click Upload in Arduino IDE, then look for the sketch size message and when it appears, immediately press on the Reset button. If all else is good, the board can be programmed. Second issue is the capacitors for the crystal way too close tot the crystal case. When you solder them, you need to bend them down on the board, then solder the crystal with a little distance to the board so that the case does not touch the capacitor leads to short them. This may be a problem for your servos running differently on this board. Make sure when you compile/upload the code you have the proper board set up in Arduino IDE, (Duemilanove with ATmega328). If by accident you set a board that uses a 8MHz clock, the servos will also behave like crazy. Good luck!

      • Don McRae says:

        I built the board as shown in your photo with the capacitors bent down and the crystal high. I put a spacer under the crystal. I am sure the crystal is not touching the capacitor leads. Do you think the crystal is not the right one? No. 160ECSXR could get another one and try it.
        Tried your suggestions on the uploading even uninstalled the drivers and re inststalled them did not seem to work.
        The error messages:
        Avrdude:stk500-getsync();not in sync:resp=0x00
        avrdude:stk500-disable()protocol error, expect=0x14,rsp=0x51
        Any more suggestions? Could send the board to you to check out?

  5. Don McRae says:

    I got the servotino board working can program it and servos run slower or about the right speed. I had to change out the crystal. I installed the new one about one eighth inch or 3.19 mm above the board. All seems to be good.

  6. Ro-Bot-X says:

    Glad to hear you sorted it out and now it works. I have no idea what happened with that crystal, I have ordered 20 and I did not checked all of them to make sure they are up to the specs. next time I’ll be more careful. Although I have corrected the design for this board, I didn’t sent it out to the fab house yet. I was fiddling with the design to see if I can put a separate power connector for the servos and use the same DPDT switch for both. The idea was to be able to use a uBEC from a 7.4V LiPo to regulate the power to 6V for the servos and have the on board voltage regulator get power directly from the battery. So it’s still a work in progress…

  7. Don McRae says:

    We think that having a regulater for the servos is a good idea. Two power supplys is a pain. One power supply at 9 or 12 volts or whatever would be a lot simpler. One regulater for the controller and sensors and one for the servos would be good. We like to use rechargeable AA and AAA batteries. Even if the board was a little bigger would not hurt.

  8. Don McRae says:

    Hi’ Did you ever find what made the servino board so hard to program? My little Benito programs easy and they use the same programer.

  9. Ro-Bot-X says:

    Yes, Don, I have finally figured out that the 0.1uF capacitor in series with the FDTI connector and the Reset button is not actually connected to the traces because of a manufacturer error. All you need to do is connect one pin of the capacitor to the Reset button with a small wire and the other pin of the capacitor to the last pin from the FTDI connector. After that, everything works as intended. I am working on version 2 of the board to include a power switch for the servos to be able to send the pulse to them first and after that use a microcontroller pin to turn the power on. This way we can avoid the hard twitch that can destroy them. Also, I am not very fond of the screw connector for power, so I’m looking to find an alternative keyed connector that can support up to 10 amps.

  10. Don McRae says:

    Good! I knew you could do it! Send me one of the new kits as soon as you check them out.
    Good for You!!
    I will rework my board and let you know how it goes.

  11. Don McRae says:

    Yes! It programs ! Thank You. What a pleasure!

  12. Ro-Bot-X says:

    Glad it all works finally!

  13. Brian says:

    I was searching information about the 16Mhz (160ECSXR) oscillator that came with my Sanguino from Wolfden – AND – Found your efforts. BRAVO! Thanks for posting, designing, building and suppy. It is great to see creativity and action work. My ‘Good Find’ for today.

    • Ro-Bot-X says:

      Thanks for your comments! I am still working on this little board, I am not satisfied with it yet. I’m looking to integrate an electronic switch to turn on the power to the servos after sending the signal so they don’t jerk at start up. I was trying to use a MOSFET but it leaks power and the servos still move. Unfortunately I don’t work only on the uServotino. I finished redesigning the RBR (Robot Builder’s R-duino) and I sent the order for the first batch of 10 boards. They are in production and I expect them to arrive in about 3-4 weeks. So yeah, things are moving slowly in the right direction. I hope you’ll find more reasons to stick around for news.

      Cheers!

      • Brian says:

        Would a strategically placed cap stop your servo jerk? I am working on a timing circuit that would start when I turned on/attached the voltage source/power. I did not want that behavior. I wanted the timer to start when I pushed a button. My solution: I put an electrolytic cap across the Vcc and Gnd just after the switch. This filtered out the power/voltage surge/spike and now the circuit behaves as I wanted.

  14. Ivan Sazhnyov says:

    Hello, I’m from Russia and Siberia. Only you can help me. How can replace analog 160ECSXR? Thanks in advance.

    • Ro-Bot-X says:

      Hi Ivan,

      I’m not sure what you mean by analog 160ECSXR. I have a 16MHz crystal in my kits that has these markings. Find any 16MHz crystal in your local stores and use that if that’s what you’re asking. You can also use a 16MHz ceramic resonator with my boards, there is a middle hole for the ground pin. The ceramic resonator is less precise and has built in capacitors, so external 22pF capacitors are not needed.

      Cheers!

  15. Ivan Sazhnyov says:

    Thank you!

  16. Ivan Sazhnyov says:

    Thank you. I wanted to ask what can be replaced 160ecsxr? From your posts, I realized that you can replace any other crystal with a frequency of 16 MHz.

Leave a reply to Don McRae Cancel reply