# How to write SOS Morse Code using CyberPi
![How to code automatic line-following programs](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/1_ecf3ba94-662f-4e35-a959-c8c6d8641182.png?v=1691720808)
Morse code is an early digital communication method. It contains dots ("·" referred to as short signals) and dashes ("—", referred to as long signals), short spaces between dots and dashes, and long spaces between characters. This # How to guide describes how to write Morse code and decode it using block-based programming.
![Line-following programs keep a robot on the central axis of the line when it moves forward](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/4_681146a3-9fb8-4459-91ae-9b7d74779478.png?v=1691721173)
![Line-following programs keep a robot on the central axis of the line when it moves forward](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/5_5f231041-b79c-44ff-8cd0-dde49b673f38.png?v=1691721127)
SOS is an international distress signal. In Morse code, "S" is coded as three dots and "O" as three dashes. So SOS is made up of "· · · — — — · · ·". You can compile it to send a distress signal.
How to write Morse code and decode it using block-based programming?
![Quad RGB Sensor](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/6_a08c6c78-1a46-4674-b492-8ce36f4cfbe9.png?v=1691721563)
![base_power: Approximate forward speed kp: Adjustment value for left and right wheels during line following left_power: Actual speed of the left wheel right_power: Actual speed of the right wheel](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/8_61b01310-b810-4460-8783-7dfc95077bea.png?v=1691118047)
![Quad RGB Sensor](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/7_e5893019-8f15-461e-a67b-bfee5718966b.png?v=1691721662)
![base_power: Approximate forward speed kp: Adjustment value for left and right wheels during line following left_power: Actual speed of the left wheel right_power: Actual speed of the right wheel](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/19_f811cdbd-28ed-4bf2-8d39-297efa20d028.png?v=1691738545)
Variables and Blocks You Need to Create for the Program
![base_power: Approximate forward speed kp: Adjustment value for left and right wheels during line following left_power: Actual speed of the left wheel right_power: Actual speed of the right wheel](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/8_1ea24fe4-41be-4ef4-88c0-5e4b4d8b8b61.png?v=1691722045)
![base_power: Approximate forward speed kp: Adjustment value for left and right wheels during line following left_power: Actual speed of the left wheel right_power: Actual speed of the right wheel](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/9_546342b5-e093-4c79-8264-22aa9cceae4b.png?v=1691722045)
![base_power: Approximate forward speed kp: Adjustment value for left and right wheels during line following left_power: Actual speed of the left wheel right_power: Actual speed of the right wheel](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/10_02013bb6-870d-4a7e-a369-c36632b6d596.png?v=1691722045)
![Download](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/11_db43b3ea-0feb-40d4-ab71-3bd44899b985.png?v=1691736813)
![base_power: Approximate forward speed kp: Adjustment value for left and right wheels during line following left_power: Actual speed of the left wheel right_power: Actual speed of the right wheel](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/12_eed0f9e3-c849-47d7-881e-0612feb1459e.png?v=1691736961)
![base_power: Approximate forward speed kp: Adjustment value for left and right wheels during line following left_power: Actual speed of the left wheel right_power: Actual speed of the right wheel](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/13_a079b627-d21b-44c1-94c9-551cc537f6e2.png?v=1691723459)
![base_power: Approximate forward speed kp: Adjustment value for left and right wheels during line following left_power: Actual speed of the left wheel right_power: Actual speed of the right wheel](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/14_8f458b99-19d0-428f-9d34-55602b9f9c34.png?v=1691723785)
![base_power: Approximate forward speed kp: Adjustment value for left and right wheels during line following left_power: Actual speed of the left wheel right_power: Actual speed of the right wheel](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/15_4b9d85e3-5d5a-4b54-9a52-bb4bd5aedfee.png?v=1691723785)
![base_power: Approximate forward speed kp: Adjustment value for left and right wheels during line following left_power: Actual speed of the left wheel right_power: Actual speed of the right wheel](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/16_cbad6ad7-3a4e-445d-9a9b-30438f9f9838.png?v=1691725056)
![base_power: Approximate forward speed kp: Adjustment value for left and right wheels during line following left_power: Actual speed of the left wheel right_power: Actual speed of the right wheel](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/17_25703c35-49ff-4f1f-a288-5211da0c2d0e.png?v=1691723785)
![base_power: Approximate forward speed kp: Adjustment value for left and right wheels during line following left_power: Actual speed of the left wheel right_power: Actual speed of the right wheel](https://cdn.shopify.com/s/files/1/0070/5901/3716/files/18.png?v=1691723785)