ATTiny2313 8-64 channel PWM servo controller

1 post / 0 new
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi guys,

I've been lurking for some time and I've finally got to the point in my first AVR assembler project where I'd like some feedback.

I'm teaching myself about electronics and embedded programming so that I can build a hexapod robot. My first sub-project is a PWM servo controller.

The hardware uses multiple CD74HCT238E 3-8 line demultipexor chips to expand the number of I/O pins that I can address with the ATTiny2313. I then use Timer1 in CTC mode to generate up to 64 PWM signals by hand. The serial interface conforms to the simple and popular 3 byte SSC protocol.

I've uploaded the project to the project section here: and I have been blogging about the various design decisions that I've made to get this far, here (I'm not sure if it's good practice to put links to blog postings on here, so please remove if it's considered bad form).

Comments, suggestions, bug reports and code critique all welcome; this is my first assembler project and I want to learn! Since I haven't done much assembly programming I'm aware that I'm probably not doing things in the idiomatic way. Please point me in the right direction!

Finally; thanks for all the amazing resources on this site. I couldn't have got this far without you!