Let's Make Robots!

How to connect SRF05 to Picaxe 28 pin Project board

  • Sensors / input devices:

If you are a newbee, you may only have learned that the Picaxe 28 pin Project Board has some inputs and outputs.. And you may have purchesed an SRF05 (that Picaxe refers to as SRF005), and you are trying to connect the darn thing.. without resoult?

Reason is likely to be that you are connecting the output from the Picaxe to the SRF05 through the darlington on the board.

The SRF05 needs (like many other things) a Pulse-signal, not just a "power on / off". The signal therefore must come directly from the Picaxe chip.

Luckely the board has little "hidden" holes for that kind of conections. (Blue wire, the signal in to the SRF05 directly from the chip). These holes, however, are not described, simply omitted in the manual for the board. So I wonder how a newbee should ever find out, personaly I burned a SRF05 or two in my frustrated attempts to get it right :)

If you follow the illustration above, you should be able to make the below code work just fine. You will know that the SRF05 is getting a pulse-signal when the little red LED on it´s back is flashing red.


symbol trig = 3 ‘ Define output pin for Trigger pulse
symbol echo = 6 ‘ Define input pin for Echo pulse
symbol range = w1 ‘ 16 bit word variable for range

pulsout trig,2 ‘ produce 20uS trigger pulse (must be minimum of 10uS)
pulsin echo,1,range ‘ measures the range in 10uS steps
pause 10 ‘ recharge period after ranging completes
‘ now convert range to cm (divide by 5.8) or inches (divide by 14.8)
‘ as picaxe cannot use 5.8, multiply by 10 then divide by 58 instead
let range = range * 10 / 58 ‘ multiply by 10 then divide by 58
debug range ‘ display range via debug command
goto main ‘ and around forever



I did not have a fresh SRF05, and so there are drilled extra holes and soldered pins on the one on the picture.

Be aware that if you also connect servo(s) to the same Picaxe chip, program execution may be bumpy with little iregular breaks when using things as the SFR05 that needs pulses. If it is important for you to have a steady program execution, or if a servo acts totally irrational, it sometimes helps to have a smal pause or turn off a servos pulse for a short time in the code:

"low 3" or "pause 10". Aparently there is no system, it is just trial and error with your particular setup.


These pages might have your interest: See what Robot Sees, 28 pin Project Board (AXE020), Picaxe for dummies




Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
hello i have this microcontroller ive made a topic thing on this site witch i LOVE btw  note why love is in capitals haha lots of info very good although im a newbie plz look at my topic thing ty =]
Does anybody know how to make a simple mount to hold the SRF005 and attach it to the servo?? I sort of forgot about that bit till it was to late...
I'm still awaiting my package btw... idk if thats such a reliable site


same here, hope it arrives
casca's? I complained to Paypal...


did you ever get the part?

im going to be starting a robot soon and i wanted to use the ultrasonic rangefinder over the infared one, thanks for the post!


if everyone were worms, try to be a glow worm

Why in the hell does it need a pulsin of at least 10uS ???