Browse Source

Rotary Gecko Start

master
GRMrGecko 10 years ago
commit
a08f3f3def
  1. 24
      Code/Debug_Cable_Connection/Debug_Cable_Connection.ino
  2. 241
      Code/Firmware/Firmware.ino
  3. 28
      Code/Software_Serial/Software_Serial.ino
  4. 57
      Hookup.txt
  5. 28
      Parts.csv
  6. BIN
      Parts.numbers/Index.zip
  7. 8
      Parts.numbers/Metadata/BuildVersionHistory.plist
  8. 1
      Parts.numbers/Metadata/DocumentIdentifier
  9. BIN
      Parts.numbers/Metadata/Properties.plist
  10. BIN
      Parts.numbers/preview-micro.jpg
  11. BIN
      Parts.numbers/preview-web.jpg
  12. BIN
      Parts.numbers/preview.jpg
  13. BIN
      Parts.xlsx
  14. 9
      Readme.md
  15. 6300
      Rotary Gecko.ai
  16. BIN
      Rotary Gecko.png
  17. 7308
      Schematic.ai
  18. BIN
      Schematic.jpeg
  19. BIN
      Schematic.png
  20. 815
      Schematic.svg

24
Code/Debug_Cable_Connection/Debug_Cable_Connection.ino

@ -0,0 +1,24 @@
//
// Debug_Cable_Connection.ino
//
// Created by Mr. Gecko's Media (James Coleman) on 1/12/14.
// No Copyright Claimed. Public Domain.
//
int testPin = 2;
int lastValue = 1;
void setup() {
Serial.begin(9600);
pinMode(testPin, INPUT_PULLUP);
}
void loop() {
int value = digitalRead(testPin);
if (value!=lastValue) {
Serial.print("Changed value ");
Serial.print(value);
Serial.print("\n");
lastValue = value;
}
}

241
Code/Firmware/Firmware.ino

@ -0,0 +1,241 @@
//
// Firmware.ino
//
// Created by Mr. Gecko's Media (James Coleman) on 1/12/14.
// No Copyright Claimed. Public Domain.
//
#include <SoftwareSerial.h>
SoftwareSerial btSerial(2,3); // RX,TX
int eventPin = 4;
int eventValue = 1;
int commandPin = 5;
int hookPin = 6;
int hookValue = 1;
int startPosPin = 7;
int startPosValue = 1;
int rotaryPin = 8;
int rotaryValue = 1;
int dialedNumber = 0;
int phoneNumber[10] = {0,0,0,0,0,0,0,0,0,0};
int numberCount = 0;
int speakerShutOffPin = 9;
typedef enum {
limbo = 0,
connectable = 1,
connectableAndDiscoverable = 2,
connected = 3,
outgoingCall = 4,
incomingCall = 5,
activeCallInProgress = 6,
testMode = 7,
threeWayWaiting = 8,
threeWayHold = 9,
threeWay = 10,
incomingCallHold = 11,
activeCall = 12,
audioStreaming = 13,
lowBattery = 14
} BTState;
int iAP = 0;
int SPP = 0;
int A2DP = 0;
int HFP = 0;
long state;
char *serialSend(const char *command) {
// Send command.
btSerial.write(command);
// Get response.
char *response = (char *)malloc(20);
memset(response, '\0', sizeof(response));
unsigned long startRead = millis();
while (1) {
if (btSerial.available()) {
char byteRead = btSerial.read();
// If we receive a end line, we received the response.
if (strcmp(&byteRead,"\r")==0)
continue;
if (strcmp(&byteRead,"\n")==0)
break;
strcat(response, &byteRead);
// We don't want a buffer overrun. The responses from the bluetooth board is usually 3 characters long.
if (strlen(response)>=19)
break;
}
// Insure there isn't a error in reading and this doesn't continue reading infinite.
if ((millis()-startRead)>=1000)
break;
}
return response;
}
int serialSendVerify(const char *command, const char *verify) {
char *response = serialSend(command);
int verified = (strcmp(response, verify)==0);
free(response);
return verified;
}
void getAndDecodeState() {
char *stateHex = serialSend("Q\r");
Serial.print("Response: ");
Serial.print(stateHex);
Serial.print("\n");
long response = strtol(stateHex, NULL, 16);
long status = response >> 8;
state = response & 0x000F;
iAP = status & 0x1;
SPP = (status & 0x2) >> 1;
A2DP = (status & 0x4) >> 2;
HFP = (status & 0x8) >> 3;
if (state==incomingCall) {
digitalWrite(speakerShutOffPin, HIGH);
} else if (state!=audioStreaming && state!=connected) {
digitalWrite(speakerShutOffPin, LOW);
}
free(stateHex);
}
void setup() {
// Setup Serial Interfaces.
Serial.begin(9600);
btSerial.begin(9600);
// Setup Pins.
pinMode(eventPin, INPUT);
pinMode(commandPin, OUTPUT);
digitalWrite(commandPin, LOW);
pinMode(hookPin, INPUT_PULLUP);
pinMode(startPosPin, INPUT_PULLUP);
pinMode(rotaryPin, INPUT_PULLUP);
pinMode(speakerShutOffPin, OUTPUT);
// Allow for RN-52 to play startup tone.
digitalWrite(speakerShutOffPin, HIGH);
delay(1000);
digitalWrite(speakerShutOffPin, LOW);
}
void loop() {
if (btSerial.available())
Serial.write(btSerial.read());
if (Serial.available())
btSerial.write(Serial.read());
// Gather information from the pins to work with.
int event = digitalRead(eventPin);
int eventChanged = (eventValue!=event);
eventValue = event;
int hook = digitalRead(hookPin);
int hookChanged = (hookValue!=hook);
hookValue = hook;
int startPos = digitalRead(startPosPin);
int startPosChanged = (startPosValue!=startPos);
startPosValue = startPos;
int rotary = digitalRead(rotaryPin);
int rotaryChanged = (rotaryValue!=rotary);
rotaryValue = rotary;
if (eventChanged && event==0) {
getAndDecodeState();
}
// Debug Code.
if (hookChanged) {
Serial.print("Hook: ");
Serial.print(hook);
Serial.print("\n");
}
if (startPosChanged) {
Serial.print("Start Position: ");
Serial.print(startPos);
Serial.print("\n");
}
if (rotaryChanged) {
Serial.print("Rotary: ");
Serial.print(rotary);
Serial.print("\n");
}
if (hookChanged) {
if (hook==0) {
memset(phoneNumber,0,sizeof(phoneNumber));
numberCount = 0;
if (state==audioStreaming) {
serialSendVerify("AP\r", "AOK");
} else if (state==outgoingCall || state==incomingCall || state==activeCallInProgress || state==threeWayWaiting || state==threeWayHold || state==threeWay || state==incomingCallHold || state==activeCall) {
serialSendVerify("E\r", "AOK");
}
} else {
if (state==incomingCall || state==incomingCallHold) {
serialSendVerify("C\r", "AOK");
digitalWrite(speakerShutOffPin, LOW);
}
}
getAndDecodeState();
}
if (startPosChanged) {
if (startPos==0) {
dialedNumber = 0;
} else {
if (dialedNumber!=0) {
if (dialedNumber>=10)
dialedNumber = 0;
Serial.print("Dialed: ");
Serial.print(dialedNumber);
Serial.print("\n");
if (state==audioStreaming) {
if (dialedNumber==1) {
serialSendVerify("AT+\r", "AOK");
} else if (dialedNumber==2) {
serialSendVerify("AT-\r", "AOK");
} else if (dialedNumber==3) {
serialSendVerify("AP\r", "AOK");
} else if (dialedNumber==4) {
digitalWrite(speakerShutOffPin, HIGH);
} else if (dialedNumber==5) {
digitalWrite(speakerShutOffPin, LOW);
}
} else if (hook==0) {
if (dialedNumber==3) {
serialSendVerify("AP\r", "AOK");
}
} else if (hook==1 && state!=outgoingCall && state!=incomingCall && state!=activeCallInProgress && state!=threeWayWaiting && state!=threeWayHold && state!=threeWay && state!=incomingCallHold && state!=activeCall) {
phoneNumber[numberCount] = dialedNumber;
numberCount++;
if (numberCount==10) {
char *command = (char *)malloc(14);
memset(command, '\0', sizeof(command));
sprintf(command, "A,%d%d%d%d%d%d%d%d%d%d\r", phoneNumber[0], phoneNumber[1], phoneNumber[2], phoneNumber[3], phoneNumber[4], phoneNumber[5], phoneNumber[6], phoneNumber[7], phoneNumber[8], phoneNumber[9]);
Serial.print(command);
Serial.print("\n");
serialSendVerify(command, "AOK");
free(command);
memset(phoneNumber,0,sizeof(phoneNumber));
numberCount = 0;
}
}
}
}
}
if (startPos==0 && rotaryChanged && rotary==0) {
dialedNumber++;
delay(50);
}
}

28
Code/Software_Serial/Software_Serial.ino

@ -0,0 +1,28 @@
//
// Software_Serial.ino
//
// Created by Mr. Gecko's Media (James Coleman) on 1/12/14.
// No Copyright Claimed. Public Domain.
//
#include <SoftwareSerial.h>
SoftwareSerial btSerial(2,3);
void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
Serial.println("Connected.");
btSerial.begin(9600);
btSerial.println("D\r");
}
void loop() {
if (btSerial.available())
Serial.write(btSerial.read());
if (Serial.available())
btSerial.write(Serial.read());
}

57
Hookup.txt

@ -0,0 +1,57 @@
Arduino
VCC -> 3.3V (Breadboard)
GND -> Ground (Breadboard)
2 -> UART_TX (RN-52)
3 -> UART_RX (RN-52)
4 -> GPIO2 (RN-52)
5 -> GPIO9 (RN-52)
6 -> Hook Cable
7 -> Rotary Start Position Cable
8 -> Rotary Dial Cable
9 -> SDL (AMP)
RN-52
3.3v -> 3.3V (Breadboard)
PWR_EN -> 3.3V (Breadboard)
GND -> Ground (Breadboard)
UART_TX -> 2 (Arduino)
UART_RX -> 3 (Arduino)
GPIO2 -> 4 (Arduino)
GPIO7 -> Ground (Breadboard)
GPIO9 -> 5 (Arduino)
SPK_L+ -> Speaker + (Handset)
SPK_L- -> Speaker - (Handset)
SPK_R+ -> L+ (AMP)
SPK_R- -> L- (AMP)
MIC_L+ -> MIC_L+ (Breadboard)
AMP
VDD -> 3.3V (Breadboard)
GND -> Ground (Breadboard)
L- -> SPK_R- (RN-52)
L+ -> SPK_R+ (RN-52)
SDL -> 9 (Arduino)
Left - -> Speaker -
Left + -> Speaker +
Handset
Speaker + -> SPK_L+ (RN-52)
Speaker - -> SPK_L- (RN-52)
Mic + -> Mic + (Breadboard)
Mic - -> Ground (Breadboard)
Breadboard (Mic Hookup)
3.3V -> 10k Resistor = Mic +
Mic + -> Mic + (Handset)
Mic + -> 10uF Cap = Mic +2
Mic +2 -> MIC_L+ (RN-52)
Ground -> Mic - (Handset) You can put a 10k resistor between ground and Mic -. That's how I'm doing it, but if you don't have another 10k resistor to spare it works without.
PowerCell 3.3V
VCC -> 3.3V (Breadboard)
GND -> Ground (Breadboard)
EN -> Power Switch
Power Switch
C1 -> EN (PowerCell)
C2 -> Ground (Breadboard)

28
Parts.csv

@ -0,0 +1,28 @@
SKU,URL,Thumbnail Image,Name,RoHS Compliance,Part Count,Quantity,Price (USD),Total
COM-00523,https://www.sparkfun.com/products/523,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,Electrolytic Decoupling Capacitors - 10uF/25V,1,,1,0.45,0.45
COM-10969,https://www.sparkfun.com/products/10969,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,Resistor Kit - 1/4W (500 total),1,,1,7.95,7.95
COM-09939,https://www.sparkfun.com/products/9939,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,"Rotary Potentiometer - 10k Ohm, Linear",,,1,0.95,0.95
CAB-11301,https://www.sparkfun.com/products/11301,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,SparkFun USB Mini-B Cable - 6 Foot,1,,1,3.95,3.95
PRT-12047,https://www.sparkfun.com/products/12047,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,Breadboard - Mini Modular (Black),1,,1,3.95,3.95
COM-10727,https://www.sparkfun.com/products/10727,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,Rocker Switch - Medium,1,,1,0.5,0.5
CAB-10215,https://www.sparkfun.com/products/10215,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,USB microB Cable - 6 Foot,1,,1,4.95,4.95
PRT-11231,https://www.sparkfun.com/products/11231,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,Power Cell - LiPo Charger/Booster,1,,1,19.95,19.95
PRT-08483,https://www.sparkfun.com/products/8483,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,Polymer Lithium Ion Battery - 2000mAh,1,,1,16.95,16.95
DEV-09873,https://www.sparkfun.com/products/9873,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,FTDI Basic Breakout - 3.3V,1,,1,14.95,14.95
PRT-00116,https://www.sparkfun.com/products/116,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,Break Away Headers - Straight,1,,2,1.5,3.0
DEV-11114,https://www.sparkfun.com/products/11114,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,Arduino Pro Mini 328 - 3.3V/8MHz,1,,1,9.95,9.95
WRL-11777,https://www.sparkfun.com/products/11777,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,Roving Networks RN-52 Audio Bluetooth Breakout,1,,1,49.95,49.95
,https://www.adafruit.com/products/1314,https://www.adafruit.com/images/medium/1314_MED.jpg,"Speaker - 3"" Diameter - 4 Ohm 3 Watt",,,1,1.95,1.95
,https://www.adafruit.com/products/1552,https://www.adafruit.com/images/medium/1552_MED.jpg,Stereo 2.8W Class D Audio Amplifier - TS2012,,,1,9.95,9.95
,,,,,,,,149.35
,,,,,,,,
PRT-08431,https://www.sparkfun.com/products/8431,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,"Jumper Wires Premium 6\"" M/M Pack of 10",1,10,1,3.95,3.95
PRT-09140,https://www.sparkfun.com/products/9140,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,"Jumper Wires Premium 6\"" M/F Pack of 10",1,10,1,3.95,3.95
PRT-08430,https://www.sparkfun.com/products/8430,https://dlnmh9ip6v2uc.cloudfront.net/images/framework/no_image_92.jpg,"Jumper Wires Premium 6\"" F/F Pack of 10",1,10,1,3.95,3.95
,,,,,30,,,11.85
,,,,,,,,
,http://www.amazon.com/dp/B00BQA5BWU/,http://ecx.images-amazon.com/images/I/41pGr98wHAL.jpg,3 x 40P 20cm Dupont Wire Jumper Cable 2.54 1P-1P Male-Male/Female-Female/Female-Male,,120,1,7.73,7.73
,,,,,,,,7.73
,,,,,,,,
,,,Amazon Jumper Cables,,,,,157.08
,,,Sparkfun Jumper Cables,,,,,161.20

BIN
Parts.numbers/Index.zip

8
Parts.numbers/Metadata/BuildVersionHistory.plist

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>csv</string>
<string>M3.0.1-1483-1</string>
</array>
</plist>

1
Parts.numbers/Metadata/DocumentIdentifier

@ -0,0 +1 @@
7537F88E-31BF-4744-A653-B6E294DBE4F4

BIN
Parts.numbers/Metadata/Properties.plist

BIN
Parts.numbers/preview-micro.jpg

After

Width: 53  |  Height: 41  |  Size: 1.2 KiB

BIN
Parts.numbers/preview-web.jpg

After

Width: 225  |  Height: 173  |  Size: 11 KiB

BIN
Parts.numbers/preview.jpg

After

Width: 720  |  Height: 552  |  Size: 118 KiB

BIN
Parts.xlsx

9
Readme.md

@ -0,0 +1,9 @@
#Rotary Gecko - Bluetooth Rotary Phone
Rtoary Gecko is my work to convert a Rotary Phone into a Bluetooth Phone. You can dial numbers, and answer phone calls with your cell phone as the man in the middle that provides cell service.
The documents stored here are the major documents needed to make a Rotary Phone Bluetooth. To read my quest to build this Phone, visit my blog at http://mrgecko.org. To get videos/photos and documentation to the hardware which I collected, you can visit my bitcasa share at http://l.bitcasa.com/P8xOdiBa.
As I do with every code I write, I make it fairly easy to understand with my naming conventions, so there are no comments to explain things, you should be able to just read it and know what it does.
I would like to give a big thank you to crashcartpro in ##gen (freenode) and myself/others in #sparkfun (freenode). They all helped me out considerbly with understanding this stuff and completing this phone.

6300
Rotary Gecko.ai
File diff suppressed because it is too large
View File

BIN
Rotary Gecko.png

After

Width: 425  |  Height: 425  |  Size: 16 KiB

7308
Schematic.ai
File diff suppressed because it is too large
View File

BIN
Schematic.jpeg

After

Width: 1956  |  Height: 2000  |  Size: 419 KiB

BIN
Schematic.png

After

Width: 4250  |  Height: 4347  |  Size: 431 KiB

815
Schematic.svg

@ -0,0 +1,815 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="612px"
height="626px" viewBox="0 0 612 626" enable-background="new 0 0 612 626" xml:space="preserve">
<g id="PowerCell">
<rect id="Board_1_" x="56.667" y="545.05" fill="none" stroke="#000000" stroke-miterlimit="10" width="74.16" height="68.4"/>
<text id="Title_1_" transform="matrix(1 0 0 1 62 583.6693)" font-family="'SourceCodePro-Regular'" font-size="12">PowerCell</text>
<g id="TOP">
<g id="PS">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="73.835" cy="551.085" r="2.835"/>
<text transform="matrix(1 0 0 1 62.0503 552.6693)" font-family="'SourceCodePro-Regular'" font-size="6">PS</text>
</g>
<g id="VCC">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="86.835" cy="551.085" r="2.835"/>
<text transform="matrix(1 0 0 1 81.4349 559.6692)" font-family="'SourceCodePro-Regular'" font-size="6">VCC</text>
</g>
<g id="GND_1_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="99.835" cy="551.085" r="2.835"/>
<text transform="matrix(1 0 0 1 94.4349 559.6694)" font-family="'SourceCodePro-Regular'" font-size="6">GND</text>
</g>
<g id="EN">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="111.835" cy="551.085" r="2.835"/>
<text transform="matrix(1 0 0 1 116.25 552.6693)" font-family="'SourceCodePro-Regular'" font-size="6">EN</text>
</g>
</g>
<g id="Bottom">
<g id="_x35_V">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="88.835" cy="607.085" r="2.835"/>
<text transform="matrix(1 0 0 1 77.0503 608.6693)" font-family="'SourceCodePro-Regular'" font-size="6">5V</text>
</g>
<g id="GND_2_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="96.835" cy="607.085" r="2.835"/>
<text transform="matrix(1 0 0 1 101.25 608.6693)" font-family="'SourceCodePro-Regular'" font-size="6">GND</text>
</g>
</g>
</g>
<g id="Breadboard">
<rect id="Board_4_" x="195.5" y="424.312" fill="none" stroke="#000000" stroke-miterlimit="10" width="133.228" height="99.213"/>
<g id="Bottom_2_">
<g id="Line_33_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="200.494" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="200.494" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="200.494" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="200.494" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="200.494" cy="517.485" r="3.118"/>
</g>
<g id="Line_32_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="208.194" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="208.194" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="208.194" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="208.194" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="208.194" cy="517.485" r="3.118"/>
</g>
<g id="Line_31_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="215.894" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="215.894" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="215.894" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="215.894" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="215.894" cy="517.485" r="3.118"/>
</g>
<g id="Line_30_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="223.594" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="223.594" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="223.594" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="223.594" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="223.594" cy="517.485" r="3.118"/>
</g>
<g id="Line_29_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="231.294" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="231.294" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="231.294" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="231.294" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="231.294" cy="517.485" r="3.118"/>
</g>
<g id="Line_28_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="238.994" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="238.994" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="238.994" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="238.994" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="238.994" cy="517.485" r="3.118"/>
</g>
<g id="Line_27_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="246.694" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="246.694" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="246.694" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="246.694" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="246.694" cy="517.485" r="3.118"/>
</g>
<g id="Line_26_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="254.394" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="254.394" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="254.394" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="254.394" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="254.394" cy="517.485" r="3.118"/>
</g>
<g id="Line_25_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="262.094" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="262.094" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="262.094" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="262.094" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="262.094" cy="517.485" r="3.118"/>
</g>
<g id="Line_24_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="269.794" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="269.794" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="269.794" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="269.794" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="269.794" cy="517.485" r="3.118"/>
</g>
<g id="Line_23_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="277.494" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="277.494" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="277.494" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="277.494" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="277.494" cy="517.485" r="3.118"/>
</g>
<g id="Line_22_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="285.194" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="285.194" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="285.194" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="285.194" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="285.194" cy="517.485" r="3.118"/>
</g>
<g id="Line_21_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="292.895" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="292.895" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="292.895" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="292.895" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="292.895" cy="517.485" r="3.118"/>
</g>
<g id="Line_20_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="300.594" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="300.594" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="300.594" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="300.594" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="300.594" cy="517.485" r="3.118"/>
</g>
<g id="Line_19_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="308.294" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="308.294" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="308.294" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="308.294" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="308.294" cy="517.485" r="3.118"/>
</g>
<g id="Line_18_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="315.994" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="315.994" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="315.994" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="315.994" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="315.994" cy="517.485" r="3.118"/>
</g>
<g id="Line_17_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="323.694" cy="486.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="323.694" cy="494.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="323.694" cy="502.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="323.694" cy="509.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="323.694" cy="517.485" r="3.118"/>
</g>
</g>
<g id="Top_1_">
<g id="Line">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="200.494" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="200.494" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="200.494" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="200.494" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="200.494" cy="461.485" r="3.118"/>
</g>
<g id="Line_1_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="208.194" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="208.194" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="208.194" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="208.194" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="208.194" cy="461.485" r="3.118"/>
</g>
<g id="Line_2_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="215.894" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="215.894" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="215.894" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="215.894" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="215.894" cy="461.485" r="3.118"/>
</g>
<g id="Line_3_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="223.594" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="223.594" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="223.594" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="223.594" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="223.594" cy="461.485" r="3.118"/>
</g>
<g id="Line_4_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="231.294" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="231.294" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="231.294" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="231.294" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="231.294" cy="461.485" r="3.118"/>
</g>
<g id="Line_5_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="238.994" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="238.994" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="238.994" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="238.994" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="238.994" cy="461.485" r="3.118"/>
</g>
<g id="Line_6_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="246.694" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="246.694" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="246.694" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="246.694" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="246.694" cy="461.485" r="3.118"/>
</g>
<g id="Line_7_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="254.394" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="254.394" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="254.394" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="254.394" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="254.394" cy="461.485" r="3.118"/>
</g>
<g id="Line_8_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="262.094" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="262.094" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="262.094" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="262.094" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="262.094" cy="461.485" r="3.118"/>
</g>
<g id="Line_9_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="269.794" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="269.794" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="269.794" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="269.794" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="269.794" cy="461.485" r="3.118"/>
</g>
<g id="Line_10_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="277.494" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="277.494" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="277.494" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="277.494" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="277.494" cy="461.485" r="3.118"/>
</g>
<g id="Line_11_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="285.194" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="285.194" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="285.194" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="285.194" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="285.194" cy="461.485" r="3.118"/>
</g>
<g id="Line_12_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="292.895" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="292.895" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="292.895" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="292.895" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="292.895" cy="461.485" r="3.118"/>
</g>
<g id="Line_13_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="300.594" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="300.594" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="300.594" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="300.594" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="300.594" cy="461.485" r="3.118"/>
</g>
<g id="Line_14_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="308.294" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="308.294" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="308.294" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="308.294" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="308.294" cy="461.485" r="3.118"/>
</g>
<g id="Line_15_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="315.994" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="315.994" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="315.994" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="315.994" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="315.994" cy="461.485" r="3.118"/>
</g>
<g id="Line_16_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="323.694" cy="430.685" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="323.694" cy="438.385" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="323.694" cy="446.085" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="323.694" cy="453.785" r="3.118"/>
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="323.694" cy="461.485" r="3.118"/>
</g>
</g>
<text id="Title_4_" transform="matrix(1 0 0 1 223 477.6693)" font-family="'SourceCodePro-Regular'" font-size="12">Breadboard</text>
</g>
<g id="Switch">
<rect id="Switch_1_" x="36.835" y="388.333" fill="none" stroke="#000000" stroke-miterlimit="10" width="28.346" height="28.346"/>
<text id="Title_6_" transform="matrix(1 0 0 1 30.5291 381.9997)" font-family="'SourceCodePro-Regular'" font-size="12">Switch</text>
</g>
<g id="RN-52">
<rect id="Board" x="191.316" y="161.316" fill="none" stroke="#000000" stroke-miterlimit="10" width="102.047" height="147.402"/>
<text id="Title" transform="matrix(1 0 0 1 226 235.0166)" font-family="'SourceCodePro-Regular'" font-size="12">RN-52</text>
<g id="Right">
<g id="GND">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="302.085" r="2.835"/>
<text transform="matrix(1 0 0 1 272.4502 303.6693)" font-family="'SourceCodePro-Regular'" font-size="6">GND</text>
</g>
<g id="PCM_x5F_CK">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="295.085" r="2.835"/>
<text transform="matrix(1 0 0 1 261.6504 296.6693)" font-family="'SourceCodePro-Regular'" font-size="6">PCM_CK</text>
</g>
<g id="PCM_x5F_SYNC">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="288.085" r="2.835"/>
<text transform="matrix(1 0 0 1 254.4502 289.6693)" font-family="'SourceCodePro-Regular'" font-size="6">PCM_SYNC</text>
</g>
<g id="PCM_x5F_OUT">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="281.085" r="2.835"/>
<text transform="matrix(1 0 0 1 258.0503 282.6693)" font-family="'SourceCodePro-Regular'" font-size="6">PCM_OUT</text>
</g>
<g id="PCM_x5F_IN">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="274.085" r="2.835"/>
<text transform="matrix(1 0 0 1 261.6504 275.6693)" font-family="'SourceCodePro-Regular'" font-size="6">PCM_IN</text>
</g>
<g id="SPI_x5F_SS">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="267.085" r="2.835"/>
<text transform="matrix(1 0 0 1 261.6504 268.6693)" font-family="'SourceCodePro-Regular'" font-size="6">SPI_SS</text>
</g>
<g id="SPI_x5F_MISO">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="260.085" r="2.835"/>
<text transform="matrix(1 0 0 1 254.4502 261.6693)" font-family="'SourceCodePro-Regular'" font-size="6">SPI_MISO</text>
</g>
<g id="SPI_x5F_CLK">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="253.085" r="2.835"/>
<text transform="matrix(1 0 0 1 258.0503 254.6693)" font-family="'SourceCodePro-Regular'" font-size="6">SPI_CLK</text>
</g>
<g id="SPI_x5F_MOSI">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="246.085" r="2.835"/>
<text transform="matrix(1 0 0 1 254.4502 247.6693)" font-family="'SourceCodePro-Regular'" font-size="6">SPI_MOSI</text>
</g>
<g id="LED1">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="239.085" r="2.835"/>
<text transform="matrix(1 0 0 1 268.8501 240.6693)" font-family="'SourceCodePro-Regular'" font-size="6">LED1</text>
</g>
<g id="LED0">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="232.085" r="2.835"/>
<text transform="matrix(1 0 0 1 268.8501 233.6693)" font-family="'SourceCodePro-Regular'" font-size="6">LED0</text>
</g>
<g id="M_x5F_BIAS">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="225.085" r="2.835"/>
<text transform="matrix(1 0 0 1 261.6504 226.6693)" font-family="'SourceCodePro-Regular'" font-size="6">M_BIAS</text>
</g>
<g id="MIC_x5F_L_x2B_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="218.085" r="2.835"/>
<text transform="matrix(1 0 0 1 261.6504 219.6693)" font-family="'SourceCodePro-Regular'" font-size="6">MIC_L+</text>
</g>
<g id="MIC_x5F_R_x2B_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="211.085" r="2.835"/>
<text transform="matrix(1 0 0 1 261.6504 212.6693)" font-family="'SourceCodePro-Regular'" font-size="6">MIC_R+</text>
</g>
<g id="MIC_x5F_L-">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="204.085" r="2.835"/>
<text transform="matrix(1 0 0 1 261.6504 205.6693)" font-family="'SourceCodePro-Regular'" font-size="6">MIC_L-</text>
</g>
<g id="MIC_x5F_R-">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="197.085" r="2.835"/>
<text transform="matrix(1 0 0 1 261.6504 198.6693)" font-family="'SourceCodePro-Regular'" font-size="6">MIC_R-</text>
</g>
<g id="SPK_x5F_R-">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="190.085" r="2.835"/>
<text transform="matrix(1 0 0 1 261.6504 191.6693)" font-family="'SourceCodePro-Regular'" font-size="6">SPK_R-</text>
</g>
<g id="SPK_x5F_L-">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="183.085" r="2.835"/>
<text transform="matrix(1 0 0 1 261.6504 184.6693)" font-family="'SourceCodePro-Regular'" font-size="6">SPK_L-</text>
</g>
<g id="SPK_x5F_R_x2B_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="176.085" r="2.835"/>
<text transform="matrix(1 0 0 1 261.6504 177.6693)" font-family="'SourceCodePro-Regular'" font-size="6">SPK_R+</text>
</g>
<g id="SPK_x5F_L_x2B_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="287.835" cy="169.085" r="2.835"/>
<text transform="matrix(1 0 0 1 261.6504 170.6693)" font-family="'SourceCodePro-Regular'" font-size="6">SPK_L+</text>
</g>
</g>
<g id="Left_1_">
<g id="_x33_.3V">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="302.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 303.6693)" font-family="'SourceCodePro-Regular'" font-size="6">3.3V</text>
</g>
<g id="PWR_x5F_EN">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="295.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 296.6693)" font-family="'SourceCodePro-Regular'" font-size="6">PWR_EN</text>
</g>
<g id="GPIO6">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="288.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 289.6693)" font-family="'SourceCodePro-Regular'" font-size="6">GPIO6</text>
</g>
<g id="GPIO7">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="281.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 282.6693)" font-family="'SourceCodePro-Regular'" font-size="6">GPIO7</text>
</g>
<g id="UART_x5F_RX">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="274.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 275.6693)" font-family="'SourceCodePro-Regular'" font-size="6">UART_RX</text>
</g>
<g id="UART_x5F_TX">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="267.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 268.6693)" font-family="'SourceCodePro-Regular'" font-size="6">UART_TX</text>
</g>
<g id="UART_x5F_CTS">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="260.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 261.6693)" font-family="'SourceCodePro-Regular'" font-size="6">UART_CTS</text>
</g>
<g id="UART_x5F_RTS">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="253.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 254.6693)" font-family="'SourceCodePro-Regular'" font-size="6">UART_RTS</text>
</g>
<g id="USBD_x2B_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="246.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 247.6693)" font-family="'SourceCodePro-Regular'" font-size="6">USBD+</text>
</g>
<g id="USBD-">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="239.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 240.6693)" font-family="'SourceCodePro-Regular'" font-size="6">USBD-</text>
</g>
<g id="GPIO9">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="232.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 233.6693)" font-family="'SourceCodePro-Regular'" font-size="6">GPIO9</text>
</g>
<g id="GPIO10">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="225.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 226.6693)" font-family="'SourceCodePro-Regular'" font-size="6">GPIO10</text>
</g>
<g id="GPIO11">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="218.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 219.6693)" font-family="'SourceCodePro-Regular'" font-size="6">GPIO11</text>
</g>
<g id="GPIO13">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="211.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 212.6693)" font-family="'SourceCodePro-Regular'" font-size="6">GPIO13</text>
</g>
<g id="GPIO12">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="204.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 205.6693)" font-family="'SourceCodePro-Regular'" font-size="6">GPIO12</text>
</g>
<g id="GPIO5">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="197.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 198.6693)" font-family="'SourceCodePro-Regular'" font-size="6">GPIO5</text>
</g>
<g id="GPIO4">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="190.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 191.6693)" font-family="'SourceCodePro-Regular'" font-size="6">GPIO4</text>
</g>
<g id="ACI0">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="183.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 184.6693)" font-family="'SourceCodePro-Regular'" font-size="6">ACI0</text>
</g>
<g id="GPIO2">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="176.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 177.6693)" font-family="'SourceCodePro-Regular'" font-size="6">GPIO2</text>
</g>
<g id="GPIO3">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="196.835" cy="169.085" r="2.835"/>
<text transform="matrix(1 0 0 1 201.25 170.6693)" font-family="'SourceCodePro-Regular'" font-size="6">GPIO3</text>
</g>
</g>
</g>
<g id="Speaker">
<circle id="Speaker_1_" fill="none" stroke="#000000" stroke-miterlimit="10" cx="488.128" cy="494.053" r="109.134"/>
<text id="Title_5_" transform="matrix(1 0 0 1 462.929 493.9997)" font-family="'SourceCodePro-Regular'" font-size="12">Speaker</text>
</g>
<g id="AMP">
<path id="Board_2_" fill="none" stroke="#000000" stroke-miterlimit="10" d="M471,287.419c0,1.566-1.269,2.835-2.835,2.835h-59.131
c-1.566,0-2.835-1.269-2.835-2.835v-74.251c0-1.566,1.269-2.835,2.835-2.835h59.131c1.566,0,2.835,1.269,2.835,2.835V287.419z"/>
<g id="Right_1_">
<text transform="matrix(1 0 0 1 464.035 273.0847)" font-family="'SourceCodePro-Regular'" font-size="6">+</text>
<circle id="L_x2B__1_" fill="none" stroke="#000000" stroke-miterlimit="10" cx="465.835" cy="265.044" r="2.835"/>
<text transform="matrix(1 0 0 1 446.5998 262.2094)" font-family="'SourceCodePro-Regular'" font-size="6">Left</text>
<circle id="L-_1_" fill="none" stroke="#000000" stroke-miterlimit="10" cx="465.835" cy="257.044" r="2.835"/>
<text transform="matrix(1 0 0 1 464.035 253.0848)" font-family="'SourceCodePro-Regular'" font-size="6">-</text>
<circle id="R-_1_" fill="none" stroke="#000000" stroke-miterlimit="10" cx="465.835" cy="245.044" r="2.835"/>
<text transform="matrix(1 0 0 1 443.0002 242.2094)" font-family="'SourceCodePro-Regular'" font-size="6">Right</text>
<circle id="R_x2B__1_" fill="none" stroke="#000000" stroke-miterlimit="10" cx="465.835" cy="237.044" r="2.835"/>
<text transform="matrix(1 0 0 1 464.035 232.0848)" font-family="'SourceCodePro-Regular'" font-size="6">+</text>
</g>
<g id="Left">
<g id="G1">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="411.835" cy="281.085" r="2.835"/>
<text transform="matrix(1 0 0 1 416.25 282.6693)" font-family="'SourceCodePro-Regular'" font-size="6">G1</text>
</g>
<g id="G0">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="411.835" cy="274.085" r="2.835"/>
<text transform="matrix(1 0 0 1 416.25 275.6693)" font-family="'SourceCodePro-Regular'" font-size="6">G0</text>
</g>
<g id="SDL">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="411.835" cy="267.085" r="2.835"/>
<text transform="matrix(1 0 0 1 416.25 268.6693)" font-family="'SourceCodePro-Regular'" font-size="6">SDL</text>
</g>
<g id="L_x2B_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="411.835" cy="260.085" r="2.835"/>
<text transform="matrix(1 0 0 1 416.25 261.6693)" font-family="'SourceCodePro-Regular'" font-size="6">L+</text>
</g>
<g id="L-">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="411.835" cy="253.085" r="2.835"/>
<text transform="matrix(1 0 0 1 416.25 254.6693)" font-family="'SourceCodePro-Regular'" font-size="6">L-</text>
</g>
<g id="R-">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="411.835" cy="246.085" r="2.835"/>
<text transform="matrix(1 0 0 1 416.25 247.6693)" font-family="'SourceCodePro-Regular'" font-size="6">R-</text>
</g>
<g id="R_x2B_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="411.835" cy="239.085" r="2.835"/>
<text transform="matrix(1 0 0 1 416.25 240.6693)" font-family="'SourceCodePro-Regular'" font-size="6">R+</text>
</g>
<g id="SDR">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="411.835" cy="232.085" r="2.835"/>
<text transform="matrix(1 0 0 1 416.25 233.6693)" font-family="'SourceCodePro-Regular'" font-size="6">SDR</text>
</g>
<g id="GND_3_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="411.835" cy="225.085" r="2.835"/>
<text transform="matrix(1 0 0 1 416.25 226.6693)" font-family="'SourceCodePro-Regular'" font-size="6">GND</text>
</g>
<g id="VDD">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="411.835" cy="218.085" r="2.835"/>
<text transform="matrix(1 0 0 1 416.25 219.6693)" font-family="'SourceCodePro-Regular'" font-size="6">VDD</text>
</g>
</g>
<text id="Title_2_" transform="matrix(1 0 0 1 429 254.6693)" font-family="'SourceCodePro-Regular'" font-size="12">AMP</text>
</g>
<g id="Arduino">
<rect id="Board_3_" x="27.835" y="287" fill="none" stroke="#000000" stroke-miterlimit="10" width="93.6" height="50.4"/>
<g id="Bottom_1_">
<g id="_x31_0">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="32.835" cy="332.488" r="2.835"/>
<text transform="matrix(1 0 0 1 31.0359 328.501)" font-family="'SourceCodePro-Regular'" font-size="3">10</text>
</g>
<g id="_x31_1">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="39.835" cy="332.488" r="2.835"/>
<text transform="matrix(1 0 0 1 38.0359 328.501)" font-family="'SourceCodePro-Regular'" font-size="3">11</text>
</g>
<g id="_x31_2">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="46.835" cy="332.488" r="2.835"/>
<text transform="matrix(1 0 0 1 45.0359 328.501)" font-family="'SourceCodePro-Regular'" font-size="3">12</text>
</g>
<g id="_x31_3">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="53.835" cy="332.488" r="2.835"/>
<text transform="matrix(1 0 0 1 52.0359 328.501)" font-family="'SourceCodePro-Regular'" font-size="3">13</text>
</g>
<g id="A0">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="60.835" cy="332.488" r="2.835"/>
<text transform="matrix(1 0 0 1 59.0359 328.501)" font-family="'SourceCodePro-Regular'" font-size="3">A0</text>
</g>
<g id="A1">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="67.835" cy="332.488" r="2.835"/>
<text transform="matrix(1 0 0 1 66.0359 328.501)" font-family="'SourceCodePro-Regular'" font-size="3">A1</text>
</g>
<g id="A2">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="74.835" cy="332.488" r="2.835"/>
<text transform="matrix(1 0 0 1 73.0359 328.501)" font-family="'SourceCodePro-Regular'" font-size="3">A2</text>
</g>
<g id="A3">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="81.835" cy="332.488" r="2.835"/>
<text transform="matrix(1 0 0 1 80.0359 328.501)" font-family="'SourceCodePro-Regular'" font-size="3">A3</text>
</g>
<g id="VCC_2_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="88.835" cy="332.488" r="2.835"/>
<text transform="matrix(1 0 0 1 86.1355 328.501)" font-family="'SourceCodePro-Regular'" font-size="3">VCC</text>
</g>
<g id="RST_1_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="95.835" cy="332.488" r="2.835"/>
<text transform="matrix(1 0 0 1 93.1355 328.501)" font-family="'SourceCodePro-Regular'" font-size="3">RST</text>
</g>
<g id="GND_6_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="102.835" cy="332.488" r="2.835"/>
<text transform="matrix(1 0 0 1 100.1355 328.501)" font-family="'SourceCodePro-Regular'" font-size="3">GND</text>
</g>
<g id="RAW">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="109.835" cy="332.488" r="2.835"/>
<text transform="matrix(1 0 0 1 107.1355 328.501)" font-family="'SourceCodePro-Regular'" font-size="3">RAW</text>
</g>
</g>
<g id="Middle">
<g id="A6">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="50.358" cy="323.488" r="2.835"/>
<text transform="matrix(1 0 0 1 48.5589 319.501)" font-family="'SourceCodePro-Regular'" font-size="3">A6</text>
</g>
<g id="A5_1_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="57.358" cy="323.488" r="2.835"/>
<text transform="matrix(1 0 0 1 55.5589 319.501)" font-family="'SourceCodePro-Regular'" font-size="3">A7</text>
</g>
<g id="A4">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="78.358" cy="323.488" r="2.835"/>
<text transform="matrix(1 0 0 1 76.5589 319.501)" font-family="'SourceCodePro-Regular'" font-size="3">A4</text>
</g>
<g id="A5">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="85.358" cy="323.488" r="2.835"/>
<text transform="matrix(1 0 0 1 83.5589 319.501)" font-family="'SourceCodePro-Regular'" font-size="3">A5</text>
</g>
</g>
<g id="Right_2_">
<g id="GRN">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="116.835" cy="329.603" r="2.835"/>
<text transform="matrix(1 0 0 1 114.1346 336.1875)" font-family="'SourceCodePro-Regular'" font-size="3">GRN</text>
</g>
<g id="TXO_1_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="116.849" cy="322.478" r="2.835"/>
<text transform="matrix(0 1 -1 0 110.2646 319.7778)" font-family="'SourceCodePro-Regular'" font-size="3">TXO</text>
</g>
<g id="RXI_1_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="116.849" cy="315.478" r="2.835"/>
<text transform="matrix(0 1 -1 0 110.2646 312.7778)" font-family="'SourceCodePro-Regular'" font-size="3">RXI</text>
</g>
<g id="VCC_1_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="116.849" cy="308.478" r="2.835"/>
<text transform="matrix(0 1 -1 0 110.2646 305.7778)" font-family="'SourceCodePro-Regular'" font-size="3">VCC</text>
</g>
<g id="GND_5_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="116.849" cy="301.478" r="2.835"/>
<text transform="matrix(0 1 -1 0 110.2646 298.7778)" font-family="'SourceCodePro-Regular'" font-size="3">GND</text>
</g>
<g id="BLK">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="116.835" cy="294.488" r="2.835"/>
<text transform="matrix(1 0 0 1 114.1355 290.501)" font-family="'SourceCodePro-Regular'" font-size="3">BLK</text>
</g>
</g>
<g id="Top">
<g id="_x39_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="32.835" cy="292.085" r="2.835"/>
<text transform="matrix(1 0 0 1 31.9349 298.6695)" font-family="'SourceCodePro-Regular'" font-size="3">9</text>
</g>
<g id="_x38_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="39.835" cy="292.085" r="2.835"/>
<text transform="matrix(1 0 0 1 38.9349 298.6695)" font-family="'SourceCodePro-Regular'" font-size="3">8</text>
</g>
<g id="_x37_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="46.835" cy="292.085" r="2.835"/>
<text transform="matrix(1 0 0 1 45.9349 298.6695)" font-family="'SourceCodePro-Regular'" font-size="3">7</text>
</g>
<g id="_x36_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="53.835" cy="292.085" r="2.835"/>
<text transform="matrix(1 0 0 1 52.9349 298.6695)" font-family="'SourceCodePro-Regular'" font-size="3">6</text>
</g>
<g id="_x35_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="60.835" cy="292.085" r="2.835"/>
<text transform="matrix(1 0 0 1 59.9349 298.6695)" font-family="'SourceCodePro-Regular'" font-size="3">5</text>
</g>
<g id="_x34_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="67.835" cy="292.085" r="2.835"/>
<text transform="matrix(1 0 0 1 66.9349 298.6695)" font-family="'SourceCodePro-Regular'" font-size="3">4</text>
</g>
<g id="_x33_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="74.835" cy="292.085" r="2.835"/>
<text transform="matrix(1 0 0 1 73.9349 298.6695)" font-family="'SourceCodePro-Regular'" font-size="3">3</text>
</g>
<g id="_x32_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="81.835" cy="292.085" r="2.835"/>
<text transform="matrix(1 0 0 1 80.9349 298.6695)" font-family="'SourceCodePro-Regular'" font-size="3">2</text>
</g>
<g id="GND_4_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="88.835" cy="292.085" r="2.835"/>
<text transform="matrix(1 0 0 1 86.1346 298.6695)" font-family="'SourceCodePro-Regular'" font-size="3">GND</text>
</g>
<g id="RST">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="95.835" cy="292.085" r="2.835"/>
<text transform="matrix(1 0 0 1 93.1346 298.6695)" font-family="'SourceCodePro-Regular'" font-size="3">RST</text>
</g>
<g id="RXI">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="102.835" cy="292.085" r="2.835"/>
<text transform="matrix(1 0 0 1 100.1346 298.6695)" font-family="'SourceCodePro-Regular'" font-size="3">RXI</text>
</g>
<g id="TXO">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="109.835" cy="292.085" r="2.835"/>
<text transform="matrix(1 0 0 1 107.1346 298.6695)" font-family="'SourceCodePro-Regular'" font-size="3">TXO</text>
</g>
</g>
<text id="Title_3_" transform="matrix(1 0 0 1 49 316.6693)" font-family="'SourceCodePro-Regular'" font-size="12">Arduino</text>
</g>
<g id="Rotary">
<rect id="Box_1_" x="86" y="17" fill="none" stroke="#000000" stroke-miterlimit="10" width="113.386" height="56.693"/>
<text id="Title_7_" transform="matrix(1 0 0 1 121.0935 48.3463)" font-family="'SourceCodePro-Regular'" font-size="12">Rotary</text>
<g id="Start_Position">
<g id="In_1_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="166.835" cy="67.085" r="2.835"/>
<text transform="matrix(1 0 0 1 155.0503 68.6693)" font-family="'SourceCodePro-Regular'" font-size="6">In</text>
</g>
<g id="Out">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="174.835" cy="67.085" r="2.835"/>
<text transform="matrix(1 0 0 1 179.25 68.6693)" font-family="'SourceCodePro-Regular'" font-size="6">Out</text>
</g>
<text transform="matrix(1 0 0 1 145.4681 62.0026)" font-family="'SourceCodePro-Regular'" font-size="6">Start Position</text>
</g>
<g id="Dial">
<g id="In_3_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="108.835" cy="67.085" r="2.835"/>
<text transform="matrix(1 0 0 1 97.0503 68.6693)" font-family="'SourceCodePro-Regular'" font-size="6">In</text>
</g>
<g id="Out_2_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="116.835" cy="67.085" r="2.835"/>
<text transform="matrix(1 0 0 1 121.25 68.6693)" font-family="'SourceCodePro-Regular'" font-size="6">Out</text>
</g>
<text transform="matrix(1 0 0 1 105.4681 62.0026)" font-family="'SourceCodePro-Regular'" font-size="6">Dial</text>
</g>
</g>
<g id="Handset">
<rect id="Box_3_" x="366" y="17" fill="none" stroke="#000000" stroke-miterlimit="10" width="113.386" height="56.693"/>
<text id="Title_10_" transform="matrix(1 0 0 1 397.4934 48.3463)" font-family="'SourceCodePro-Regular'" font-size="12">Handset</text>
<g id="Microphone_2_">
<g id="_x2B__4_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="446.835" cy="67.085" r="2.835"/>
<text transform="matrix(1 0 0 1 438.6499 68.6693)" font-family="'SourceCodePro-Regular'" font-size="6">+</text>
</g>
<g id="_x2D__4_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="454.835" cy="67.085" r="2.835"/>
<text transform="matrix(1 0 0 1 459.25 68.6693)" font-family="'SourceCodePro-Regular'" font-size="6">-</text>
</g>
<text transform="matrix(1 0 0 1 432.6683 62.0026)" font-family="'SourceCodePro-Regular'" font-size="6">Microphone</text>
</g>
<g id="Speaker_2_">
<g id="_x2B__1_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="388.835" cy="67.085" r="2.835"/>
<text transform="matrix(1 0 0 1 380.6499 68.6693)" font-family="'SourceCodePro-Regular'" font-size="6">+</text>
</g>
<g id="_x2D__1_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="396.835" cy="67.085" r="2.835"/>
<text transform="matrix(1 0 0 1 401.25 68.6693)" font-family="'SourceCodePro-Regular'" font-size="6">-</text>
</g>
<text transform="matrix(1 0 0 1 380.0682 62.0026)" font-family="'SourceCodePro-Regular'" font-size="6">Speaker</text>
</g>
</g>
<g id="Hook">
<rect id="Box" x="226" y="17" fill="none" stroke="#000000" stroke-miterlimit="10" width="113.386" height="56.693"/>
<text id="Title_8_" transform="matrix(1 0 0 1 268.2932 48.3463)" font-family="'SourceCodePro-Regular'" font-size="12">Hook</text>
<g id="In_2_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="278.835" cy="67.085" r="2.835"/>
<text transform="matrix(1 0 0 1 267.0503 68.6693)" font-family="'SourceCodePro-Regular'" font-size="6">In</text>
</g>
<g id="Out_1_">
<circle fill="none" stroke="#000000" stroke-miterlimit="10" cx="286.835" cy="67.085" r="2.835"/>
<text transform="matrix(1 0 0 1 291.25 68.6693)" font-family="'SourceCodePro-Regular'" font-size="6">Out</text>
</g>
</g>
<g id="Cables">
<polyline fill="none" stroke="#ED1C24" stroke-width="2" stroke-miterlimit="10" points="86.835,551.085 86.835,517.485
200.494,517.485 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="99.835,551.085 99.835,461.485
200.494,461.485 "/>
<polyline fill="none" stroke="#ED1C24" stroke-width="2" stroke-miterlimit="10" points="200.494,486.685 200.289,480 323.489,480
323.694,486.685 "/>
<polyline fill="none" stroke="#ED1C24" stroke-width="2" stroke-miterlimit="10" points="200.494,509.785 171,509.785 171,302.085
196.835,302.085 "/>
<polyline fill="none" stroke="#ED1C24" stroke-width="2" stroke-miterlimit="10" points="200.494,502.085 179.5,502.085
179.5,295.085 196.835,295.085 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="200.494,446.085 189.997,446.085
189.997,376 306,376 306,302.085 287.835,302.085 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="111.835,551.085 111.835,528 39.835,528
39.836,416.68 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="200.494,453.785 60.836,453.785
60.836,416.68 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="200.494,430.685 200.494,419 323.694,419
323.694,430.685 "/>
<polyline fill="none" stroke="#ED1C24" stroke-width="2" stroke-miterlimit="10" points="200.494,494.385 88.836,494.385
88.835,332.488 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="200.494,438.385 194,438.385 194,413.436
315.994,413.436 315.994,430.685 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="323.694,438.385 348,438.385 348,351
102.836,351 102.835,332.488 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="323.694,446.085 368,446.085 368,225.085
411.835,225.085 "/>
<polyline fill="none" stroke="#ED1C24" stroke-width="2" stroke-miterlimit="10" points="323.694,494.385 355.5,494.385
355.5,218.085 411.835,218.085 "/>
<polyline fill="none" stroke="#ED1C24" stroke-width="2" stroke-miterlimit="10" points="465.835,265.044 509.333,265.044
509.333,386.982 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="465.835,257.044 536.333,257.044
536.333,396.121 "/>
<polyline fill="none" stroke="#00AEEF" stroke-width="2" stroke-miterlimit="10" points="81.835,292.085 81.835,267.085
196.835,267.085 "/>
<polyline fill="none" stroke="#2BB673" stroke-width="2" stroke-miterlimit="10" points="74.835,292.085 74.635,274.085
196.835,274.085 "/>
<polyline fill="none" stroke="#9E1F63" stroke-width="2" stroke-miterlimit="10" points="67.835,292.085 67.836,176.085
196.835,176.085 "/>
<polyline fill="none" stroke="#9E1F63" stroke-width="2" stroke-miterlimit="10" points="287.835,169.085 388.835,169.085
388.835,67.085 "/>
<polyline fill="none" stroke="#262262" stroke-width="2" stroke-miterlimit="10" points="287.835,183.085 396.835,183.085
396.835,67.085 "/>
<polyline fill="none" stroke="#F15A29" stroke-width="2" stroke-miterlimit="10" points="287.835,176.085 318.576,176.085
318.576,259.879 411.835,260.085 "/>
<polyline fill="none" stroke="#3C2415" stroke-width="2" stroke-miterlimit="10" points="287.835,190.085 311.413,190.085
311.413,253.085 411.835,253.085 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="116.835,67.085 116.835,209.75
144.665,209.75 144.665,393.5 315.994,393.5 315.994,438.385 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="174.835,67.085 174.835,210.333
150,210.333 150,385.436 315.994,385.436 315.994,446.085 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="286.835,67.085 286.835,125.085
321,125.085 321,318.312 315.994,318.312 315.994,453.785 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="315.994,461.485 315.994,469.5
361.5,469.5 361.5,201.25 454.835,201.25 454.835,67.085 "/>
<g id="_x31_0k_Resistor">
<text transform="matrix(1 0 0 1 299.7 532)" font-family="'SourceCodePro-Regular'" font-size="3">10k OHM</text>
<rect id="Resistor" x="295.057" y="528.826" fill="none" stroke="#000000" width="21.886" height="4.193"/>
<polyline fill="none" stroke="#000000" points="323.694,517.485 323.694,530.922 316.943,530.922 "/>
<polyline fill="none" stroke="#000000" points="292.895,517.485 292.895,530.922 295.057,530.922 "/>
</g>
<g id="_x31_0uF_Cap">
<path id="path17478" fill="none" stroke="#010101" stroke-width="1.5" d="M276,533.001C276,555,276,555,276,555"/>
<path id="path17480" fill="none" stroke="#010101" stroke-width="1.5" d="M279,555v-21.999"/>
<polyline fill="none" stroke="#010101" stroke-width="1.5" points="292.895,509.785 292.895,544.001 279,544.001 "/>
<polyline fill="none" stroke="#010101" stroke-width="1.5" points="269.794,517.485 269.794,544.001 276,544.001 "/>
<text transform="matrix(1 0 0 1 274.2502 530.9223)" font-family="'SourceCodePro-Regular'" font-size="3">10uF</text>
</g>
<polyline fill="none" stroke="#F9ED32" stroke-width="2" points="292.895,502.085 296.013,524.203 373,524.203 373,192.919
446.835,192.919 446.835,67.085 "/>
<polyline fill="none" stroke="#9E1F63" stroke-width="2" points="269.794,509.785 257.513,568.5 350.333,568.5 350.333,218.085
287.835,218.085 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="196.835,281.085 158.75,281.085
158.75,369.25 342.5,369.25 342.5,453.785 323.694,453.785 "/>
<polyline fill="none" stroke="#EE2A7B" stroke-width="2" stroke-miterlimit="10" points="32.835,292.085 32.836,131.333
337,131.333 337,267.085 411.835,267.085 "/>
<polyline fill="none" stroke="#006838" stroke-width="2" stroke-miterlimit="10" points="39.835,292.085 39.835,99 108.835,99
108.835,67.085 "/>
<polyline fill="none" stroke="#2E3192" stroke-width="2" stroke-miterlimit="10" points="46.835,292.085 46.836,110.333
166.835,110.333 166.835,67.085 "/>
<polyline fill="none" stroke="#F7941E" stroke-width="2" stroke-miterlimit="10" points="53.835,292.085 53.836,122.333
278.835,122.333 278.835,67.085 "/>
<polyline fill="none" stroke="#C2B59B" stroke-width="2" stroke-miterlimit="10" points="196.835,232.085 60.835,232.085
60.835,292.085 "/>
</g>
</svg>
Loading…
Cancel
Save