Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

BRICKMASTER

Summary

A (Circuit)Python application for controlling relays and devices. The most important of which are, of course, Legos.

Project Goals

  • Provide a common interface for a variety of devices
  • Be able to do cool automations with connected devices (ie: Saturn 5 launch simulation)
  • Teach myself some more Python (and hardware, and MQTT)

Supported Platforms

  • Raspberry Pi OS (Bookworm) - Specifically on the Pi Zero W. Other Pis should work just fine, just aren't tested.
  • CircuitPython 9 - CircuitPython 8 is no longer being tested.
    • Adafruit Metro M4 Airlift - Default pystack size on this board is 1536, which should be raised to at least
      1. Given notable memory limitations of this board I may stop testing in the near future. Requires a pystack value of at least 4096, possibly more depending on your control configuration. The ESP32 line or possibly the Metro M7 Airlift would be recommended instead.
    • Adafruit ESP32 Feather v2

Feature set is intended to be 1:1 between CPython and CircuitPython. Documentation notes where this is not true due to platform limitations.

v0.7 Target Features

  • Load config from a remote site.
  • Remote reload command to reset (and load new config!)
  • Actual Sphinx documentation

V0.6 Target Features

  • Option to load config from a remote site (ie: web directory) - Nope, moving to v0.7
  • Package for PyPi and Circup.
  • Control options
    • Multi-pin controls. Done!
    • Groups to wrap multiple controls together. - Dropped. Probably better to group through Home Assistant.
    • Flasher option. Done!
    • Multiple AW9523 expanders Tested, works! Note, still can't mix pins across sources for a single control.

Latest Updates - V0.5.1

  • Debugged issues with client reconnection when the broker goes away (ie: restarts)
  • Discovery and Status messages are now retained, which allows devices/entities and their status to be maintained across HA restarts. No more disappearing devices.
  • Added new MQTT 'log' option to control logging of the base MQTT client. This is a deep debug option, should really only be needed for debugging.
  • Fixed indicator LEDs - those broke at some point - and rewrote them to use CtrlGPIO control objects for consistency.
  • Included and tested example systemd units for Linux installs.
  • Updated CircuitPython 'code.py' startup file to be smarter and behave as a parallel to the cli invoker on Linux.
  • Reorganized with an eye towards packaging. Will learn how to do that at some point.
  • Cleaned up some settings and updated documentation.

Latest Updates - V0.5.0

Having struggled with CircuitPython/Adafruit-MiniMQTT stability issues, I have refactored the whole network module and split based on platform. Brickmaster2 on linux will now use the very robust PAHO MQTT, which I also use in my other project, CobraBay. This leads to some code bloat. Notes on how to deploy based on platform are below.

Metadata

Release files for Brickmaster 0.6.1b2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Brickmaster 0.6.1b2
File Size Uploaded Provenance Actions
brickmaster-0.6.1b2.tar.gz 10.3 MB Without provenance Details for brickmaster-0.6.1b2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for Brickmaster 0.6.1b2
File Interpreter ABI Platform Actions
brickmaster-0.6.1b2-py3-none-any.whl Python 3 none any Details for brickmaster-0.6.1b2-py3-none-any.whl

Total release size: 10.4 MB

Release files / brickmaster-0.6.1b2.tar.gz

Download URL brickmaster-0.6.1b2.tar.gz
Size 10.3 MB
Tags Source
SHA-256 checksum
How to use checksums
4978452b4921d804b87d971c2ebe2de15425709558eb9bfc2d71b212b138e530
BLAKE2b-256 checksum
How to use checksums
9a5fbdde2df1ccc92e6f24cb94712a9e24316dddac43cefdcc4d93ca1cd0b0ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.28.1

Release files / brickmaster-0.6.1b2-py3-none-any.whl

Download URL brickmaster-0.6.1b2-py3-none-any.whl
Size 55.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fcd1e5e51e940cf518e5f2fa3677c9244e3304d853df5a73d9e87d7e93b7b718
BLAKE2b-256 checksum
How to use checksums
ff07a059ddd26617f0478b34bb0b7c23851a1d72280622e5c8ed2209490c61ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.28.1

Security for Brickmaster 0.6.1b2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page