Skip to Content
Lumensalis CircuitPython framework coming soon 🎉
ProjectsLumensalis CircuitPython FrameworkDocumentationOverview

Lumensalis CircuitPython Framework Documentation

This is the user guide and documentation for the Lumensalis CircuitPython Framework (LCPF).

This documentation is still a work in progress. The LCPF itself is already capable of quite a bit, but the documentation is still thin in places. Adding more documentation and examples, especially to help people get started using the LCPF, is currently the top priority. For now (and even once the documentation is more complete), the best way to get started is to join the Lumensalis Discord Server and ask questions.

Overview

The Primary Goal of the LCPF is helping non-programmers1 incorporate interesting and complex interactive effects into their projects. It doesn’t completely eliminate the need to do a little “coding”, but it makes it much easier2.

It runs on small embedded Controllers with Devices that allow the Controller to interact with the outside world.

It allows you to use Actors, Behaviors, and Devices to create sound, motion, and lighting effects you can see and hear in the real world.

It is designed to be interactive - your project can have “senses” which allow it to react to the environment. Behaviors can respond to inputs from the outside world, such as

  • sensors
  • remote control
    • WebUI - built in support for HTTP WebUI
    • REST/Websockets support for custom external Web interfaces
    • DMX (ArtNet)

Getting Started

Before you can use the LCPF, you need to get it installed and working on a supported embedded controller - see the Getting Started section.

Once it’s installed, to use the LCPF for your project you need to

  • configure the Hardware you’re using
  • configure the behaviors you want your project to use

Configuring the Hardware

If you’re using “shield” style expansion boards (like TerrainTronics D1 Mini Castles), configuring the hardware is fairly easy (much easier thant it would be with most other systems). See the Device Configuration section for details.

Configuring the Behaviors

The LCPF provides a set of behaviors that you can use to add effects to your project. There are two main approaches to doing this:

  • Find Example code, copy and customize it
    • this is the easiest way to get started
      • IF there’s an example that does something similar to you want
      • there will be more examples coming soon
  • Learn all about the Concepts and Behaviors in the LCPF and define your project behaviors from scratch
    • this allows you to get the most out of the LCPF
    • but it does require a bit more work

Starting by finding and copying example code is the recommended approach for most users. Before long, you’ll start understanding a bit about key Concepts like Scenes and key Behaviors like Patterns and Motions from the examples.

Footnotes

  1. “Non-programmers” is a bit of a fuzzy term. For the LCPF, it refers to people with little to no experience writing code, and no interest in learning to program in the traditional sense. It’s not only for non-programmers - the LCPF can still be quite useful for those experienced or interested in “coding” - BUT it does things differently. Please see the DevelopersREADME. ↩

  2. Well, hopefully, assuming I get things right… ↩

Last updated on