{"id":28434812,"url":"https://github.com/danieldaquino/robopost","last_synced_at":"2026-05-09T06:37:08.541Z","repository":{"id":189058460,"uuid":"117170201","full_name":"danieldaquino/RoboPost","owner":"danieldaquino","description":"An autonomous delivery system — BCIT Robotics Capstone","archived":false,"fork":false,"pushed_at":"2018-07-28T08:17:34.000Z","size":4964,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-05T19:46:03.100Z","etag":null,"topics":["bcit","capstone","color-sensor","i2c","line-bot","line-follower","line-following","msp430","nodejs","photon","robopost","robotics","spi","tcp","websockets"],"latest_commit_sha":null,"homepage":"","language":"C","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/danieldaquino.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,"governance":null}},"created_at":"2018-01-12T00:23:57.000Z","updated_at":"2024-03-07T23:33:13.000Z","dependencies_parsed_at":"2023-08-18T04:43:39.241Z","dependency_job_id":null,"html_url":"https://github.com/danieldaquino/RoboPost","commit_stats":null,"previous_names":["danieldaquino/robopost"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danieldaquino/RoboPost","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danieldaquino%2FRoboPost","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danieldaquino%2FRoboPost/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danieldaquino%2FRoboPost/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danieldaquino%2FRoboPost/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danieldaquino","download_url":"https://codeload.github.com/danieldaquino/RoboPost/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danieldaquino%2FRoboPost/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32810064,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"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":["bcit","capstone","color-sensor","i2c","line-bot","line-follower","line-following","msp430","nodejs","photon","robopost","robotics","spi","tcp","websockets"],"created_at":"2025-06-05T19:30:42.260Z","updated_at":"2026-05-09T06:37:08.532Z","avatar_url":"https://github.com/danieldaquino.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿![RoboPostLogo](Media/logo.png)\n## An autonomous delivery system — By Daniel Walnut and Tim Yue\n\nThe aim of this project is to build a line following robot that will follow a line at a constant speed and be able to recognize different docking zones scattered around the track and park there.\n\n**Note:** This project is retired and not under current development. Feel free to contact us if needed.\n\n# SHOW ME THE DEMO!!\n\nHere you go: [RoboPost Demo Video – Youtube](https://www.youtube.com/watch?v=mAnifTH91ZA)\n\n# How does it work?\n\nIf you want to know how it works in more details, please visit our wiki!\n\n[How it works — Wiki](https://github.com/danielwalnut/RoboPost/wiki)\n\n# Setting up your own RoboPost\n\n## Getting the hardware\n\nOur custom hardware was designed and built with 3d printed parts, and our own lab-etched PCB boards.\nWe also made the assembly in a lab.\n\nIf you are interested in building your own custom robot based on our design, read on.\n\nIf you are interested in ordering a hardware built by us, please open an issue on Github or email Daniel at [me@danielwalnut.com](mailto:me@danielwalnut.com)\n\n### Components needed\n\n1. MSP4305529LP Evaluation Board\n2. Particle Photon\n3. TI DRV8871 Adafruit Breakout Board\n4. 2 6V DC Motors with attached encoder\n5. SparkFun Line Follower Sensor Array\n6. Grove I2C Color Sensor Module\n7. 3d-printed Chassis *(Custom-built)*\n8. 3d-printed Motor couple *(Custom-built)*\n9. PCB Main Dedicated Board *(Custom-built)*\n10. Two wheels\n11. Omni-wheel\n12. 2 Cell (7.4V) Lipo battery\n13. 5V Voltage regulator\n14. 3v3 Voltage Regulator\n15. Battery Voltage monitor\n16. Track *(Custom-built)*\n17. Docking Stations *(Custom-built)*\n\n### Schematic\n\nThe schematic below is from the PCB Main dedicated board design. It does not include some connections external to the board.\n\n![RoboPostSchematic](Media/Schematic.png)\n\nConnections external to the board are done by connecting external pins. This includes:\n\n1. From battery to Battery terminal\n2. From motor driver output to motor\n3. From power pins (3v3/5v) to sensor power inputs\n4. From i2c pins in sensors to i2c bus on the board.\n\n### Installing Software into your computer\n\nNow that you have the hardware, it is time to setup the software!\n\n**Note:** This installation procedure assumes you have a UNIX operating system, such as macOS or Linux, and that you are familiar with the command line. If you are using Microsoft Windows, some steps might be different.\n**Note:** This installation procesure also assumes that the RoboPost firmware for both MSP430 and Particle Photon are already flashed into the robot.\n\n1. Remove the robot from packaging.\n2. Attach the battery to the velcro tape mount.\n3. Connect Voltage Monitor. A loud beep will occur and the voltages should appear on screen.\n4. You should see 6.7V minimum on the total voltage monitor. If it is below, it is necessary to charge the battery, or the robot will not work as expected\n5. Connect the battery terminals to the Robot.\n6. You should immediately see the Line Follower Array and the Photon light up.\n7. Setup the Photon to connect to the Wi-Fi network of your choice. *More instructions on that can be found on [https://setup.particle.io](https://setup.particle.io)*\n8. Make sure you have Git [https://git-scm.com/](https://git-scm.com/)\n9. Clone this repo into your computer\n\t```$ git clone https://github.com/danielwalnut/RoboPost.git```\n10. Generate a keys.json file within the Web folder. This allows the Node.js Application to connect to the correct device.\n\t```\n\t$ cd RoboPost/Web\n\t$ touch keys.json\n\t```\n\tThen open the file, and create its contents, **in the following format:**\n\t```\n\t{\n\t    \"ID\": \u003cYOUR PARTICLE-ACCOUNT-ID IN DOUBLE QUOTES\u003e,\n\t    \"Token\": \u003cYOUR PHOTON-ACCESS-KEY IN DOUBLE QUOTES\u003e\n\t}\n\t```\n\tYour keys can be found at [https://console.particle.io](https://console.particle.io)\n11. Make sure you have Node.js 8.x.x [https://nodejs.org/en/](https://nodejs.org/en/) and NPM [https://npmjs.com/](https://npmjs.com/)\n12. In order to install the required module packages, open a UNIX terminal, make sure you are in the ```Web``` folder and type:\n\t```$ npm install```\n13. Now the installation should have been successful. Make sure the installation happened with no error\n14. The software is now setup.\n\n### Operating the Robot\n\n1. After the robot is assembled and software is installed, power the robot by plugging the battery connector with power on the board.\n2. Make sure Photon is connected to the same Wi-Fi network as the computer.\n3. On a UNIX terminal, go to the ```Web``` folder and start the server:\n\t```\n\t$ cd \u003cpath-to-RoboPost\u003e/Web\n\t$ npm start\n\t```\n4. After a few seconds, you should see on the screen\n\n![Server has launched!](Media/server-launched.png)\n\n5. Open your favorite web browser and go to [http://localhost:3000/](http://localhost:3000/)\n6. The user interface will be displayed, to adjust parameters, click the cog at top right corner and drag the sliders. To set the robot in motion, click the **play** button on top left corner of the *UI* then press **PB1** on the *MSP430*.\n7. To download statistic information, click the **download** button to the left of the cog in the *UI*.\n\n# Hacking RoboPost\n\nIf you want to improve the software in RoboPost to suit your needs, you will need to understand the firmware more deeply.\n\nGeneral information about each module can be found in the ```README.md``` of most modules, and deeper information, such as descriptions of each functions can be found in the header ```.h``` files of most modules.\n\n# Questions?\n\nFeel free to open an issue or email Daniel at [me@danielwalnut.com](mailto:me@danielwalnut.com)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanieldaquino%2Frobopost","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanieldaquino%2Frobopost","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanieldaquino%2Frobopost/lists"}