Inspiration

DiscoverE has a box of 30+ NXT bricks that aren't being used

What it does

Two separate robots, which both drive in straight line, are connected via bluetooth. Once the master robot hits a wall it tells the other robot how far it went, and the other robot then reverses that distance plus the distance it drove. So, after runtime, both robots should be against a wall. There are a number of misc files, each NXC file represents a program, the above description is the most interesting of the files I created.

How I built it

borrowed some old and unused lego robots from DiscoverE, found a compiler and docs for a language called NXC (not exactly C) which was developed for the lego robotics platform. I didn't use the traditional block programming for the NXT's.

Challenges I ran into

  • getting the code from my laptop onto the NXT hardware, Programming on a mac was NOT ideal.
  • Connectivity with the hardware, sometimes code would flash, sometimes it wouldn't
  • old rechargeable batteries mean hardware is constantly dying
  • it took me a long time to get compiled code off my computer and into the system
  • it was hard to debug the programs running on the NXT's, I had a fair bit of unexpected behaviour

Accomplishments that I'm proud of

  • Im proud that I managed to get anything working, I ran into many difficulties
  • Im proud of what I was able to figure out given the limited documentation / obscure problems I encountered
  • Im happy I got a throwback to the first thing I ever programmed on, good nostalgia there

What I learned

  • programming NXT's is very possible, but not practical
  • native linux is nice to develop on (who knew???)
  • MLH hardware renting saved my bacon!!
  • whether or not it is practical to program NXT's using the NXC language
  • bluetooth daisy chaining the NXT devices is not possible
  • I wish I had a bit more of a plan or done a little more prep, I would've benefited from a stronger sense of direction

What's next for NXT level hacking

  • attaching other embedded systems to the robots
  • attaching the NXT sensors and motors to other embedded systems
  • Passing anything I learn off to DiscoverE

Built With

Share this project:

Updates