P01R00 is a smart RGB LED module based on Cree CLVBA-FKA-CC1F1L1BB7R3R3 RGB LED and STM32F0 MCU. It is part of Hexabitz modular prototyping system.
Module web page: https://hexabitz.com/product/rgb-led-p01r00/
Check the References tab in module page for links to documentation, design files, source code and examples.
Check the Quickstart Guide tab in module page for quick introduction on using this module.
Hexabitz is a new kind of electronic prototyping platforms with game-changing modularity and a hint of biomimicry. Hexabitz modules connect with each other using a novel edge-soldering system and allow you to build tidy, compact and completely re-configurable electronic boards. Learn more about Hexabitz here.
See also other module repositories here
How do I get set up?
If you want to load a precompiled HEX file
1- Navigate to Compiled folder and load the appropriate HEX file using any firmware update method described here.
If you want to compile the code:
2- Download or clone this repository source code and open the uVion projext in MDK-ARM folder (it has .uvprojx extension).
3- If you are loading a single module, simply compile the code and load it to module MCU via one of the firmware update methods explaind here.
4- If you are loading multiple modules of the same type (connected in an array) and you want them to have unique firmware, then manually modify the module ID in Options for Target >> C/C++ >> Preprocessor Symbols >> Define >> _module=x (where x is the module ID) and in Output >> Name of Executable. Recompile the project and load each module according to its ID. You can also create multiple targets as explained in the firmware update guide.
You can also compile using GCC on your favorite toolchain.
How do I test?
1- If code is loaded correctly, you should see one or few indicator LED blinks when you power-cycle.
3- Check available CLI commands by typing help or use the module factsheet. Make sure the factsheet BOS version number (at the footer) matches the source code version you have.
How do I update the source code for an old project?
1- If your project follows portability guidelines, then just keep all files in the User folder and replace all other folders with the newer source code.
Where should I add my code?
To preseve maximum code portability between projects, we advise you to:
1- Keep all your custom source and header files in the User folder.
2- Add your code to the FrontEndTask() in main.c and add other custom functions there including custom interrupt callbacks.
3- Add any external header files you want to include to the project.h file.
4- Add any topology header files to User folder and include them in project.h.
Whom do I talk to?
How do I contribute?
- We welcome any and all help you can provide with testing, bug fixing and adding new features! Feel free to contact us and share what's going on in your mind.
- Please send us a pull request if you have some useful code to add!
This software / firmware is released with MIT license. This means you are free to use it in your own projects/products for personal or commercial applications. You are not required to open-source your projects/products as a result of using Hexabitz code inside it.
To our best knowledge, all third-party components currently included with Hexabitz software follow similar licenses (MIT, modified GPL, etc.). We will do our best to not include third-party components that require licensing or have restricted open-source terms (i.e., forcing you to open-source your project). There is no guarantee, however, that this does not happen. If we ever include a software component that requires buying a license or one that forces restrictive, open-source terms, we will mention this clearly. We advise you to verify the license of each third-party component with its vendor.
HEXABITZ SOFTWARE AND HARDWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE AND HARDWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE AND HARDWARE.