Endurance Robots Educational DIY Robotics Program. Programmable robots for education.
For Everyone - DIY robots for beginners, intermediate and higher education
Amazing value - $95!
Programmable - Based on Arduino hardware
Highly compatible - Easy integration with other robots
Easy to operate - Simple Remote control, Follow me (self-tracking) and Demo functions
DIY SelfieBot is a self-build robotic kit that is designed for students and colleges, and for self taught and young hobbysts, to improve their skills in robotics. We provide a full introduction and an extended guidance on how to make a robot with your own hands.
Practical learning tools for classrooms, robotics teams, science projects, self learning (DIY), talented students, hackathons and more.
DIY SelfieBot educational program from Endurance Robots
Robots and automated systems are changing the way we live and work in today’s society. Whilst more and more industries and workplaces adopt procedures which utilise robotics; the consumer market is seeing new and exciting robots which help to familiarise us with and prepare us for the kind of interactions with robotics that we can expect to be commonplace in our everyday lives in the very near future.
The robotic systems market was estimated to be worth over $35 billion globally in 2014 and grows rapidly each year. With the speed at which robot systems are being integrated across the planet, it is imperative that the workforce of tomorrow understands the role and impact that robotics will have on the way that they will perform their jobs, and that everyone is prepared for the likelihood of having robots assist them at home and in their daily lives.
Robotic toys and novel robotic technologies have been around for a long time and are being aligned with the aims of education to ensure that students and children have engaging and fun ways to learn. The reality though is that when the time comes to use robotic systems and devices in the workplace, the types of technology and interfaces they will be faced with will be a stark contrast from the friendly robots’ faces they were first introduced to.
As a result, Endurance Robots has developed an educational program for students based around a “Do It Yourself” version of their soon to be released SelfieBot, an incredibly functional, mobile device-driven robot, which will help to bridge the experience and knowledge gap between fun, toy-like robotics and the engineering masterpieces of tomorrow’s robot-filled working environments.
Endurance Robots DIY education program is co-developed with academia for use by a variety of academic disciplines and age ranges who can benefit from accelerated learning of technical and theoretical robotic systems and their applications.
The course is designed for learners from entry level right through to those already familiar with the various components of robotic engineering. The program provides practical knowledge and experience with robotics, basic principles of robotic design, plus education and understanding of present and potential real-life robotic applications.
Learners will get to assemble their own highly-useful DIY SelfieBot and will be guided through a range of topics along the build including:
3D modeling and 3D printing
Electronics and schematics
Firmware and hardware
Software and apps
Endurance Robots’ educational program is designed for use by students and academics looking to learn/teach robotics or advance their knowledge and experience. To achieve this, learners, teachers, course leaders and beyond, have access to a range of material and equipment which ensures a deep and seamless educational experience that can supplement tuition or that can be offered independently as solo and team projects or as group workshops.
The package contains everything an instructor needs to teach a full-term curriculum course in robotics, including:
electronics kit(s)
teaching materials
software codes (source)
Assembling picture slides
Lectures, video tutorials and guidance
Additionally, Endurance Robots’ team of experts remain on hand throughout the course to provide help and support.
Each user receives the parts and guidance they need to build their own DIY SelfieBot, and the tuition is based around key robotics components including:
Arduino Nano Microcontroller
Bluetooth modules
MG996 servos
DC/DC converters
Open Source software by Endurance Robots
As a result of completing the course and constructing their own useful, functional robot, learners have the platform to further develop their work, add more features and functions, design their own 3D printed moulds, and even integrate their work with other robotic technologies.
Endurance Robots are a team of talented engineers and experts who hope to inspire and help educate tomorrow’s leaders of robotics. The DIY SelfieBot educational program was built to support faculty develop their learners’ skills and knowledge and to help students with an interest in the subject to learn and engage with useful and practical robotic systems.
Individual kits start from just $95 through to complete, affordable packages that include 3D printers and electrical tools, so no matter what resources are available on campus, every school, college or university can afford to access the course and ensure that they align their learners with the robotics driven society of the future.
Additionally, Endurance Robots supports academic partners for activities ranging from “hacker” and “maker” clubs and events, and provides a portfolio of educational services and robotic products to support their aims.
For more information or to become an academic partner and get your students enrolled on the program, contact a member of the Endurance Robots team via the information below or via our website at [email protected]
We are ready to ship DIY SelfieBot packages world wide
You may choose the one kit you like.
The software is intended to be loaded into the microcontroller hardware Selfie Bot Hardware Base, built on the base board Arduino Nano, comprising a microcontroller Atmel ATmega168 or ATmega328.
This software makes it possible to connect to the device SelfieBot and control the connected servos.
After starting the device initialization is done: run the setup function commands — Initialization pins, UART configuration interface, setting the servo to the initial position. During initialization, the LED lights technology (Arduino Nano to the boards are usually marked with the letter L), which goes out on successful initialization after 1 second.
After initialization, the loop function starts running in an infinite loop — going survey software interface module _Interf_UART to transfer results to the software modules and _Control_Servo1 _Control_Servo2.
_Interf_UART Software module provides a UART reception for the team. In the received stream for UART is a search and identification of a data packet in accordance with a protocol for information exchange. In the case of command detection occurs issuance of the control byte. Work with internal UART provides a library of Serial.
Since the protocol is fixed, then, to the stability of the failure, the module receives each new byte, which came on the UART, and compares it with the expected, in the case of coincidence of the structure of the package is considered to be the last byte of the command and issued. If the bytes do not expect the reception of reset. In the event of failure of the whole exchange, this ensures the correct reception of the next packet (following the flawed) without re-initialization reception timeout circuitry that determines the end of data reception.
Software modules and Control_Servo1 _Control_Servo2 ensure alignment to the servos using the Servo Library command. Upon receipt of the control byte of the interface module takes place identification byte management and development of signals to permit rotation of the actuator in the desired direction. After a certain time (Time_rotate) stops rotation, if not received any other team identified.
Interaction with external devices takes place via UART at 9600 baud.
The data packet consists of five bytes. The first four bytes represent a prefix and are constant in each package. The fifth byte is a byte command.
The structure of the package
№ Byte | 1 | 2 | 3 | 4 | 5 |
Command symbol | c | o | m | = | |
Command byte | 0x63 | 0x6F | 0x36 | 0x3D |
Table 4. Management Team (fifth byte in the packet)
Command symbol | Command byte | Command |
W | 0x57 | Rotation of a vertical servo to the up |
S | 0x53 | Rotation of a vertical servo to the down |
A | 0x41 | Rotate of a horizontal servo to the left |
D | 0x44 | Rotate of a horizontal servo to the right |
x | 0x78 | Stop of any movements |
R | 0x52 | Return servos to the starting point |
The electronic circuit is designed to control the device Selfie Bot. This scheme allows you to communicate with the device via Bluetooth and control two servos. To control device intended SelfieBot Droid program. Thus, SelfieBot Firmware software must be installed on the device microcontroller Base.
The device is powered from an external power source voltage of 12V, able to give at least 1A. external power line protected by a fuse nominal value of 1A. DC-DC converters D1 and D2 are organizing two channels of power: the microcontroller and D3 Servo SRV1 and SRV2. Converters are adjusted so that the microcontroller and Bluetooth D4 D3 module is fed 5V, 7V to the servos served.
Microcontroller D3 is connected to the Bluetooth module for the D4 UART interface via the appropriate conclusions, available in both modules. Through the resistors R2 and R3 outputs D5 and D6 D3 of the microcontroller pins are connected to the control on the connectors, which are connected servos.
Login RST microcontroller D3 pulled up to the power supply line + 5V via a resistor R1 and a removable jumper JMP1. Bluetooth D4 module via removable peremychkuJMP2 connected to + 5V line. In normal operation and JMP1 JMP2 device jumper must remain in place. When programming the microcontroller and D3 JMP1 JMP2 jumper removed.
Data is transferred byte packets. The package consists of four fields: a start-byte data field length, data field, a stop byte. The maximum packet size is limited to 255 bytes, ie, data size can not exceed 252 bytes.
Start-byte occupies 1 byte, and the volume is a sign of the beginning of the packet, the packet starts to be taken and collected only after receiving the start byte.
Sending length field takes 1 byte volume and sets the number of bytes of information in the packet.
The data field contains the information for the recipient (data commands or telemetry) and can take the volume from 1 to 255 bytes.
Stop byte occupies 1 byte and the volume is a sign of the end of the package, the package assembly on the fact of the specified length (in the packet length field) is checked stop-byte and a decision on the correctness of the received packet.
Table 1. Structure of an information package
Field | Start byte | Package length | Data | Stop-byte |
Field size, value | 1 | 1 | 1…252 | 1 |
Start-byte packet length field and the stop byte will organize the first protocol layer data packet.
The second protocol layer data packet determines the structure of the field data. The first data byte is a data identifier field and determines the recipient or source of the transmitted data. Thus, the final amount of the information data may not exceed 251 bytes.
Table 2. Structure of the data packet field
Field | ID | Data |
Fields size, byte | 1 | 1…251 |
Start-bytes = 3Ah.
The length of the parcel = 06h.
Stop byte = C5h.
The data field is composed of six bytes.
Package: 3A – 06 – D[0] – D[1] – … – D[5] – С5
The first data byte is the ID of standard commands, ID = D [0] = 01h.
The following are the contents of the data field D [1: 5] packets.
1) request command receiving generic telemetry
00 – 00 – 00 – 00 – 00
2) Program management horizontal actuator
01 – Data1 – XX – XX – XX
Data | Size, bit | Value, hex | Default value., hex | Value |
Data1 | 8 | 0…FF | 7F | The angle of the horizontal position of the servo. 0 corresponds to 0 degrees, FFh – 180, 7Fh – 90. |
The extreme values can be limited at the hardware level, in this case, the command will be accepted, but will be exposed to the permitted limit value, for example, instead of 180 degrees can be set to 175 or 170. The limit values can be monitored by telemetry returned.
3) Program management vertical actuator
02 – Data1 – XX – XX – XX
Data | Size, bit | Value, hex | Default value., hex | Value |
Data1 | 8 | 0…FF | 7F | The angle of the vertical position of the servo. 0 corresponds to 0 degrees, FFh – 180, 7Fh – 90. |
The extreme values can be limited at the hardware level, in this case, the command will be accepted, but will be exposed to the permitted limit value, for example, instead of 180 degrees can be set to 175 or 170. The limit values can be monitored by telemetry returned.
4) Program management horizontal and vertical actuators
03 – Data1 – Data2 – XX – XX
Data | Size, bit | Value, hex | Default value, hex | Value |
Data1 | 8 | 0…FF | 7F | The angle of the horizontal position of the actuator. 0 corresponds to 0 degrees…, FFh – 180, 7Fh – 90. |
Data2 | 8 | 0…FF | 7F | The angle of the vertical position of the actuator. 0 corresponds to 0 degrees, FFh – 180, 7Fh – 90. |
The extreme values can be limited at the hardware level, in this case, the command will be accepted, but will be exposed to the permitted limit value, for example, instead of 180 degrees can be set to 175 or 170. The limit values can be monitored by telemetry returned.
Start-bytes = 3Ah.
Length = 0Sh parcels.
Stop byte = S5h.
The data field consists of 13 bytes.
Пакет: 3A – 0С – D[0] – D[1] – … – D[12] – С5
The first data byte is the ID of a service command module with Bluetooth, ID = D [0] = 02h.
Data D [1:12] contain ASCII Bluetooth module name codes, which should be set after initializing the device. This name is accepted and recorded in the device memory. When transmitting zero dataset (D [1:12] = 0x00) the name of the previously recorded is erased from the device’s internal memory and will be set after initialization default name: SELFIEBOT-XX.
For the name of the module to be installed by default (SELFIEBOT-XX), will we have the following data set D [1:12]:
Byte number | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
ASCII code | S | E | L | F | I | E | B | O | T | — | X | X |
Byte data DEC | 83 | 69 | 76 | 70 | 73 | 69 | 66 | 79 | 84 | 45 | 88 | 88 |
Byte data HEX | 53 | 45 | 4C | 46 | 49 | 45 | 42 | 4F | 54 | 2D | 58 | 58 |
To record a new name for the Bluetooth module or erase the name of the memory to be transmitted service team 3 times. Upon successful acceptance and saving the new name of the module Bluetooth custom LED briefly (1 second) will change its color to blue when successfully erased — on white.
Start-bytes = 3Ah.
sending Length = 0 Ch.
Stop byte = S5h.
The data field consists of thirteen bytes.
Package: 3A — 0C — D [0] — D [1] — … — D [12] — C5
The first byte is a data telemetry identifier, ID = D [0] = F1h.
Here are the contents of the data field D [1:12] packages.
1) The package, formed in response to telemetry command request
Init – Status1 – Status2 – Angle1 – Angle2 – Vbat[0:7] – Vbat[8:15] – Vin[0:7] – Vin[8:15] – Light[0:7] – Light[8:15] — XX
Data | Size, bit | Value | ||
Init | 8 | Byte result of an initialization | ||
0 | Establishing a connection with the Bluetooth module | |||
0 | Communication failure installation | |||
1 | Connected successfully | |||
1 | Bluetooth setup | |||
0 | Error in module setup | |||
1 | Module is ok | |||
2 | Bluetooth name | |||
0 | Module is initialized by default name: SELFIEBOT-XX | |||
1 | Module initialized title recorded earlier in the non-volatile memory device | |||
3 | Power check of servos | |||
0 | No power on servos | |||
1 | Servos power on | |||
7:4 | ||||
Status1 | 8 | Byte status of a device | ||
0 | Power supply of servos | |||
0 | off | |||
1 | on | |||
1 | Automate on/off servo | |||
0 | off | |||
1 | on | |||
2 | External battery charger | |||
0 | Not found | |||
1 | found | |||
3 | External DC | |||
0 | off | |||
1 | on | |||
4 | USB supply | |||
0 | off | |||
1 | on | |||
5 | Supply of an external DC | |||
0 | Off | |||
1 | On | |||
6 | Usage of a movement sensor | |||
0 | Is not in use | |||
1 | In use | |||
7 | Value of a user button | |||
0 | off | |||
1 | on | |||
Status2 | 8 | Not in use | ||
0 | ||||
0 | ||||
1 | ||||
1 | ||||
0 | ||||
1 | ||||
2 | ||||
0 | ||||
1 | ||||
3 | ||||
0 | ||||
1 | ||||
4 | ||||
0 | ||||
1 | ||||
5 | ||||
0 | ||||
1 | ||||
6 | ||||
0 | ||||
1 | ||||
7 | ||||
0 | ||||
1 | ||||
Angle1 | 8 | 0…FF | Angle of horizontal servo 0, corresponds with 0 tilt , FFh – 180, 7Fh – 90. Angle1[град] = Angle1*(180/255). | |
Angle2 | 8 | 0…FF | Angle of vertocal servo 0, corresponds with 0 tilt , FFh – 180, 7Fh – 90. Angle2[град] = Angle2*(180/255). | |
Vbat | 16 | 0…3FF | Value of a level of voltage on a battery V[volt] = 5*[Vbat_2:Vbat_1]. | |
Vin | 16 | 0…3FF | Value of a level of voltage from external DC V[volt] = 5*[Vin_2:Vin_1]. | |
Light | 16 | 0…3FF | Value of a level of voltage given by light sensor V[вольт] = 5*[Light _2:Light _1]. | |
ХХ | Is not used |
Endurance invites students to join our robotics startup for an internship program
We open all SelfieBot code sources and schematics for schools, universities, and their students, as well as hobbyists.
We are looking for strong, ambitious, passionate students to join our startup and become part of the Endurance SelfieBot robotics community.
Presenting the DIY Selfiebot, we share the 3D model (STL files), firmware, software with your university for free.
Everything is already on our web site…http://endurancerobots.com
We need software engineers, electronical engineers, tech writers, testers, PR and marketing team and adminitrators who will take care of our community.
Basic things that SelfieBot does:
You are more than welcome to share all your upgrades and changes with our community.
We will provide a full guidance to help you assemble a SelfieBot of your own.
To share your results use the following resources:
Making one’s own DIY SelfieBot allows to master student’s skills in robotics, to develop their ability to create their own robots based on the SelfieBot’s firmware/software.
Universities and colleges are allowed to use the SelfieBots, assembled by their students, in their non commercial projects.
The following functions we to be upgraded:
A SelfieBot is not just a game or toy robot. It is a robot with useful features that can be used on campus. A SelfieBot can become a part of a project task. Students are welcome to upgrade it and make any forks. But they have to put a reference on the Endurance SelfieBot as a basis source. It is distributed under creative commons attribution noncommercial share alike 3.0 license.
Articles about DIY Endurance SelfieBot
Do not miss an opportunity to join a robotics startup on a very early stage.
Make something great with your own hands!
Please send us your CV to [email protected] and become part of future giant in consumer robotics!
In one month after Endurance launched DIY SelfieBot program
Endurance is happy to announce that we have 5 universities in the US that joined our program.
We are making final preparations and will announce this universities as soon as sign papers.
More than 20 individual students all over the world joined our DIY SelfieBot internship program.
We are looking forward to launch DIY SelfieBot program with more than 20 universities in the US in fall 2016.
Endurance is looking for more schools, colleges and students to jump into our program.
We do it for free and we need donations for keeping up doing DIY SelfieBot program.
Thank you for your interest in joining our Endurance DIY Robotics Educational community. We are happy to share our skills and knowledge for educational purposes.
To join our DIY Robotics Educational program, please complete and return the questionnaire form and email it to [email protected]. Once we review and approve your submission, we will contact you by email with more information on how to get started as part of our educational robotics community.
As soon as we qualify you we you will be able to get full DIY program support and become our community member!
Currently, Endurance Robots is a non-profit organization serving educational hands on learning and job readiness skills. At this time, we are offering this program at no cost to qualified schools and students.* For more information on internships or additional inquiries, email [email protected]
*shipping, taxes, and other delivery costs are not incurred by Endurance Robots
After an internship for students we provide letter of recommendations after making a SelfieBot. All updates and upgrades are more than welcome!
Most of the time when you have problems with SelfieBot electronics we can suggest to test a few things:
We try to support our community with all necessary documentation and datasheet. If you have any questions please let us know: [email protected]
Samples of where SelfieBot can be used
We are looking for schools/ universities to become a partner in educating students in robotics industry.
Presenting DIY Selfiebot we share with 3D model (STL files), firmware, software with your university absolutely for free.
Basic things that SelfieBot does:
We are also looking for upgrades and everyone is welcome to make and share with our community.
SelfieBot allows to improve your skill in robotics, ability to create your own robot based on the SelfieBot’s firmware/software. Join our society to become part of robotics community and enjoy of what you are doing with us.Creating a SelfieBot in the university allows to use it in any non commercial applications meaning that hardware / software faculties can make as many SelfieBots as they need for internal use.
SelfieBot is not just a game or toy robot. It is a robot with useful features that can be used on campus.
SelfieBot can be a part of a project task. Students are welcome to upgrade and make any forks. But it is necessary to refer to Endurance SelfieBot basis.
Model | Picture | Quantity | Basic Kit | Complete Kit |
USB Nano V3.0 ATmega328 16M 5V Micro-controller CH340G board For Arduino | 1 | Х | Х | |
Wireless Serial 4 Pin Bluetooth RF Transceiver Module HC-06 Slave for Arduino DH | 1 | Х | Х | |
A1) Main DC-DC Converter. LM2596 Step Down Module DC-DC Buck Converter Power Supply Output 1.3V-35V |
2 | Х | Х | |
A2) Alternative DC-DC Converter. Mini Adjustable DC-DC Converter Step down Power Supply Module 3A LM2596 |
— | Х | Х | |
MG996R Torque Digital All Metal Gear Servo for Helicopter Car Boat Model BE | 2 | Х | Х | |
Fuse pin, H630PT, 1 A, 250 V | 1 | Х | Х | |
Resistor, 0.5 Wt, 100 OHM | 3 | Х | Х | |
CONN JUMPER SHORTING, 2.54х8.5mm, 2 contacts | 1 | Х | Х | |
Power jack on the board, 2.1mm, 16V/1.5A | 1 | Х | Х | |
AC Adapter Power Supply DC12V 1-2 A, plug 5.5х2.1 | 1 | Х | Х | |
A1) Prototyping Experimental 400 Contact Holes Solderless Breadboard Test Plate | 2 | Х | Х | |
A2) Alternative Prototyping PCB Universal Board 70х90 Double-Sided Glass Fiber Prototyping PCB Universal Board |
1 | Х | Х | |
10pcs 1x 40Pin 40p Male IC Single Row Flat Header Socket 2.54mm PLS-40 Panel | 1 | Х | Х | |
Hot Flexible 16AWG ~30AWG Stranded UL1007 Wire Cable Cord Hook-up DIY Electrical | 1 | Х | Х |
Model | Picture | Quantity | Basic Kit | Complete Kit |
A1) Plastic mobile device cradle/holder (BY DEFAULT) | 1 | Х | ||
A2) Magnet mobile device cradle/holder (ALTERNATIVE) | 1 | Х | ||
3D Printer Filament USA 1.75mm ABS PLA 1KG / 2.2LB | 1 | |||
screwnuts 3 mm diameter, 26 pcs. screwnuts 4 mm diameter,7 pcs. |
— | Х | ||
phillips countersunk head screws, 3 mm diameter: 10 mm — 8 pcs. 16 mm — 8 pcs. phillips round head screws, 3 mm diameter: 8 mm — 2 pcs. 16 mm — 6 pcs. 20 mm — 10 pcs. phillips countersunk head screws, 4 mm diameter: 25 mm — 6 pcs. |
— | Х |
Model | Picture | Quantity | Basic Kit | Complete Kit |
Crosshead screwdriver | 1 | Х | ||
Tweezers | 1 | Х | ||
Metal Long Needle Nose Plier Side Cutter Puzzle Modeling Precision Cutting | 1 | Х |
For your convenience you can find everything you need in our download center.
Software source, stl files for 3d printing, schematics.
http://s15.zetaboards.com/EnduranceRobots/index/
http://www.instructables.com/id/DIY-SelfieBot/
https://hackaday.io/project/10571-selfiebot-for-education-diy-mobile-driven-robot
http://www.openbuilds.com/threads/selfiebot-for-education-diy-mobile-driven-robot.6541/
https://forums.pinshape.com/t/selfiebot-for-education-diy-mobile-driven-robot/717
https://plus.google.com/communities/100896515560132679200
https://www.facebook.com/Endurance-1399951053640252/
https://www.linkedin.com/groups/8247327
Instagram: #EnduranceSelfieBot #Endurancerobots #EnduranceSelfie