Snowflake

Snowflake which can be mounted on christmass tree. 
It contains six RGB leds which can light in different patterns.
It is powered by li-po cell and can be charged by micro USB connector.
It contains bluetooth low energy(nRF51) which can be used to check battery state and
modify lighting patterns.

 Side with RGB leds

Hardware Design

PCB was designed using Circuit Maker. Project can be seen here.

Version v1.1
You can download production release files here: https://circuitmaker.com/Projects/Details/Mateusz-buleks/Snowflake#secti...
This version repair some mistakes discovered in v1.0.
At this moment this is not ordered yet.

Version v1.0

Boards are shown below.

 

V

We prepare simple LED's blinking example. Video is avaliable here.

Software

Software is making with use C++ microhal library.
We have impemented ports GPIO, timer to simply drive RGB leds.
Blinking example can be found here: https://github.com/microHAL/project-snowflake/tree/master

 

Snowflake programming introduction with Microhal

At this moment we have IDE(interactive development environment) based on Eclipse to manage and compile projects.
It is known as MicroIde and can be downloaded here: http://microhal.org/quickstartguide
It works on Windows and Linux.

Ide installation instruction inform how to import several projects but not Snowflake.
It must be downloaded by hand.

For requirements of this tutorial, it is prepared devel branch(https://github.com/microHAL/project-snowflake/tree/devel) with simple examples to introduce microhal.
Examples use git repository. First step is devel branch checkout. This can be done using this command:

git clone https://github.com/microHAL/project-snowflake/ -b devel

This project contain submodules to external repositiories like microhal,freertos,gsl.
Submodules must be updated:
cd project-snowflake
git submodule update --init --recursive

After this action files are ready. At this moment whole FreeRtos is downloaded and demo files can be removed to save above 200MB.

rm microhal/third-party/FreeRTOS/FreeRTOS/Demo/ -rf
rm microhal/third-party/FreeRTOS/FreeRTOS-Plus/Demo/ -rf

Projects are ready to import in Microide.
When application is ready. Select File->Import.
New window will appear.

Click next and select root directory to project-snowflake/firmware/examples directory.
This shows projects which was found in example directory.

Select projects to include. For first tutorial section example1 is only needed.
Click Finish to import projects.
Project should appear in projects list, int left part of window.

Another version.

We have another conception with nRF52840.
With this microcontroller snowflakes can make bluetooth 5.0 mesh and synchronize lighting.
PCB was designed in Circuitmaker and can be seen here.

Snoflake with nRF52840

Startup Growth Lite is a free theme, contributed to the Drupal Community by More than Themes.