Lego Mindstorms NXT Segway

The other night I was researching building a balancing Segway like robot with the Lego Mindstorms NXT kit. I wanted a robot that could balance on two wheels and could move forward and backward. I also wanted the robot to recover when “pushed”.

I was familiar with Steve Hassenplug’s Legway built on the Lego RCX platform, but I wanted to tackle the challenge with the NXT. Luckily, I found Philo Hurbain’s NXTWay. I was intrigued enough to build a copy and try out the programming.

It is quite hard to get the balance right and in the end I created a very aggressive robot that I can push around and it will mostly right itself. Here is the video of the final creation.

You may also like...

24 Responses

  1. Marek says:

    Hi Rich,

    very impressive NXTWay. Me and my son, we want to give it a shot as well and I was wondering if you could share with us your NXT-G code so we get some ideas how the balancing portion needs to work.



  2. Dev says:

    Nice!!! 🙂

  3. Rich says:

    I pretty much modified the code from Philo’s website listed above. Modify the “scale” parameter to get some of those effects.

  4. swissboy says:

    your bot is very nice. i have some problem with the program from Philo. could you give me the programm for the nxt??

    and sorry for my bad english, but i speak normaly german

  5. Pete says:

    Very cool what you did! I played around with the scale, but wasn’ able to do anything you did. Could you post your scale and PID values(KD, KI, KD) and potentially other params you edited?
    Also: were you able to place counterweights so that your NXTway balance standing fully upright?
    Any hints would be great – thanks!!!

  6. joe says:

    i think all you did ws to sewt the light sensor value when it was at x it was vertical, when it was lesss it went forward to correct it self, when greater it went backwards to correct its self. and by adding a second sensor would prob make it easyer to backwards. but if you did programing a certian way just add a wheely bar.

  7. Rich says:

    I could only get it to balance, but not move or move and not balance. I need a second light sensor so I can rebuild it and try for both movement and balance without any non-lego sensors.

  8. Steve says:

    Hi Rich,
    your NXT Segway is really a piece! Could you please get in touch with me?

  9. Jeremy says:

    Hey Rich,

    I was wondering if you programed this using the Mindstorms software or programs listed on Philo’s website. I am trying to program it using the Mindstorms software and I can’t get it to work.


  10. Rich says:

    I used the program from philo’s website and modified the variables.

  11. brett stevens says:

    I have been trying to build this NXTway but I cannot get it to stand straight no matter how I vary the coefficients! Nor beable to move and stay balanced. Does anyone have some tips on how to go about “tuning” KP, KD, KI. Should the scaling parameters for err

  12. Rich says:

    It has been a while since I played with this one, but try to slowly change the variables. Start with one variable at a time. It took forever for mine to balance and move properly. Even after all that work it was still quite un-reliable.

  13. nils says:

    Hello I would have there times ne question: I try for 5 weeks already mean Segway robot to programieren and to calibrate ultrasonic sensor (17-9) cm or photosensor (382-525) and I get it not, could you me perhaps times help or me one tap give. Mfg Nils would make me happy about an answer

  14. Luiz says:

    Congratulations!! you robots are so cool!!
    do you just have a NXT kit??

  15. Rich says:

    I have a few NXT kits and lots of other technic kits used for parts.

  16. jorge - españa says:

    Please. i need contact with the code source of this video. who is the with me: or
    this is my project final of the course system embebed and i cant stand up my robot lego nxt. please urgent contact with me.

  17. John says:

    Can you send me the blueprints on how to make it and the program for it?

    I would appreciate it.

  18. reggie says:

    can I have the segway code?

  19. roygbiv says:

    descient, but put the light sensor further out, and lower the trigger point on the light sensor i built a segway robot too. make it taller, and download the segway program from (i did not make that program, but it works very well. I use a program i created, but i have not figured how to put it online)

  20. houzillf says:

    may I have a look at your code, I found your robot quite stable. I am doing my own project as well, but it always tip over, I wonder if there is something wrong with my PID value and the algorithm.
    Hope you can share some info with me.

  21. Jei says:

    Your vedio is really cool
    I have few qustion

    I can balance the robot,but I don’t know how to
    foward at same time,would you mind to give me some suggestion??
    Hope you can help me:)

    May you have good day:D

  22. Arko says:

    I tried to build in bricx command center, but its not stabilizing. can you help me, if i send you codes ?

  23. melvin chan says:

    hello, can you please share your code, it´s for a school assignment. Thank you.

Leave a Reply

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