{"id":15642531,"url":"https://github.com/adammck/hexapod","last_synced_at":"2025-04-30T09:50:26.385Z","repository":{"id":21073559,"uuid":"24373094","full_name":"adammck/hexapod","owner":"adammck","description":"Golang program for my junky robot","archived":false,"fork":false,"pushed_at":"2018-10-05T15:29:48.000Z","size":1601,"stargazers_count":69,"open_issues_count":1,"forks_count":9,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-30T15:04:30.809Z","etag":null,"topics":["go","hexapod","printrbot","raspberry-pi","robot"],"latest_commit_sha":null,"homepage":"https://vimeo.com/115932070","language":"Go","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/adammck.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":"2014-09-23T13:44:08.000Z","updated_at":"2025-02-24T12:23:05.000Z","dependencies_parsed_at":"2022-08-02T10:38:42.567Z","dependency_job_id":null,"html_url":"https://github.com/adammck/hexapod","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/adammck%2Fhexapod","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adammck%2Fhexapod/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adammck%2Fhexapod/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adammck%2Fhexapod/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adammck","download_url":"https://codeload.github.com/adammck/hexapod/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251679313,"owners_count":21626501,"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":["go","hexapod","printrbot","raspberry-pi","robot"],"created_at":"2024-10-03T11:56:41.854Z","updated_at":"2025-04-30T09:50:26.348Z","avatar_url":"https://github.com/adammck.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Adam's Hexapod\n\nThis is the Go program which powers my hexapod. It runs on a Raspberry Pi B+, and is controlled by a Sony Sixaxis (PS3) controller. The hexapod itself is 50cm in diameter, and about 2kg. The chassis was 3d-printed with a Printrbot Simple Metal, and bolted to 24 Dynamixel AX-12A servos. Each leg has 4DOF, which makes the gait quite flexible.\n\nHere's it is, as of June 2017:\n\n![hexapod photo](http://i.imgur.com/9xvMpsR.jpg)\n\nAnd here's an old GIF of it in action:\n\n![hexapod standing up](https://i.imgur.com/YVEN3If.gif)\n\n[More GIFs here](https://imgur.com/a/eXqIa).  \nAnd [here's a video](https://vimeo.com/115932070).\n\n\n## Hardware\n\n* [Printrbot Simple Metal](http://printrbot.com/shop/assembled-simple-metal/) 3d printer\n* [Dynamixel AX-12A](http://www.trossenrobotics.com/dynamixel-ax-12-robot-actuator.aspx) servos\n* [Raspberry Pi, Model B+](http://www.raspberrypi.org/products/model-b-plus/) computer\n* [Sony Sixaxis](https://en.wikipedia.org/wiki/Sixaxis) controller\n* [USB2AX](http://www.xevelabs.com/doku.php?id=product:usb2ax:usb2ax) dynamixel interface\n* [SparkFun USB MicroB Breakout](https://www.sparkfun.com/products/10031)\n* [RioRand LM2596](http://amzn.com/B008BHAOQO) voltage regulator\n* [Kootek GY-521](http://a.co/0PT1ztv) gyro/accelerometer\n* [Tiger 11.1v 2200mAh LiPo](http://www.trossenrobotics.com/3s-11v-2200mah-25c-lipo-battery) battery\n* [Corsair RM450](http://a.co/aM8V92D) power supply\n* [Edimax EW-7811Un](http://amzn.com/B003MTTJOY) wifi adapter\n* [Medialink MUA-BA3](http://amzn.com/B004LNXO28) bluetooth adapter\n* [JW Winco 353-20-24-M6-S-55](https://store.solutionsdirectonline.com/jw-winco-353-20-24-m6-s-55-vibration-isolation-mount-p9026.aspx) rubber feet\n* [Microsoft LifeCam Cinema 720p](http://a.co/3BNVShU) camera\n\nSTL files are available at [adammck/hexapod-parts](https://github.com/adammck/hexapod-parts), but should not be considered usable for any purpose. It's more fun to design your own, anyway. Email me if you want the SketchUp files.\n\n## Usage\n\n1. Spend countless hours and dollars printing and assembling the hexapod. Be\n   sure to blow up RPi and trap fingers between moving parts for authentic\n   experience.\n\n2. Provision the RPi using\n   [adammck/headless-raspbian](https://github.com/adammck/headless-raspbian)\n   and\n   [adammck/hexapod-infra](https://github.com/adammck/hexapod-infra).\n   It runs Raspbian Jessie with\n   [QtSixa](http://qtsixa.sourceforge.net),\n   the control program (this repo), and a few systemd services to glue\n   everything together.\n\n3. Flip the power switch to boot the hexapod. If you're running tethered with an\n   external PSU, make sure that the power switch is off to isolate the LiPo\n   before plugging it in.\n\n4. Plug the Sixaxis controller in with a USB cable. You only have to do this\n   once, to pair it with the Bluetooth adaptor. Give it a few seconds (to run\n   sixpair), then unplug it.\n\n5. Build and deploy:\n\n        bin/pi-deploy main/main.go\n\n   This requires Go to be installed with cross-compilation support for\n   Linux/ARM. That's outside of the scope of this document, but it's easy.\n\n6. Press the PS button to pair. The controller should rumble and flash its\n   lights. The control program will now start, and the hexapod will initialize\n   and stand up.\n\n7. Use the left stick to translate, and L2/R2 to rotate. Various other buttons\n   do other things.\n\n8. Press Select and Start to shut down the servos and the RPi. Note that this\n   doesn't entirely kill the power, so don't forget to disconnect the LiPo to\n   avoid damaging it.\n\n   Shut down remotely by running:\n\n        bin/pi-poweroff\n\n    Shutdown will automatically occur (with no warning) when the battery drops\n    below 9.6 volts. This is to protect the LiPo. My 2200mAh battery usually\n    lasts about 15 minutes on a full charge.\n\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadammck%2Fhexapod","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadammck%2Fhexapod","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadammck%2Fhexapod/lists"}