Mike, I believe I mentioned this in a previous message (you must have missed it). Go to http://www3.sympatico.ca/donroy and visit the 1stBot link. It has stamp code to run the servos (which have been modified for full rotation). Note that you should not send one signal to the servo and then expect it to go all the way over to the desired angle, you need to keep updating it until it gets to its desired position (updating afterwards is ok, too .. stops drift). If you can't seem to find the referenced site, here is some bare bones Stamp 2 code that will drive the servo to its mid position and hold it there (this assumes an unmodified hobby servo). MidPoint var word SERVNUM var byte SERVNUM = 0 ' this is the servo sig line port MidPoint = 750 'pulsout command is in 2 us 'chunks, so 750=1.5 milliseconds ' or half way main: pulsout SERNUM, MidPoint 'Send servo pulse pause 20 'Wait 20 ms (50 Hz) goto main 'Forever end Instead of putting "pause 20" in the above loop, call your subroutines that handle other parameters. Guesstimate the time in the subroutines and then make up the difference with a final pause statement in the above loop. Dan -----Original Message----- From: Mike M To: PICLIST@MITVMA.MIT.EDU Date: Thursday, November 18, 1999 10:05 AM Subject: Re: [OT] Re: PWM background >Ok continuing on with my never ending basic stamp clone project, im basically building a stamp, so the user code is extracted from an eeprom and then executed. If the user wants to run a servo, how would be able to run that servo and still continue executing their code. Their code may only set the servo forward and then never go bak into a loop so at that point i have to have a way to go have my inturpreter program to remmember not to forget to update the servo..can anyone maybe show me some code or websites? > >MikE > >On Thu, 18 Nov 1999 15:39:24 -0500 Dave VanHorn wrote: >>> The way I figured it, is that the initial designers of R/C receivers >>> made the 20 millesecs delay so that they can fit 10 by 2 millisec pulses >>> for 10 servos in one radio train of Rx pulses >> >>They use the wider delay to sync the receiver, so that it knows which pulse >>goes to which servo. Otherwise, it would be impossible to sort out. It was >>a cool answer to the problem in 1960's technology. Error correcting digital >>would be cool now, but it dosen't seem to be happening. >> > >Send someone a cool Dynamitemail flashcard greeting!! And get rewarded. >GO AHEAD! http://cards.dynamitemail.com/index.php3?rid=fc-41