{"id":47756732,"url":"https://github.com/jonathangjertsen/rpi-msp430","last_synced_at":"2026-04-03T04:30:26.113Z","repository":{"id":45269810,"uuid":"441767504","full_name":"jonathangjertsen/rpi-msp430","owner":"jonathangjertsen","description":"Guide and script to install mspdebug on Raspberry Pi in order to flash and debug MSP430 devices","archived":false,"fork":false,"pushed_at":"2025-08-07T13:23:25.000Z","size":20,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-07T15:22:08.047Z","etag":null,"topics":["msp430","mspdebug","pi","raspberry","raspberry-pi","raspberrypi"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonathangjertsen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"zenodo":null}},"created_at":"2021-12-25T22:18:46.000Z","updated_at":"2025-08-07T13:23:29.000Z","dependencies_parsed_at":"2025-04-20T13:31:32.114Z","dependency_job_id":"48733305-eaa6-4224-9656-af9ca499ef08","html_url":"https://github.com/jonathangjertsen/rpi-msp430","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jonathangjertsen/rpi-msp430","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathangjertsen%2Frpi-msp430","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathangjertsen%2Frpi-msp430/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathangjertsen%2Frpi-msp430/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathangjertsen%2Frpi-msp430/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonathangjertsen","download_url":"https://codeload.github.com/jonathangjertsen/rpi-msp430/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathangjertsen%2Frpi-msp430/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31333321,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T03:20:36.090Z","status":"ssl_error","status_checked_at":"2026-04-03T03:20:35.133Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["msp430","mspdebug","pi","raspberry","raspberry-pi","raspberrypi"],"created_at":"2026-04-03T04:30:21.780Z","updated_at":"2026-04-03T04:30:26.096Z","avatar_url":"https://github.com/jonathangjertsen.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"This repo contains scripts that help with installing and running `mspdebug` on a Raspberry Pi.\n\nIt installs some packages via apt, and the rest from source.\n\n## Automated setup\n\nBefore running, please make sure apt is up to date by running e.g. `sudo apt install \u0026\u0026 sudo apt upgrade`\n\nTo install, clone the repo and run `setup.sh`. Alternatively look into the `steps` folder to see each step that needs to be run.\n\nIf it ran successfully, you can now run `mspdebug` with your board connected, and you should be able to run stuff.\n\nTested on:\n\n- Raspberry Pi 4 / Raspberry Pi 3 B+ using an MSP-EXP430FR2355 board (@jonathrg)\n- Raspberry Pi 5 with TI MSP-FET and MSP430FG2618 (@RadioAct)\n\n## Details\n\nThis repo exists because I wanted to use a Raspberry Pi as a self-hosted runner to run unit tests\non an MSP430 board using Github Actions.\n\nTI provides a few ways to flash MSP430 boards, including [Code Composer Studio][CCS], [MSPFLASHER][MSPFlasher] and [Uniflash][Uniflash]. All of these are available for Linux, but none of them are available for ARM processors like the Raspberry Pi.\n\nOne tool that is supported is Daniel Beer's [mspdebug][mspdebug], which we can simply `apt-get install`. However, it needs an externally provided driver to connect to. After some staring at the manpage, it seemed like `tilib` would be a good choice. The name means that it uses a TI-provided dynamic library called `libmsp430.so`, which is part of TI's [MSP Debug Stack][mspds]. Once again, a prebuilt binary is available for Linux, but not for ARM.\n\nThis time, though, TI has actually provided the source code, so we can build it ourselves. First, we need to download and extract the MSPDS source files. This is done in the `steps/downloads_mspds.sh` script.\n\n`libmsp430.so` has a couple of its own dependencies: [Boost][boost] version 1.67, and [HIDAPI][hidapi] version 0.8.0-rc1.\n\nBoost is fortunately just an `apt-get install libboost1.67-all-dev` away.\nI couldn't get the same to work with HIDAPI, but it's reasonably easy to build from source (see `steps/build_hidapi.sh` in this repo). The only quirk I saw was that the bootstrap script had to run twice.\n\nNow for the tricky bit. According to the build instructions, MSPDS expects some of the artifacts from HIDAPI to be copied over to a folder called `ThirdParty`. The instructions say to copy `hidapi.h` into `ThirdParty/include`, and to copy `hid-libusb.o` into `ThirdParty/lib`. Now, I couldn't find any files called `hid-libusb.o` in the build folder, so I just tried the closest sounding thing which was `libusb/hid.o`. I copied this file into `ThirdParty/lib` and renamed it to `hid-libusb.o`. I also had to copy it to `ThirdParty/lib64`.\n\nAs awkward as all that sounds, it works: I just ran `make STATIC=1` in the MSPDS root directory, and after several minutes I had a `libmsp430.so`. The final step was to copy it over to `/usr/lib/` so `mspdebug` could find it.\n\nThe last step is to verify that it works. For example, `mspdebug tilib --usb-list` should show that a board is connected. You can then run just `mspdebug` to start an interactive shell, or do whatever you need to do from the command line (refer to the manpage for that).\n\n[CCS]: https://www.ti.com/tool/CCSTUDIO\n[MSPFlasher]: https://www.ti.com/tool/MSP430-FLASHER\n[Uniflash]: https://www.ti.com/tool/UNIFLASH\n[mspdebug]: https://dlbeer.co.nz/mspdebug/\n[mspds]: https://www.ti.com/tool/MSPDS\n[boost]: https://www.boost.org/\n[hidapi]: https://github.com/signal11/hidapi\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathangjertsen%2Frpi-msp430","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathangjertsen%2Frpi-msp430","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathangjertsen%2Frpi-msp430/lists"}