Windows Turtle

Turtle is a simple robot I built recently just for fun.  He is built on an iRobot Create base (a modified Roomba, from iRobot).  See Alice for a newer robot, built on the Kobuki base.

As I started building this robot, I had started with the iRobot Create base when I discovered the ROS Turtlebot project (which has since moved to the newer Kobuki base).  So, I purchased a couple of the Turtle “Deck Disks”, and mounted them on the iRobot Create base, and built a simple interface card to power the Kinect, Servos, and LEDs.

The ROS Turtlebot project is based upon Linux.  I played a bit with ROS on Linux, but decided to stick with Windows for my development so I could focus on a single code base.

I modified my Loki software to work on Turtle, but it’s a bit of a hack.  Feel free to use my code on a Turtle, but expect that you need good Visual Studio understanding to get it working.  Mostly, I think the code is useful for examples (such as how to talk to Turtle and Kinect).


I found some blue led strips and put them all around the top.  They are controlled by the laptop (see the schematic, it’s easy).  The pictures don’t do them justice.  They look pretty cool 🙂

12 Responses to Windows Turtle

  1. Mel Addison says:

    Hey, Dave!

    Yes, I did read that. I did not know what MSDN, MSDDK, or GPA was about or where to get it. I am using MSstudio10 Express, the FREE version.

    Is it possible to use a different C compiler that is less complicated?



    • Mohamed says:

      Hi Dave next time you make a robot please show us how to make it in a video or show us what you used like in Loki electronics or can you show us with one of your old robots like mr robot please

  2. Mel Addison says:

    hey Dave,

    I hate to ask so many questions, but the hardware on the turtle, is it identical to the Loki? Or can it be a notebook, Create, Power/I/o board for the Kinect including the Gyro like an original Turtlebot?

    If you have any more schematics or pix on the turtlebot. I have a turtlebot and before I install ROS, etc. I would like to try your program under windows7.

    thanks again.


  3. Mel Addison says:

    1>—— Build started: Project: Loki, Configuration: Debug Win32 ——
    2>—— Build started: Project: Turtle, Configuration: Debug Win32 ——
    1> stdafx.cpp
    2> stdafx.cpp
    2>c:\dev\_robot\turtle\stdafx.h(23): fatal error C1083: Cannot open include file: ‘afxwin.h’: No such file or directory
    1>c:\dev\_robot\loki\stdafx.h(23): fatal error C1083: Cannot open include file: ‘afxwin.h’: No such file or directory
    ========== Build: 0 succeeded, 2 failed, 0 up-to-date, 0 skipped ==========

    I get these error messages.



  4. dshinsel says:

    Hi Mel,
    I looked into this a bit. Unfortunately, I don’t have the Express version, so I don’t know why it would not find stdafx.h (that’s a pretty standard header file). This is an MFC project, if that helps.
    Regarding hardware, yes, I used the same ports on the iRobot as TurtleBot does. (there’s only 3 to pick from). I am not using the accelerometer at this point.
    Regarding building you a binary, I’d be glad to do that but it would not help. It would fail when it can’t find the needed .dll files. So, I think you need help from someone that knows Visual Studio well, and can help with the dependencies.
    I have updated the download page to make this more clear.
    Sorry I can’t be more help!

  5. dshinsel says:

    P.S. Regarding the hardware, you can compare the schematic above to the one provide for the TurtleBot at

    Also, I think I am going to “take the plunge” and try out ROS on my Turtle Bot, so I probably won’t be adding much more functionality to this code for Turtle (but will keep enhancing it for Loki).

  6. John Paw says:

    Cloud you explain more about slam . Did you build a map by manual control before and store it in a file ? . And I see ‘LockOn’ function in your code. Dose it use for navigate the robot ?


    John Paw

  7. Rick says:

    Happy Holidays Dave,

    I have a iRobot Create and the xBox Kinect. I’ve downloaded your 9/25/2012 zip source. Loaded it on a fresh install with VS Pro. 2010. It built fine but when I debug I get two errors.:
    c:\Dev\_Robot\TurtleData\Setup.rsd contains an incorrect path
    c:\Dev\_Robot\TurtleData\Command.rsd contains an incorrect path
    I don’t see a TurtleData dir in your source files but I see one for Loki. I’m able to ignore these errors and get to the setup and controls. I was able to get the motor port to connect but its not seeing my Kinect. Any ideas?


    • Rick says:

      Update: I was able to correct errors by making the TurtleData folder and coping all the files from LokiData into it.

      I’m still not able to get the Kinect to work. Its connected straight to a usb on the netbook.

      • dshinsel says:

        Hi Rick,
        A. Good thinking on the data files. I’ll upload Turtle data when I get a chance. One trick is to go to the “Command View” (big “C” at the top of the app) and then File->Save, then do the same on the “Setup View” (big “S” at the top of the app).

        B. Troubleshooting Kinect:
        1. Make sure the Kinect works with the Microsoft Kinect SDK sample apps. If not, check power. The light on the Kinect should be green, not red. Test using power from the wall, not from the iRobot Create, then once all is working switch to iRobot power. Note that the Robot control app can turn Kinect Power on/off, but there is a bug. Turn Kinect Power on/off from the Setup view, NOT the Command view.

        2. Once Kinect is working with the SDK samples, go into the “RobotKinectViewer” directory, and bring up the “RobotKinectViewer” app in Visual Studio. Build both debug and Release modes! The robot app typically looks for the release version (configurable in Globals.cpp – search for “AUTO_LAUNCH_KINECT_APP”).

        3. Once this is working, try switching to the latest version. Warning – I have not tried iRobot Create with this lastest version, since I got a Kobuki (but it’s on my todo list )

        Let me know how it goes!

        — Dave Shinsel

        • Rick says:


          Thanks for the reply. I was able to get the Kinect working by following one of your first readme.txt. It said to launch the kinect viewer first. Once I did this it recognized it. I finally got it to move with some voice commands. WOOT! I couldn’t get it to follow me. Is this a command that it recognizes for turtle?

  8. Mohamed says:

    Hi Dave next time you make a robot can you make a video of it or show us what you used like how you did it in Loki electronics so beginners know how to make your simple robots

Leave a Reply

Your email address will not be published. Required fields are marked *