{"id":16763867,"url":"https://github.com/cmdada/adaesc","last_synced_at":"2025-08-22T13:43:31.986Z","repository":{"id":254911821,"uuid":"847939260","full_name":"cmdada/adaESC","owner":"cmdada","description":"cheap brushless opensource canbus esc for robosharks","archived":false,"fork":false,"pushed_at":"2024-08-28T02:26:01.000Z","size":340,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T11:11:45.901Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cmdada.png","metadata":{"files":{"readme":"readme","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-26T20:43:38.000Z","updated_at":"2024-08-28T02:26:05.000Z","dependencies_parsed_at":"2024-08-26T23:52:42.179Z","dependency_job_id":"741f2b29-5911-4fd2-aa52-421c9caceea7","html_url":"https://github.com/cmdada/adaESC","commit_stats":null,"previous_names":["cmdada/adaesc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cmdada/adaESC","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdada%2FadaESC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdada%2FadaESC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdada%2FadaESC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdada%2FadaESC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cmdada","download_url":"https://codeload.github.com/cmdada/adaESC/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdada%2FadaESC/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271649332,"owners_count":24796709,"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","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-10-13T05:23:46.725Z","updated_at":"2025-08-22T13:43:31.924Z","avatar_url":"https://github.com/cmdada.png","language":"C","readme":"adaESC Firmware  Copyright (C) 2024  Ada Tessar\nThis program comes with ABSOLUTELY NO WARRANTY\nThis is free software, and you are welcome to redistribute it\nunder certain conditions\n\nThis project implements a sensorless Brushless DC (BLDC) motor controller using an Arduino and the MCP2515 CAN bus module. The controller uses back-EMF sensing for sensorless commutation and receives speed control commands via CAN bus.\n\n- Sensorless commutation using back-EMF sensing\n- Speed control via CAN bus\n- Supports minimum speed for reliable sensorless operation\n- MOSFET-based motor drive\n- canbus control (example in canbus-motor-test.py)\n- not rev hardware client (tm) for testing directly over usb\n\nHardware Requirements\n\nsee /partslist\n\nPinout\n                               +---------------------+\n                               |                     |\n                               |      Arduino        |\n                               |                     |\n+----------+                   |                     |\n|          |                   |                     | 5 ----+           \n|  CAN Bus |                   |                     | 6 ----|--+        \n|  Module  |                   |                     | 7 ----|--|--+     \n| (MCP2515)|                   |                     | 8 ----|--|--|--+  \n|          |                   |                     | 9 ----|--|--|--|--+\n|  CS -----|-- 15              |                     |10 ----|--|--|--|--|--+\n|  SO -----|-- MISO            |                     |       |  |  |  |  |  |\n|  SI -----|-- MOSI            |                     |      +H  L  H  L  H  L    MOSFET Drivers\n| SCK -----|-- SCK             |                     |       |  |  |  |  |  |    (for each phase)\n|          |                   |                     |       |  |  |  |  |  |\n+----------+                   |                     |       v  v  v  v  v  v\n                               |                     |  Phase A     B     C  \n                               |                     |                       \n                               |                     |A0 --------------------A\n                               |                     |A1 --------------------B\n                               |                     |A2 --------------------C\n                               |                     |                       \n                               +---------------------+                       \n                                                                             \n                                        |  |  |\n                                        |  |  |\n                                   Back-EMF Sensing\n                                   (for each phase)\n                       +-------------------+\n A --------------------|                   |\n B --------------------|   BLDC Motor      |\n C --------------------|                   |\n                       | (e.g. T200/Neo )  |\n                       |                   |\n                       +-------------------+\nNotes:\n1. MOSFET connections:\n   - Phase A: High (Pin 5), Low (Pin 6)\n   - Phase B: High (Pin 7), Low (Pin 8)\n   - Phase C: High (Pin 9), Low (Pin 10)\n\n2. Back-EMF sensing:\n   - Phase A: A0\n   - Phase B: A1\n   - Phase C: A2\n\n3. CAN Bus Module connections:\n   - CS: Pin 15\n   - SO: MISO of Arduino\n   - SI: MOSI of Arduino\n   - SCK: SCK of Arduino\n\n4. Double-check all connections before powering on the system!!!! (i maybe shorted a 12v battery :3)\nDependencies\n\n- SPI library (built-in to arduino ide :3)\n- MCP2515 library (https://github.com/autowp/arduino-mcp2515)\n\n Setup\n\n1. Connect the MOSFET driver circuit and BLDC motor according to the pinout.\n2. Connect the MCP2515 CAN bus module to the Arduino.\n3. Install the MCP2515 library in your Arduino IDE.\n4. Compile and upload the code to your Arduino board (CHECK YOUR PINOUT AND WIRING NOW!!!!!!)\n\nUsage\n\n1. The motor controller listens for CAN messages with ID 0x123.\n2. Send a 16-bit speed value (0-1000) via CAN to control the motor speed.\n3. The controller will automatically handle commutation and speed control.\n\nEnsure proper cooling and protection for the MOSFETs and motor during operation.\n\nThis code controls high-power electronics. Incorrect use can lead to equipment damage or personal injury. Always ensure proper insulation, cooling, and safety measures when working with motor controllers and power electronics.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmdada%2Fadaesc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcmdada%2Fadaesc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmdada%2Fadaesc/lists"}