Voice Activated, Motorized Baby Gate
Landstown High School
Christopher Altman, Senior Design Robotics Pathway, Landstown High School.
This research was supported in part by the project mentors William T. Anderson, Jr and Donald Alex Barnes IV.
Correspondences concerning this article should be addressed to Christopher Altman, Senior Design Robotics Pathway, Landstown High School, 3141 Ashaway Road, Virginia Beach, Virginia 23452. Contact: [email protected]
This paper explores the possibility of automating a baby gate and attaching voice control as a means of operating the gate hands-free. This paper includes a proposal for development of such a baby gate. The proposal discusses the benefits and downfalls of current baby gate systems and explains the reasoning and necessity for a robotic, voice controlled baby gate. The components crucial to the development of such a baby gate will be defined as motor type, motor control, voice activation, and programming, all of which must be properly integrated into the system of the gate creating a perfectly coordinated and cooperative unit. Each necessary component will be described, along with the possible options for that component. The different types of motors available for projects such as this will be listed and explained. Discussion of the types of motor control necessary, such as speed and direction, will occur. Description of possible ways to achieve voice activation will be detailed. Different programming language options will be listed and each language will be discussed.
Keywords: baby gate, motorized, voice-activation
Voice Activated, Motorized Baby Gate
Voice Activated, Motorized Baby Gate
A project has been proposed to develop a motorized baby gate that operates off voice activation. This proposal could alleviate frustrations of the currently existing manual baby gate and help in easing the frustrations of residing in a gated household.
Gates have often been used in the home to prevent babies and animals from entering areas of danger (Safety). Once a baby starts crawling, certain areas of the house can now become dangerous to them (Collins). The gate prevents the babies, or animals, from entering rooms that could cause potential harm and keep the babies and animals contained in a smaller space of the house, making it easier to protect them from possible injury (Collins). Gates can lock off the kitchen, stairs, and other treacherous locations of the house (Safety). Although extremely useful in preventing accidents, gates can also pose issues as well.
State the Problem
A recent issue has been the irritation of lacking an easily maneuverable gate for use in houses with babies or pets (Best). Many modern gates require the use of free hands to open and close them (Best). The gates contain handles to operate them and some even require removal completely in order to pass through (Best). Imagine attempting to pass through modern gates with a 20 pound sleeping baby in your arms; suddenly the realization crosses the mind, “How can this gate get opened with no hands?” As technology grows, the possibility of a gate can be extended to electronics. Also with modern gates is the extensively time consuming and difficult set up (Collins). Some gates require screwing the ends into the wall, not okay (Best). Others contained extendable ends that must be turned forever in order to extend the rod far enough out to securely fasten to the wall (Best).
Pressure to hold up the gate
Accordion door style gate
Linear gear system
Bar style door
Select a Solution
A proposed solution to this issue would be to integrate robotic technology into the gate. This could be done through the use of a linear gear system and voice activation to add ease to the opening and closing of the gate. Also, the motors rotation will turn extending a linear track that will stop once pressed against the presiding wall. The current of the motor will be monitored until the current has recognized a significant change in current. Alongside the linear gear system, a voice activation feature will allow the consumer to control the gate through the commands “Open” and “Close”; a button will be used to turn the voice activation feature on and off. The off feature of the switch will prevent toddlers from accessing the gate’s opening component. Furthermore, the gate will use the properties of a swinging door, bar style, allowing gravity to naturally sit the door in resting place horizontally from the other side of the doorway. Also the gate will be attached to the wall without the use of screws or pressure. By applying modern technology, gates can be fastened to the wall with a sticky adhesive (large command strip) that is strong and secure, yet easily removable and replaceable when relocation is necessary.
Build the Item
One mentor’s background will be in both mechanical and electrical engineering. Through shared ideas and comments from the mentor a prototype will be constructed with both donated and bought parts. A base baby gate has been donated while all additions will be 3D printed or bought. The linear gear, bar style hinge, and circular gear will be 3D printed while the motor, circuit board, and voice receiver will be bought at an electronics store.
Type of material that will hold on the wall when adhesive command strip is attached (lightweight and durable).
Incorporating different languages within the voice activation feature.
Opening and closing speed of the swinging door and linear gear system.
Specifications of the battery that will be powering the gate.
One mentor will be a full time baby sitter and will provide great feedback on the baby gate’s strengths and weaknesses
This innovative gate would prove useful to anyone housing a baby or animal and needing to restrict portions of their home from the baby or animal. Finally, the gate would also incorporate electronics and motor programming, and it will introduce the first electronic baby gate inside the everyday household.
Results and a prototype will be presented in a presentation at an expo. The feedback from the mentors and all evaluation information will be given during the presentation along with a prototype demonstration showing all results from the prototype.
Designing a motorized gate requires extensive knowledge of robotics, motors, and programming. Several components will need to be integrated together to accomplish such a task. With baby gates being an important aspect of protection for young adventurers and animals (Safety), a voice command and motorized baby gate would be ideal in easing the complications of becoming a gated household. Most modern baby gates are manually operated, creating difficulty in opening and closing while caring for a young child (Best). Motor type, motor control, voice activation, and programming are crucial to the voice command ability of a motorized gate.
Baby gates are crucial in protecting small children, “every six minutes, a child is taken to the emergency room with a stair-related injury” (Caruso). “In 2013, over 126,035 children were injured and treated for burn related injuries” (Burns). “Poison control centers receive 2.4 million calls related to accidental poisoning in children each year” (Safety Around). Given all the hazards present in the household, statistics estimate approximately 3.4 million emergency room visits reported annually resulting from home accidents (Safety Around). Currently there are two types of baby gates: pressure mounted and hardware mounted gates (Miller). Each has advantages and disadvantages, but neither gives the simplicity of hands-free voice operation (Miller). Given all the statistics mentioned, a well-developed baby gate is imperative in order to avoid some of the household hazards and cut down on the amount of home accidents.
Types of Motors
When it comes to robotics and automating small devices, three motor types lead the industry: DC motors, stepper motors, and servo motors (McComb). “All motors are available in different sizes” (McComb). Small motors provide more compactness for space sensitive projects; however, the larger motors will produce more torque (McComb). The torque can be increased on the motor with the use of gear reduction (McComb). Deciding which motor type is best for the project at hand can sometimes be difficult (McComb).
Continuous DC motors continually rotate, only stopping once power is removed (McComb). These motors are controlled by computers and motor boards easily (McComb). Much of the time, these motors will require the torque be increased through gear reduction in order to drive the load required (McComb). DC motors tend to pose mounting difficulty due to the “poor standards in sizing and mounting arrangements” (McComb). There are different types of DC motors (McComb). DC motors have two main elements: the field windings and the armature (Csanyi).
Permanent magnet (permanent magnet stator). “The permanent magnet motor uses a magnet to supply field flux” (Csanyi). This type of motor provides good starting torque and speed regulation is good (Csanyi). The amount of load a permanent magnet motor can drive is limited (Csanyi).
Series Motor (wound stator). The field of a series motor is connected in series to the armature (Csanyi). Having to carry the full current from the armature, the motor must contain a few layers of large wire wound around the field to enable the ability to handle that load (Csanyi). Series motors have a large amount of starting torque, but the speed varies greatly dependent on if there is a currently a load on the motor (Csanyi). The varying speed makes it unrealistic to use series motors where constant speed is required with varying loads (Csanyi).
Shunt (wound stator). With a shunt motor, the field and the armature are connected in parallel (Csanyi). Shunt motors provide good speed regulation and offers simplified control when reversing (Csanyi). The shunt motor allows for separate control of the armature and the field (Csanyi).
Compound (wound stator). The field and armature are connected in series with a compound motor, but it also contains a separately excited shunt field (Csanyi). Better starting torque is provided by the series field and better speed regulation is provided by the shunt field (Csanyi).
When power is applied to a stepper motor, the shafts rotates only a few degrees then stops (McComb). Due to the continuous shaft rotation, the power to the motor must be pulsed (McComb). Stepper motors require a special driving circuit in order to obtain stepping rotation (McComb). Stepper motors can be reasonably priced, but tend to provide poor performance when dealing with varying loads and require high current consumption (McComb). The theory of operation for magnets is utilized by stepper motors to provide movement of the motor shaft a precise distance every time a pulse of electricity is sent to the motor (Agarwal). Approximately 15 degrees of rotation is performed by the rotor with each pulse of electricity the motor recieves (Agarwal). There are different types of stepper motors, with permanent magnet steppers being the most common (McComb).
Permanent magnet stepper. In a permanent magnet motor, the rotor makes utilizes a permanent magnet to operate on attraction and repulsion between the stator electromagnets and the rotor’s permanent magnet (Agarwal).
Hybrid synchronous stepper. Hybrid motors use a combination of permanent magnet and variable reluctance techniques (Agarwal). These motors can achieve maximum power with a relatively small size (Agarwal).
Variable reluctance stepper. With a variable reluctance motor, the rotor is plain iron and operates off the “principle that minimum reluctance occurs with minimum gap”, meaning the stator magnet poles attract the iron rotor points (Agarwal).
Servo motors can provide precise angular control to a project and with some modification can provide continuous rotation (McComb). Servo motors come in several sizes and contain standard mounting holes (McComb). Servo motors are not very powerful and require a special driving circuit (McComb). Given all the different gear motor types, the servo motor is the least costly (McComb). Servo motors run off small DC motors that produce high speed and low torque, with a series of gears the servo system slows down the speed while increasing the torque (Eglowstein).
Positional rotation servo. Positional rotational servo motors are the most common of the servo motors (Eglowstein). The motor has physical stops in the gear mechanisms to prevent the shaft from rotating more than 180 degrees (Eglowstein). Preventing the shaft from rotating in excess of 180 degrees, protects the rotational sensor (Eglowstein).
Continuous rotation servo. The design of the continuous rotation servo is similar to the positional rotation servo, except that it has the ability to turn in both directions indefinitely (Eglowstein). The direction and speed of the rotation interprets the control signal instead of setting a static position (Eglowstein). Command signals determine the direction and speed of the motor rotation (Eglowstein).
Linear servo. The linear servo is similar to the positional rotation sensor, however, additional gears allow the output to be changed to a back-and-forth motion rather than a circular motion (Eglowstein). The additional gears are usually provide through a rack and pinion mechanism (Eglowstein). These motors are somewhat hard to locate and used mainly as actuators in large model airplanes (Eglowstein).
With the gate being motorized, certain aspects of the motor must be controlled in order for the gate to function properly. The speed of the motor and the direction the motor turns are both items that must be controlled to ensure smooth operation of the gate.
If the motor rotates the gear too quickly, it could strip the gears or throw the gears off track with sudden jolts from the speed. The motor speed must be slowed down in order for the gate to open and close properly. The speed of the motor can be controlled by a gearbox or speed set command in the programming.
Reduction Gear. Gears can be used to slow the speed of the motor down. In order to slow things down within a machine, reduction gears which are part of a mechanical system of gears and shafts are utilized to achieve output speed reduction (Back). Reduction gears can reduce the output speed, while increasing the torque on the output end of the system (Back).
Gearbox. Reduction gears are part of a gearbox system, which is designed to slow the speed of the motor (Back). The concept is not very complex; the gears should have the same teeth size, but be different diameters with one gear smaller than the other gear (Back). The gearbox can contain as many additional gears as needed to slow the speed of the motor to a desired rate (Back).
Gearbox operation. Although the teeth size and pattern are the same on the gears, the smaller gear will have half the teeth of the larger gear due to the size difference even though the teeth pattern remains the same (Back). When energized, the smaller gear will make twice as many revolutions as the larger gear; meaning that for every two revolutions of the small gear, the larger gear will only revolve once, allowing the motor to spin the small gear fast while rechanneling some of the energy so that the main gear has decreased speed with increased torque (Back).
Determining ratio. Gearbox systems can be designed to operate at different ratios meaning that the reduction in speed and increase in torque can be varied dependent on what is needed for the system (Back). The ratio of teeth of the larger gear to the smaller gear determines how many additional rotations the smaller gear will complete; thus decreasing the speed and increasing the torque of the larger gear by that same ratio (Back). For example if the larger gear has twice as many teeth, then the larger gear will run at half the speed and twice the torque of the smaller gear; if the larger gear has three times as many teeth than the smaller gear, the larger gear will run at one-third the speed with three times the torque of the smaller gear (Back).
Directional control of a DC motor can be accomplished through switch arrangements know as H bridges (Igoe). In order to gain the ability of reverse motion in a motor, the polarity of the voltage from the power supply to the motor must be reversed and the H-bridge can achieve this by controlling which switches will be open and which switches will be closed (Igoe). Reversing the polarity then in turn causes the motor to reverse, turning in the opposite direction (Igoe). There are many options for an H-bridge for Dc motor control (Igoe).
L293D chip. The L293D is an H-bridge controller chip (Back). The L293D IC chip allows the polarity of the power to be reversed, allowing the motor direction to be reversed (Dual). The L293D is a “standard 16-pin DIP” (Dual) that has the ability to control two motors simultaneously (Dual). The L293D can be attached to a breadboard in which the motor will be connected to the breadboard, wiring them to the L293D as appropriate for need; however the L293D can also be found as the driving force on select motor driver hat boards (Dual). The L293D will allow the bidirectional control of the motor by controlling the polarity to the motor, but the actual coding instructions for motor control will need to be programmed on an Arduino board or other type control board for the actual operation of the motor (Dual).
Adafruit motor hat. The adafruit motor hat controls motor speed and direction using a fully-dedicated PWM driver chip, the TB6612 (Adafruit). The adafruit motor hat does not require a breadboard; instead attaches directly to the top of a raspberry pi with a 2X20 plain header (Adafruit). The adafruit motor hat contains four terminal blocks for easy attachment of the motor wires (Adafruit). Python is the programming language used to control the adafruit motor hat (Adafruit). The adafruit stepper motor can control the speed and direction of the motor, but must be accompanied by a raspberry pi in order to execute control of the motor (Adafruit).
Voice activation will require speech recognition (Voice). “Speech recognition is used to control many different items, in robotics it can be used to control motors” (Voice). Voice recognition can be simulated by many different means (Voice). The HM2007 IC chip and the Raspberry Pi are both viable possibilities for integrating voice command with the motor control of the gate. The HM2007 is a voice recognition board and the Raspberry Pi is a small fully operational computer (Voice).
The HM2007 is an example of a speech recognition IC chip that works for incorporation voice commands (Voice). The HM2007 can “recognize 20 different words” (Voice) with each word being “up to 1.92 seconds in length” (Voice). A 5v DC power supply will be required to run the HM2007 and the necessary voice commands will need to be preprogrammed into the board prior to assembly (Voice).
Programming. Ensure all necessary commands are properly programmed and working correctly prior to integration of the HM2007 to the overall project (Voice). The HM2007 does not require that all command slots be programmed prior to use; only commands needed should be programmed, extra slots may be left blank (Voice). When programming keep the area quiet and speak in a concise, clear voice to avoid any corruption of the voice commands by sloppy speech or excessive noise (Voice).
Operation. The operation of the HM2007 is fairly simple (Voice). The HM2007 will “acquire a speech sample with a microphone” (Voice). Then the HM2007 will “analyze the analog signal received” (Voice). Next the HM2007 “compares the data with stored data” (Voice). Once the HM2007 matched the data with the stored command data, the HM2007 “outputs a corresponding bit data” (Voice). The bit data then “signals further action of the item being controlled” (Voice).
Raspberry Pi is a very small, unenclosed computer designed for a Linux based operating system (Raspberry). Raspian operating system is the most frequently used operating system with a Raspberry Pi system (Raspberry). The Raspberry Pi, although slower, can provide all the abilities of a modern computer, but with much lower power consumption (Raspberry). Unlike microcontrollers, such as Arduino, the Raspberry Pi runs a fully functional Linux based operating system, which gives the Raspberry Pi the ability to run and store several different codes simultaneously (Raspberry). The Raspberry Pi operates with python coding (Raspberry).
Voice command. Voicecommand is a program designed by Steven Hicks to work on the Raspberry Pi, making it voice controlled (Hicks). The program is written in the python programming language and was specifically designed for the Raspberry Pi; yet will work on most Linux based systems (Hicks). Commands added to the configuration file of the program must be written in the following format “speech==command” (Hicks). The program will pick up the speech and correlate it to the associated command, thus running the script associated with that command (Hicks). The voicecommand program is part of the PiAUISuite, which available for free download on the Raspberry Pi (Hicks).
Siri control. SiriControl is a python code that allows a person to use the intelligent personal assistant on the apple device such as an IPhone or IPad to control a Raspberry Pi (MagPi). A Gmail account can be attached to the apple device and synced with Siri Notes, allowing notes to be created verbally through Siri on the apple device (MagPi). When Siri sends the note to the Gmail account, the SiriControl script will be continuously monitoring the notes folder of that Gmail account and grab the note as a verbal command (MagPi). Once the notes is received by the Raspberry pi through the SiriControl script, the word will be compared to the keywords of the various modules within the SiriControl module folder (MagPi). Once the matching keyword is found, the SiriControl script will then proceed to run the command within the matching module (MagPi). This process simulates voice activation of the Raspberry Pi by the command being spoken to Siri on the apple device and then to the programming scripts completing the search which will locate the proper script associated with the spoken command word and commence execution of the command within that script (MagPi).
Dependent on the hardware chosen for voice control, programming will be required to inform the hardware of what the commands are and what each command requires to be accomplished. The programming script will store the commands and activation signal for specific commands. These commands and signal will be what drive the action of the hardware. There are many choices of programming languages, some more suitable than others. There are several possible programming languages for the project; C++, python, and Arduino are all possible choices.
Bjarne Stroustrup developed the C++ programming language as an extension of the C language (C++). C++ was renamed in 1983, having been originally called C with classes (C++). “C++ was developed to be a general-purpose programming language which is object oriented (C++). Being an extension of the C language, C++ can be programmed in a “C style” or an “object-oriented style” making it a hybrid language (C++). C++ is an intermediate-level language due to the language incorporating high-level and low-level language features and is among the most popular languages used (C++). C++ is often used in system and application software, device drivers, and client-server applications (C++). C++ has predefined classes and allows for user-defined classes as well; these classes are data types that can be utilized multiple times (C++). C++ uses these classes, along with objects and operators to create script that will perform distinct functions (C++).
Python is thought to be a fairly new programming language, only dating back to 1991 (Yegulalp). The python language which is broadly used and supported by many applications proves to be easy to learn as well (Yegulalp). Python has the ability to run on all major operating systems and most minor operating systems (Yegulalp). Many major programming libraries contain python bindings or wrappers, allowing python script to freely interface with those libraries (Yegulalp). Python is a very versatile programming language; yet python lacks slightly in speed as compared to some of the other language options (Yegulalp). Python’s largest use is that of scripting and automation of tasks (Yegulalp). However, python is also a great language for general application programming and data science and machine learning; python can also be used for web services, metaprogramming, or glue code (Yegulalp). The python programming language is not advisable for projects which speed is a propriety, cross-platform standalone binaries, and system-level programming such as device drivers and operating system kernels (Yegulalp). The python language is a high-level language (Yegulalp). The python language is designed to be readable and clean, giving python a more simplistic approach to programming, making it easier to learn (Yegulalp).
Arduino was designed for electronics and making electronics more accessible (Arduino). When referring to Arduino, the Arduino system contains a platform or board that is open-source electronics as well as the software used to program the board (Arduino). Arduino programming is proprietary and is used specifically with Arduino boards (Arduino). Arduino relies heavily on compilers, linkers, and libraries to communicate to the control board to perform the tasks requested (Saha). The Arduino programming language is similar to C++, but simplified (Arduino). Arduino is based on processing (Saha). Arduino script is referred to as sketches (C++). Arduino sketches contain basic programming structures, variables, and functions to create a sketch presenting certain activity upon relayed commands (Arduino). These sketches are converted into a C++ program for use with the Arduino board (Arduino). “The first step in programming an Arduino board is for the Arduino sketch to be converted to a suitable C++ file with the .cpp extension (Saha). The file is compiled after conversion of the file is complete (Saha). Once compilation finishes, the file is linked for final conversion to a hex file that can be uploaded to the Arduino board (Saha). Once the sketch is complete and converted the sketch will be uploaded to the Arduino board through a USB connection (Saha).
In conclusion, the design of a motorized, voice commanded bay gate will require the cooperation of several components; motor type, motor control, voice activation, and programming; all of which are crucial components to the proper operation of an automated baby gate. The proper motor will need to be chosen for the project. The motor will need to be properly controlled for speed and direction through proper programming, while the programming commences upon recognition of a spoken command. Given that most modern baby gates are manually operated, it does nothing to alleviate the complications from residing in a gated household. Development of a voice controlled, robotic baby gate could assist in revolutionizing the production of baby gates.
Adafruit Industries. “Adafruit DC ; Stepper Motor HAT for Raspberry Pi – Mini kit.” Adafruit Industries Blog RSS. Adafruit Industries, nd. Web. https://www.adafruit.com/product/2348. Accessed 03 May, 2018.
Agarwal, Tarun. “Stepper Motor – Types, Advantages ; Applications.” Electronis/Project/Focus. Elprocus, 2015. Web. https://www.elprocus.com/stepper-motor-types-advantages-applications/. Accessed 04 May 2018.
“Arduino.” Techopedia. Techopedia Inc, nd. Web. https://www.techopedia.com/definition/27874/arduino. Accessed 03 May 2018.
Back, James and Jenn Walker. “What is a Reduction Gear?” WiseGEEK. Conjecture Corporation. 2 May 2018. Web. http://www.wisegeek.com/what-is-a-reduction-gear.htm. Accessed 03 May 2018.
“Best Baby Gates of 2017.” Babylist. Ed. Rebekah Otto. Babylist, Inc, 1 Jan. 2017. Web. https://www.babylist.com/hello-baby/best-baby-gates. Accessed 17 October 2017.
“Burns and Scalds.” Safe Kids Worldwide. Safe Kids Worldwide. 2016. Web. https://www.safekids.org/safetytips/field_risks/burns-and-scalds. Accessed 14 November 2017.
“C++ Programming Language.” Techopedia. Techopedia Inc, nd. Web. https://www.techopedia.com/definition/26184/c-programming-language. Accessed 03 May 2018.
Caruso, Georgiann. “Doctors: Still too many stair-related injuries among children.” The chart.blogs.cnn.com. Cable News Network, 12 March 2012. Web. http://thechart.blogs.cnn.com/2012/03/12/er-doctors-still-concerned-about-kids-falling-down-stairs/. Accessed 14 November 2017.
Collins, Margaret. “Baby Gates.” Lucie’s List. Edamommy Publishing, June 2017. Web. https://www.lucieslist.com/year-1/baby-proofing/baby-gates/. Accessed 17 October 2017.
Csanyi, Edvard. “4 Types of DC Motors and Their Characteristics.” EEP – Electrical Engineering Portal. Electronic Engineering Portal, 10 November 2017. Web. http://electrical-engineering-portal.com/4-types-of-dc-motors-and-their-characteristics. Accessed 04 May 2018.
“Dual H-Bridge Motor Driver – L293D IC.” RSS. Robot Platform, 2010. Web. http://www.robotplatform.com/howto/L293/motor_driver_1.html. Accessed 03 May 2018.
Eglowstein, Howard. “Introduction to Servo Motors.” Science Buddies. Science Buddies, nd. Web. https://www.sciencebuddies.org/science-fair-projects/references/introduction-to-servo-motors. Accessed 04 May 2018.
Hicks, Steven. “Voice Controlled Raspberry Pi.” Hackaday.IO. Hackaday, 29 April 2014. Web. https://hackaday.io/project/87-voice-controlled-raspberry-pi. Accessed 03 May 2018.
Igoe, Tom. “Controlling DC Motors.” Code, circuits, & construction. Worldpress, 31 August 2007. Web. https://www.tigoe.com/pcomp/code/circuits/motors/controlling-dc-motors/. Accessed 03 May 2018.
MagPi. “SiriControl: Control Your Raspberry Pi with Siri.” Raspberry Pi. The MagPi Magazine, 27 August 2017. Web. https://www.raspberrypi.org/magpi/siricontrol-control-raspberry-pi-siri/. Accessed 03 May 2018.
McComb, Gordon. “Choosing a Motor: DC, Stepper, or Servo.” Robotics Universe. Creative Commons, nd. http://www.robotoid.com/howto/choosing-a-motor-type.html. Accessed 04 May 2018.
Raspberry Pi Foundation. “What is a Raspberry Pi?” Opensource.com. Red Hat, nd. https://opensource.com/resources/raspberry-pi. Accessed 03 May 2018.
“Safety Around the House Facts ; Statistics.” Keepyourchildsafe.org. Global Children’s Fund. Nd. http://www.keepyourchildsafe.org/safety-around-house.html. Accessed 14 November 2017.
“Safety Gate Buying Guide.” Consumer Reports. Consumer Reports, 2016. Web. https://www.consumerreports.org/cro/safety-gates/buying-guide. Accessed 17 October 2017. Accessed 03 May 2018.
Saha, Amit. “Learning to Program the Arduino.” Linux Journal. Linux Journal, LLC, 26 March 2012. Web. https://www.linuxjournal.com/content/learning-program-arduino. Accessed 07 May 2018.
“Voice Recognition board HM2007 – How to control a motor using voice commands.” Alselectro. Alselectro, 31 January2014. Web. https://alselectro.wordpress.com/2014/01/31/voice-recognition-board-hm2007-how-to-control-a-motor-using-voice-commands. Accessed 13 January 2018.
Yegulalp, Serdar. “What is Python? Everything you need to know.” InfoWorld. IDG Communications, Inc, 28 June 2017. Web. https://www.infoworld.com/article/3204016/python/what-is-python.html. Accessed 03 May 2018.