{"id":16407745,"url":"https://github.com/collabnix/robomaster","last_synced_at":"2025-03-23T05:31:30.003Z","repository":{"id":50676211,"uuid":"365667619","full_name":"collabnix/robomaster","owner":"collabnix","description":"Getting Started with Robomaster","archived":false,"fork":false,"pushed_at":"2021-07-21T08:49:05.000Z","size":28206,"stargazers_count":28,"open_issues_count":1,"forks_count":7,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-18T18:14:21.796Z","etag":null,"topics":["dji","robomaster","robomaster-ep","robomaster-python-sdk","robomaster-sdk","robomasterhack","robomasters","robomasters1"],"latest_commit_sha":null,"homepage":"https://collabnix.com/how-to-assemble-dji-robomaster-s1/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/collabnix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-09T04:36:22.000Z","updated_at":"2025-03-15T12:52:45.000Z","dependencies_parsed_at":"2022-08-30T13:01:30.390Z","dependency_job_id":null,"html_url":"https://github.com/collabnix/robomaster","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/collabnix%2Frobomaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/collabnix%2Frobomaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/collabnix%2Frobomaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/collabnix%2Frobomaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/collabnix","download_url":"https://codeload.github.com/collabnix/robomaster/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245061382,"owners_count":20554563,"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":["dji","robomaster","robomaster-ep","robomaster-python-sdk","robomaster-sdk","robomasterhack","robomasters","robomasters1"],"created_at":"2024-10-11T06:14:41.687Z","updated_at":"2025-03-23T05:31:24.993Z","avatar_url":"https://github.com/collabnix.png","language":"Python","readme":"![stars](https://img.shields.io/github/stars/collabnix/robomaster)\n![forks](https://img.shields.io/github/forks/collabnix/robomaster)\n![issues](https://img.shields.io/github/issues/collabnix/robomaster)\n\n\n\n# An Ultimate Tutorial for DJI Robomaster S1 Beginners\n\n\n![MY Image](https://github.com/collabnix/robomaster/blob/main/robomaster_top.png)\n\nThe RoboMaster S1 is an educational robot that provides users with an in-depth understanding of science, math, physics, programming, and more through captivating gameplay modes and intelligent features.\n\n## Table of Contents\n\n1. [Top 10 Features](#top-10-features)\n2. [Stimulus that S1 Recognises](#Stimulus-that-S1-recognises)\n3. [Getting Started](#getting-started)\n4. [Items Check and Assembly](#items-check-and-assembly)\n5. [Asembly the Mecanum Wheels](#assembly-the-mecanum-wheels)\n6. [Attaching the Gimbal to the Chassis](#attaching-the-gimbal-to-the-chassis)\n7. [Mounting the Gel Bead Container and Intelligent Battery](#mounting-the-gel-bead-container-and-intelligent-battery)\n8. [Hacking into Robomaster S1](#hacking-into-robomaster)\n9. [References](#references)\n\n## Top 10 Features\n\n\n- Support for Python and Scratch programming language\n- 46 Programmable Components - all in DIY mode\n- 6 Programmable AI Module\n- Low-latency HD FPV\n- Scratch \u0026 Python Coding\n- 4WD Omnidirectional Movement\n- Intelligent Sensing Armor\n- Multiple Exciting Battle Modes\n- Innovative Hands-On Learning\n- Two shooting methods: gel beads and infrared beams.\n- Capability to capture photos and record 1080p videos; without a microSD card, it supports only 720p.\n\n\n\n## Stimulus that S1 recognises\n\n- Clapping Recognition: the S1 can recognize two or three consecutive claps and be programmed to execute custom responses.\n- Gesture Recognition: the S1 can detect human gestures such as hand or arm signals and be programmed to execute custom responses.\n- S1 Robot Recognition: the S1 can detect other RoboMaster S1 units.\n- Vision Marker Recognition: the S1 can identify 44 kinds of official Vision Markers, which are comprised primarily of numbers, letters, and special characters. All of the files for these Vision Markers can be downloaded at insert web address.\n- Line Recognition: the S1 can detect and follow blue, red, and green tracks with a width of approximately 15-25 mm.\n\n\n## How it works?\n\n- The RoboMaster S1 can be operated using a computer or a smart device via the touchscreen and gamepad. When using the gamepad with a touchscreen device, the robot can also be operated using an external mouse, which can be connected through a dedicated USB port\n- Users can connect to the RoboMaster S1 via Wi-Fi or a router. When connecting via Wi-Fi, your mobile device or computer connects to the Wi-Fi of the S1. Connection via router provides broader signal coverage, which allows multiple control methods for robots to operate simultaneously on the same network.\n- Flat surfaces such as wood, carpet, tile, and concrete are optimal for operating the S1. Users should avoid surfaces that are too smooth as the S1 wheels may have problems gaining enough traction for precise control. Surfaces with fine particles like sand or dirt should be avoided.\n\n\n## Table of Contents\n\n1. [Getting Started](#getting-started)\n2. [Items Check and Assembly](#items-check-and-assembly)\n3. [Asembly the Mecanum Wheels](#assembly-the-mecanum-wheels)\n4. [Attaching the Gimbal to the Chassis](#attaching-the-gimbal-to-the-chassis)\n5. [Mounting the Gel Bead Container and Intelligent Battery](#mounting-the-gel-bead-container-and-intelligent-battery)\n6. [Hacking into Robomaster S1](#hacking-into-robomaster)\n\n# Getting Started\n\n- Installing Robomaster Python Module on MacOS\n\n```\nconda create --name dji python=3.7\n```\n\n```\nconda activate dji\n```\n\n```\npip install robomaster\n```\n\n\n\n\n# Steps to assemble Robomaster\n\n![robo](/images/robo1.jpg)\n\n![image](https://user-images.githubusercontent.com/34368930/117563246-22dd3b00-b0c2-11eb-83aa-33a847756b95.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563252-2e306680-b0c2-11eb-98e4-821cfd37fae6.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563258-37213800-b0c2-11eb-948a-e5493c1ac43c.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563264-430cfa00-b0c2-11eb-92bc-164262c5c2cc.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563296-794a7980-b0c2-11eb-88d6-43724390baaf.png)\n\n\n\n![image](https://user-images.githubusercontent.com/34368930/117563215-f45f6000-b0c1-11eb-9804-4aebff9d5321.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563237-135df200-b0c2-11eb-82d0-e6eccf57768f.png)\n\n\n\n# Items Check and Assembly\n\n![image](https://user-images.githubusercontent.com/34368930/117563215-f45f6000-b0c1-11eb-9804-4aebff9d5321.png)\n\n\n# Assembly the Mecanum Wheels\n\n![image](https://user-images.githubusercontent.com/34368930/117563270-50c27f80-b0c2-11eb-8fe0-47978a6c16de.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563276-5a4be780-b0c2-11eb-9a21-dfcec6817f7a.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563302-849da500-b0c2-11eb-847e-972352e28c78.png)\n![image](https://user-images.githubusercontent.com/34368930/117563305-8d8e7680-b0c2-11eb-94e3-3cfa958a37e6.png)\n\n\n\n# Attaching the Gimbal to the chassis\n\n![image](https://user-images.githubusercontent.com/34368930/117563309-97b07500-b0c2-11eb-98b8-68b39d1537c0.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563313-a434cd80-b0c2-11eb-8fe3-68d868c2ef0d.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563319-aeef6280-b0c2-11eb-9dda-a3c80b3884b5.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563326-bd3d7e80-b0c2-11eb-812f-a44090b09e9c.png)\n\n\n![image](https://user-images.githubusercontent.com/34368930/117563329-c9294080-b0c2-11eb-8feb-5296c9a7b608.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563332-d2b2a880-b0c2-11eb-8b3a-8b8af397a1ac.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563343-e100c480-b0c2-11eb-838f-421ab7d5adfd.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563359-f7a71b80-b0c2-11eb-8939-7c2e7a7f6bf9.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563368-042b7400-b0c3-11eb-83bc-f841b5d85486.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563375-0f7e9f80-b0c3-11eb-88f1-2e6d545d81e5.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563385-1d342500-b0c3-11eb-99f4-f2a7a47fd087.png)\n\n\n# Mounting the Gel Bead Container and Intelligent Battery\n\n![image](https://user-images.githubusercontent.com/34368930/117563399-2d4c0480-b0c3-11eb-8ba4-11bcd1c20fbc.png)\n\n\n![image](https://user-images.githubusercontent.com/34368930/117563405-39d05d00-b0c3-11eb-80b1-01a9178e17a4.png)\n\n\n![image](https://user-images.githubusercontent.com/34368930/117563409-448af200-b0c3-11eb-934a-4faccae0c8ae.png)\n\n![image](https://user-images.githubusercontent.com/34368930/117563413-52407780-b0c3-11eb-9e69-5e97dd8f50d5.png)\n\n\n![image](https://user-images.githubusercontent.com/34368930/117563417-5d93a300-b0c3-11eb-9a04-4d4017185d41.png)\n\n\n![image](https://user-images.githubusercontent.com/34368930/117563428-697f6500-b0c3-11eb-8ddd-61424cffd8e3.png)\n\n## Get Ready!\n\n![image](https://user-images.githubusercontent.com/34368930/117563481-d692fa80-b0c3-11eb-8e34-5fd1a05f713e.png)\n\n\n## Hacking into Robomaster\n\n\n\n\n### What you need\n\n- Android SDK Platform‐Tools (https://developer.android.com/studio/releases/platform‐tools)\n- Micro USB Cable\n- Latest Robomaster S1 App \u0026 Firmware\n- Windows 10 (might or mightn't work for MacOS)\n\n\n### Step by step instructions\n\n- Unzip the Android SDK Platform‐Tools somewhere in your system\n- Use the Intelligent Controller Micro USB Port and connect the S1 to your computer.\n- Start the Robomaster S1 application. Go to the Lab, create a new Python application and\npaste the following code:\n\n```\ndef root_me(module):\n __import__=rm_log.__dict__['__builtins__']['__import__']\n return __import__(module,globals(),locals(),[],0)\nbuiltins=root_me('builtins')\nsubprocess=root_me('subprocess')\nproc=subprocess.Popen('/system/bin/adb_en.sh',shell=True,executable='\n/system/bin/sh',stdout=subprocess.PIPE,stderr=subprocess.PIPE)\n```\n\n- Run the Code within the S1 Lab. If you followed the steps correctly there should be no\ncompilation errors. The Console will show: Execution Complete\n\n- Don’t close the S1 Application! Open an Explorer window and go to the directory which holds\nthe earlier extracted Android Platform Tools. Open a PowerShell in this directory (Shift +\nRight‐Click)\n\n- Run the ADP command to list the devices: \n\n```\n.\\adb.exe devices\n```\n\nYou should see something like\nthis:\n\n\n\n\u003cimg width=\"599\" alt=\"Screen Shot 2021-07-21 at 2 04 14 PM\" src=\"https://user-images.githubusercontent.com/34368930/126458132-9a1fdd51-3d2f-4695-88a1-896d3ca09652.png\"\u003e\n\n-  Execute: \n\n```\n.\\adb.exe shell\n```\n\n\u003cimg width=\"689\" alt=\"Screen Shot 2021-07-21 at 2 04 35 PM\" src=\"https://user-images.githubusercontent.com/34368930/126458200-a5f8727a-1a2d-4953-852d-066b34237913.png\"\u003e\n\n## DJI Specific Commands\n\n```\ndji\ndji_amt_board       dji_derivekey       dji_monitor         dji_verify\ndji_blackbox        dji_hdvt_uav        dji_net.sh          dji_vision\ndji_camera          dji_log_control.sh  dji_network\ndji_chkotp          dji_mb_ctrl         dji_sw_uav\ndji_cpuburn         dji_mb_parser       dji_sys\n```\n\n\n### Checking IP address\n\n```\n ip a\n1: lo: \u003cLOOPBACK,UP,LOWER_UP\u003e mtu 65536 qdisc noqueue state UNKNOWN\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n    inet 127.0.0.1/8 scope host lo\n       valid_lft forever preferred_lft forever\n8: rndis0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qdisc pfifo_fast state UP qlen 1000\n    link/ether 0a:f8:f6:bb:55:64 brd ff:ff:ff:ff:ff:ff\n    inet 192.168.42.2/24 brd 192.168.42.255 scope global rndis0\n       valid_lft forever preferred_lft forever\n9: wlan0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qdisc pfifo_fast state UP qlen 1000\n    link/ether 60:60:1f:cd:95:f7 brd ff:ff:ff:ff:ff:ff\n    inet 192.168.2.1/24 brd 192.168.2.255 scope global wlan0\n       valid_lft forever preferred_lft forever\n ```\n \n ### Checking the type of Hunter.py file\n \n ```\n ./hunter.py\n vision_ctrl.enable_detection(rm_define.vision_detection_marker)  \n ```\n \n### Checking Memory Stats\n\n```\n127|root@xw607_dz_ap0002_v4:/system/bin # cat /proc/meminfo\nMemTotal:         271708 kB\nMemFree:           59076 kB\nBuffers:           18700 kB\nCached:            94776 kB\nSwapCached:            0 kB\nActive:           117648 kB\nInactive:          58020 kB\nActive(anon):      62724 kB\nInactive(anon):      136 kB\nActive(file):      54924 kB\nInactive(file):    57884 kB\nUnevictable:         500 kB\nMlocked:               0 kB\nHighTotal:             0 kB\nHighFree:              0 kB\nLowTotal:         271708 kB\nLowFree:           59076 kB\nSwapTotal:             0 kB\nSwapFree:              0 kB\nDirty:                36 kB\nWriteback:             0 kB\nAnonPages:         62696 kB\nMapped:            12308 kB\nShmem:               176 kB\nSlab:              12712 kB\nSReclaimable:       6248 kB\nSUnreclaim:         6464 kB\nKernelStack:        2152 kB\nPageTables:         1300 kB\nNFS_Unstable:          0 kB\nBounce:                0 kB\nWritebackTmp:          0 kB\nCommitLimit:      135852 kB\nCommitted_AS:     341612 kB\nVmallocTotal:     745472 kB\nVmallocUsed:      153220 kB\nVmallocChunk:     432132 kB\n```\n\n### Top Command\n\n```\noot@xw607_dz_ap0002_v4:/system/bin # top\n\n\n\nUser 8%, System 13%, IOW 0%, IRQ 0%\nUser 126 + Nice 0 + Sys 203 + Idle 1138 + IOW 2 + IRQ 0 + SIRQ 1 = 1470\n\n  PID PR CPU% S  #THR     VSS     RSS PCY UID      Name\n14020  1   3% S    28 146468K   8588K  fg root     /system/bin/dji_camera\n  247  3   3% S    24 213128K  14876K  fg root     /system/bin/dji_vision\n  483  1   2% S     8 112412K  11072K unk root     /data/python_files/bin/python\n  233  1   2% S    22  44460K   5232K  fg root     /system/bin/dji_hdvt_uav\n  239  0   1% S    15  31368K   4464K  fg root     /system/bin/dji_sw_uav\n  237  0   0% S    13  24208K   4092K  fg root     /system/bin/dji_network\n   41  0   0% S     1      0K      0K  fg root     kworker/0:1\n  245  1   0% S     6  31904K  20492K  fg root     /system/bin/dji_blackbox\n   69  1   0% S     1      0K      0K  fg root     mmcqd/0\n  243  1   0% S    27  50832K   9300K  fg root     /system/bin/dji_sys\n  ```\n\n\n## References\n\n- [Robomaster S1 Videos](https://www.dji.com/robomaster-s1/video)\n- [Robomaster S1 Courses](https://www.dji.com/robomaster-s1/video-courses)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcollabnix%2Frobomaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcollabnix%2Frobomaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcollabnix%2Frobomaster/lists"}