{"id":37023442,"url":"https://github.com/chabala/brick-control-lab","last_synced_at":"2026-01-14T02:49:05.364Z","repository":{"id":9384561,"uuid":"60432426","full_name":"chabala/brick-control-lab","owner":"chabala","description":"Library for controlling the LEGO® control lab interface.","archived":false,"fork":false,"pushed_at":"2025-06-19T20:59:04.000Z","size":1916,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-19T21:34:39.057Z","etag":null,"topics":["control-lab","dacta","java","lego","mindstorms"],"latest_commit_sha":null,"homepage":"https://chabala.github.io/brick-control-lab/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chabala.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-06-04T22:14:18.000Z","updated_at":"2024-10-13T21:29:50.000Z","dependencies_parsed_at":"2024-01-23T23:26:33.781Z","dependency_job_id":"a5fb400b-63cd-42a1-b9e6-fcfb40ae8243","html_url":"https://github.com/chabala/brick-control-lab","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/chabala/brick-control-lab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chabala%2Fbrick-control-lab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chabala%2Fbrick-control-lab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chabala%2Fbrick-control-lab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chabala%2Fbrick-control-lab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chabala","download_url":"https://codeload.github.com/chabala/brick-control-lab/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chabala%2Fbrick-control-lab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408756,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"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":["control-lab","dacta","java","lego","mindstorms"],"created_at":"2026-01-14T02:49:04.879Z","updated_at":"2026-01-14T02:49:05.344Z","avatar_url":"https://github.com/chabala.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# brick-control-lab\n\nLibrary for controlling the [LEGO® control lab interface][1].\n\n[![Build Status][2]][3]\n[![Coverage Status][7]][8]\n[![Codacy Badge][5]][6]\n[![License: GNU LGPL 3.0][4]](https://www.gnu.org/licenses/lgpl-3.0.en.html)\n\n[![Maven Central][16]][17]\n\n### What is the control lab?\n\n[![control lab][9]][10]\n\nThe control lab is a computer control interface for LEGO® electrical elements, like motors and sensors. It\nis a predecessor to LEGO® MINDSTORMS® products, and is compatible with many of the elements that work with\nthe [MINDSTORMS® RCX][11] product. Also known as Interface\u0026#160;B, it was sold by the educational division of LEGO®\nin the DACTA® product line, as part of set 9751, part number 70909. It came in both a PC and a Mac version,\nwith different serial cables and software, though the interface boxes are identical.\n\nWhile MINDSTORMS® products are battery powered, compact, and geared toward mobile robots, the control lab is\nstationary, tethered to a power source and the computer that controls it. The advantage for the control lab\nis that without the need to be compact it can connect to many more motors and sensors.\n\nIt has eight controllable outputs and eight sensor inputs, along with another always on output, and a stop\nbutton to halt the running program. It is compatible with elements from the 9 volt electric system,\nincluding motors, lights and sound blocks. Compatible sensors include touch, temperature, light, and rotation.\n\n### What is brick-control-lab?\n\nbrick-control-lab is a Java library to allow programs to control the control lab programmatically. It is not the first\npiece of hobby software to target working with the control lab, but it is the first with these goals:\n* Java-based\n* as a library (e.g. no user interface, used by other programs)\n* usable from Maven\n\nAs software that uses a serial port, usability from Maven was a challenge. The standard Java Communications API\n(JavaComm) never had a reference implementation that worked on all major platforms. There is an independent serial\nlibrary, RxTx, but neither it nor JavaComm are usable from Maven, as they have setup procedures that involve adding\nfiles into the JRE on the target platform. See [Serial Java][14] for more details.\n\nThe solution is a relatively new library called [Java Simple Serial Connector][15] (jSSC). While the future development\nof the library is unclear, it has a release on Maven Central that allows cross platform serial port access without any\nJRE modifications.\n\n### Usage\n\nRefer to the [Maven generated site](https://chabala.github.io/brick-control-lab/usage.html) for usage\ninstructions and additional documentation.\n\n### Licensing\nLicensed under [GNU Lesser General Public License 3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html)\n\n[1]: http://www.peeron.com/inv/sets/9751-1\n[2]: https://github.com/chabala/brick-control-lab/actions/workflows/build.yml/badge.svg?branch=master\n[3]: https://github.com/chabala/brick-control-lab/actions/workflows/build.yml\n[4]: https://img.shields.io/badge/license-GNU_LGPL_3.0-brightgreen.svg\n[5]: https://app.codacy.com/project/badge/Grade/1635550c03fb4874889f145d3d9bd237?branch=master\n[6]: https://app.codacy.com/gh/chabala/brick-control-lab/dashboard\n[7]: https://coveralls.io/repos/github/chabala/brick-control-lab/badge.svg?branch=master\n[8]: https://coveralls.io/github/chabala/brick-control-lab?branch=master\n[9]: https://www.bricklink.com/SL/9751-1.jpg\n[10]: https://www.bricklink.com/catalogItemPic.asp?S=9751-1\n[11]: https://en.wikipedia.org/wiki/Lego_Mindstorms#RCX\n[14]: https://en.wikibooks.org/wiki/Serial_Programming/Serial_Java\n[15]: https://github.com/scream3r/java-simple-serial-connector\n[16]: https://maven-badges.herokuapp.com/maven-central/org.chabala.brick/brick-control-lab/badge.svg\n[17]: https://maven-badges.herokuapp.com/maven-central/org.chabala.brick/brick-control-lab\n\n\u003c!---\nPotential replacements for maven-badges.herokuapp.com\n[16]: https://img.shields.io/maven-central/v/org.chabala.brick/brick-control-lab.svg\n[17]: https://mvnrepository.com/artifact/org.chabala.brick/brick-control-lab\n--\u003e\n\nLEGO®, DACTA®, TECHNIC®, and MINDSTORMS® are trademarks and/or copyrights of the LEGO Group,\nwhich does not sponsor, authorize or endorse this software.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchabala%2Fbrick-control-lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchabala%2Fbrick-control-lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchabala%2Fbrick-control-lab/lists"}