{"id":18966582,"url":"https://github.com/eellak/gsoc2019-diyrobot","last_synced_at":"2025-04-19T14:21:57.433Z","repository":{"id":50467917,"uuid":"185360359","full_name":"eellak/gsoc2019-diyrobot","owner":"eellak","description":"A DIY robot kit for educators","archived":false,"fork":false,"pushed_at":"2021-09-01T17:23:22.000Z","size":36738,"stargazers_count":21,"open_issues_count":0,"forks_count":6,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-29T08:32:57.210Z","etag":null,"topics":["3d-printable","diy-robot","diy-solutions","education","robotics","robotics-control"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eellak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-07T08:47:21.000Z","updated_at":"2023-07-04T07:39:43.000Z","dependencies_parsed_at":"2022-08-19T14:01:27.356Z","dependency_job_id":null,"html_url":"https://github.com/eellak/gsoc2019-diyrobot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eellak%2Fgsoc2019-diyrobot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eellak%2Fgsoc2019-diyrobot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eellak%2Fgsoc2019-diyrobot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eellak%2Fgsoc2019-diyrobot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eellak","download_url":"https://codeload.github.com/eellak/gsoc2019-diyrobot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248637770,"owners_count":21137538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-printable","diy-robot","diy-solutions","education","robotics","robotics-control"],"created_at":"2024-11-08T14:37:41.355Z","updated_at":"2025-04-16T07:33:11.373Z","avatar_url":"https://github.com/eellak.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":":rocket: GSOC 2019 - A DIY robot kit for educators \n===============\n\n## Introduction\nWith this project I designed an easy to assembly and program, robot from scratch. The designs are 3D printable and all the electronics parts are easy to find in any electronic equipment store. The robot has the  Raspberry Pi 3+  as the main computer with Raspbian operating system combined with Jupyter Notebook as programing interface and a Node.js application as front-end main control page. You can program and control the robot through your browser using the Proteas wireless access point. \n\n[View the project on Google Summer of Code website](https://summerofcode.withgoogle.com/projects/#6536613096587264).\n\nYou can see the detailed timeline [here](https://github.com/eellak/gsoc2019-diyrobot/blob/master/gsoc-timeline.md).\n\n\n\n![proteas robot advance](./assets/images/advance.png)\n\n### Proteas robot teaser video\n\n[![](http://img.youtube.com/vi/83zVe_P6pcM/0.jpg)](http://www.youtube.com/watch?v=83zVe_P6pcM \"\")\n\nFinal Report\n------------\n\nYou can visit this [gist](https://gist.github.com/chronis10/9d069c56b3df9c92693ac8d24270a62a) that summarizes in a few words, the work which was done during the Google Summer of Code working period.\n\nSynopsis\n--------\n\nWith this project you can construct a modular robot, easy to use with cheap electronic parts and 3D printed parts. The procedure to construct the robot is explained detailed on the [Wiki](https://github.com/eellak/gsoc2019-diyrobot/wiki) of the project. The main procedure is:\n\n1. Read the wiki and choose the type of robot you want\n2. Gather all the needed electronic parts\n3. Print the parts\n4. Preassembly the blocks\n5. Burn the custom Raspbian image and load it to the Raspberry PI\n6. Assembly the robot\n7. Power on the robot \n8. Connect to proteas network and have fun.\n\nChallenges -\u003e Problems -\u003e Solutions\n--------\n\nThe main challenge of the project was the requirement to avoided the usage of tools on the assembly stage. The first days of the project I designed and tested about ten different designs of the socket system. Another problem was the voltages of the electronic parts, most of the parts are designed to work with the Arduino 5V voltages but the Raspberry Pi voltages are 3V and for that reason used a Bidirectional Logic Level Converter.  Also the investigation of a stable and capable power source  was crucial because nobody wants a robot with short working time, finally selected a custom build power block (BMS, Li-ion batteries and stepdown circuit) which offers excellent performance, recharging capability, usage of the robot with external power supply and long working time. Finally because the robot needed to be easy to programme form people with low experience with programming, decided to use a object oriented way. The code for the electronic parts in some cases it was complicated for a new user and using the object oriented way the code transformed from 50 lines to 3 lines easy to understand and use code. \n\n\n\n\nGSoC Deliverables\n------------\n\n1. 3D printed parts ready to print\n2. Python library for easy usage and control of the robot\n3. Integration with Jupyter\n4. Easy way to access the robot\n5. Custom Raspbian image with OpenCV, Jupyter, Node.js, Python libraries, instructions and configuration intergraded.\n6. Extensive instruction for the assembly and usage\n7. Jupyter Notebooks with examples and educational material\n\nFuture Work\n------------\n\nThere is still a lot work that may be done, in order the Proteas robot to be a direct competitive to any commercial alternative on education robotics and I believe, with the support of the Open Source community, that goal can be reached. Feel free, to contribute and participate on that project, any suggestion and improvement are welcomed. \n\nSome thoughts for future work:\n\n1. Support of analogue sensors\n2. More 3D printed components\n3. More electronic sensors support\n4. Improvements on designs\n5. Integration with Scratch, Node-RED\n6. Compatibility with Arduino\n7. Better wireless connection \n8. Companion app for Android/IOS\n9. Custom build PCB for easy connection of the electronic components\n\n\n\n### Student\n\n* [Christos Chronis](https://github.com/chronis10)\n\n### GSoC Mentors\n\n* Iraklis Varlamis\n* Theodoros Karounos\n* Konstantinos Kalovrektis\n\n### Organization :  Open Technologies Alliance - GFOSS \n\n\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-nc/4.0/\"\u003e\u003cimg alt=\"Άδεια Creative Commons\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by-nc/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cbr /\u003eThe 3D designs , educational material and text is licensed under a  \u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-nc/4.0/\"\u003eCreative Commons Attribution-ShareAlike 4.0 International License\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feellak%2Fgsoc2019-diyrobot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feellak%2Fgsoc2019-diyrobot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feellak%2Fgsoc2019-diyrobot/lists"}