ตัวอย่าง source code บางโปรแกรม

ในปีนี้นักเรียนที่ใช้หุ่นยนต์ Robo-Basic สามารถเขียนโปรแกรม โดยใช้หน่วยความจำของ Basic-Stamp ได้ครบ 16 k ซึ่งแยกเป็น 8 pageๆละ 2k
โปรแกรม Setup.bsx ' Setup เป็นโปรแกรมหลักที่เมื่อเปิดในโปรแกรมeditor แล้วจะเปิดโปรแกรมย่อยๆ ที่ระบุไว้ในโปรแกรมหลัก

'{$STAMP BS2sx,SELECT.BSX,LEFT1.BSX,RIGHT1.BSX,LEFT2.BSX,RIGHT2.BSX,LEFT3.BSX,
RIGHT3.BSX} ' ชื่อโปรแกรมย่อยทั้งหมด 6 ตัวที่จะใช้ ซึ่งจะถูกLoad ไปเก็บไว้ที่หน่วยความจำที่ P1-7
'{$PBASIC 2.5} ' ชื่อตัวแปรภาษาพีเบสิก Basic Stamps editor version 2.5 เวอร์ชั่นต่ำกว่า 2.0 ใช้ไม่ได้

'''''BUTTON''''' ' ชื่อตัวแปรของสวิตซ์ที่ใช้ทั้งหมด 6 ตัว
R_B              VAR IN8 ' ชื่อตัวแปรของสวิตซ์สำหรับกดเลือกให้หุ่นยนต์เริ่มต้นทางด้านขวาของสนาม ที่ in8
L_B               VAR IN9 ' ชื่อตัวแปรของสวิตซ์สำหรับกดเลือกให้หุ่นยนต์เริ่มต้นทางด้านซ้ายของสนาม ที่ in9
SELECT_B  VAR IN0 ' ชื่อตัวแปรของสวิตซ์สำหรับกดเลือกเส้นทาง แบบ 1-2-3 ที่ in0
SL_B            VAR IN7 ' ชื่อตัวแปรของสวิตซ์ด้านหน้าซ้ายสำหรับตรวจสอบตำแหน่งประตู ที่ in7
SR_B           VAR IN6 ' ชื่อตัวแปรของสวิตซ์ด้านหน้าขวาสำหรับตรวจสอบตำแหน่งประตู ที่ in6
C_B              VAR IN1 ' ชื่อตัวแปรของสวิตซ์ด้านหน้าตัวกลางสำหรับตรวจสอบว่าประตูเปิดหรือไม่ ที่ in1
'''''SENSOR''''' ' ตำแหน่งport ที่ต่อกับsensor แสง ที่ติดไว้ใต้ท้องของหุ่นยนต์
LS_S_D        CON 11 ' sensor แสงตัวที่ 1
L_S_D           CON 12 ' sensor แสงตัวที่ 2
R_S_D          CON 13 ' sensor แสงตัวที่ 3
RS_S_D       CON 3 ' sensor แสงตัวที่ 4
'''''CON'''''
SO                 CON 14 ' กำหนดให้ขา P14 เป็นขาเอาต์พุตสำหรับส่งข้อมูลไปให้มอเตอร์
BAUD           CON 16624 ' อัตรา baudrateเท่ากับ 9600 บิตต่อวินาที
DECISION   CON 380 ' ค่าสีเส้นสีขาวของสนามแข่งเท่ากับ 380
BUSY           VAR IN15 ' กำหนดให้ขาพอร์ต P15 คอยรับสัญญาณจากมอเตอร์ว่าว่างพร้อมรับข้อมูลชุดใหม่หรือยัง
'''''VAR''''' ' การกำหนดชื่อและชนิดของตัวแปรที่ใช้ในโปรแกรม
ERROR       VAR Word ' word : 16 บิต
L                   VAR Byte ' byte : 8 บิต
R                  VAR Byte
J                   VAR Byte
R_S_V        VAR Word
RS_S_V     VAR Word
L_S_V        VAR Word
LS_S_v      VAR Word

''''''CODE'''''
PAUSE 1000 ' หยุดการทำงาน 1 วินาที เพื่อ Reset ค่าต่างๆ
SEROUT SO,BAUD,[128,"M",4,128,"S",100] ' กำหนดรูปแบบการทำงานของStepper Motor เป็นMode 4
GOSUB WAIT_BUSY ' ใช้คำสั่งgosub ให้กระโดดออกไปทำงานที่ลาเบลWait_busy
GOSUB READ_ERROR ' ใช้คำสั่งgosub ให้กระโดดออกไปทำงานที่ลาเบลRead_Error
PUT 0,Word ERROR ' ส่งชื่อและชนิดของตัวแปร ไปเก็บที่ Scratchpad RAM
RUN 1 ' ให้กระโดดไปทำงานโปรแกรม select.bsx

WAIT_BUSY:      IF BUSY=1 THEN WAIT_BUSY ' ลาเบลwait_busy สำหรับตรวจสอบช่วงเวลาการส่งข้อมูลมาให้มอเตอร์ถ้ามีค่าเป็น 1 แสดงว่ายังไม่ว่างรับข้อมูลชุดใหม่
RETURN ' กระโดดกลับไปทำงานคำสั่งต่อจาก คำสั่ง gosub wait_busy

READ_ERROR:      HIGH L_S_D : RCTIME L_S_D,1,L_S_V ' ลาเบลread_error สำหรับปรับค่าsensorแสงเกาะเส้น
HIGH R_S_D : RCTIME R_S_D,1,R_S_V ' ส่งค่าของsensorแสง2 ตัวไปเก็บไว้ที่ตัวแปรL_S_VและR_S_V
ERROR=L_S_V-R_S_V ' นำค่าตัวซ้ายตั้งลบด้วยตัวขวา ไปเก็บไว้ที่ตัวแปรชื่อ error
RETURN ' กระโดดกลับไปทำงานคำสั่งต่อจาก คำสั่ง gosub read_error