Let's Make Robots!

XMOS - Tutorials

My XMOS entry was to create tutorials that not only taught how to use the XMOS but also lead up to explaining complicated robotic principles as well as good coding standards. So far I have been trying to figure out what to make a tutorial about. Below is my list which I will add or subtract from depending on the XK1's capabilities and the complexity of the tutorial. My goal is to break them into small chunks that can be digested in less than 30 minutes (5-10 minutes of first read through followed by some do it yourself time and possibly another 10-20 minutes of re-reading for comprehension). Here is the list. Feel free to make suggestions if something you have learned or want to learn isn't included.

  1. Hook up the XMOS and get an LED blinking
  2. Flash LED in morse code "SOS"
  3. LEDs doing 8-bit binary counting
  4. LED Dice
  5. 7 segment LED display (7 LEDs to display a grapical representation of a 1 digit #)
  6. Servo and motor introductions
  7. Motor Driver introduction
  8. Motor Driver w/ second power source (possible first robot to drive around)
  9. Ultrasonic and IR rangefinders to make project above not run into stuff
  10. Line Sensors to make robot above follow a line
  11. Make your own h bridge and use as a motor driver
  12. PWM -software and hardware
  13. Charlieplexing
  14. Encoder beginner
  15. Encoders Quadrature
  16. P Control
  17. PI Control
  18. PID Control
  19. Localization
  20. Wave Front

Along the way items such as resistors, capacitors, transistors and OHMs law will be covered as well as I can explain it. I am a CS guy not an EE so I will need help from others to ensure I am explaining things in a way that is accurate ;) My #1 goal is to teach the above principals as well as good coding standards, the electrical stuff will be explained the best I can...

My hope is to duplicate the tutorials using an Arduino Mega and Picaxe where possible. Picaxe may not handle wave front, quadrature, etc.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I provided a bad link above. Here is the real one:


But there are lots around, though most are for the Atmega128 NOT the Atmega1280, so they can't be used with the Arduino platform as is (I think). That's why I bookmarked this link in particular. However if you don't wanna use it as an Arduino the Atmega128 will serve you well too.

Anyway try googling "Atmega128 breakout"...

np, and thanks for the link/hints on the search, These would be great to get a hold of in this form!



..I think I'm in love too ;)

The strange thing is everbody seems to be making standalone Arduinos using 168 and 328 chips (I'll be buying a few myself soon), but nobody seems to have tried making a standalone Mega using these things?! I spent quite a bit of time looking around for it...

PS: Check out this one (128). It has fewer pins than the other one BUT it only costs $16.51 :D

EDIT: To jklug80: Just realized..sorry for spamming your X-mos thread with my rambeling on about (wheel) encoders and Atmega chips. I'll stop now :/

Was going to edit one of my posts so I wouldn't have to put an additional one in....Last one for me too JK!!

Anyway, this is a better bit of source for the uart com with the xmos, it also has config settings for baud rate.

I plan to hack this one up and get rid of most of the extraneous functions that I don't need. 

That 128 is awesome btw..  :D

But personally I would remove 3 and 4 since to me they seem irrelevant once you have done the previous LED experiments. Also in 2 I would expect a version using active waiting and a version using timers and interrupts just to show the difference. I also really feel that there needs to be a short intro to driving LCD displays since these are quite popular in robotics.

But I think it's a great idea and I'd be happy to peer review chunks. I'm a CS guy myself so we should be on the same level :-).

Cheers, Jimmy