Skip to content

mundodisco8/Snowflake

Repository files navigation

View this project on CADLAB.io.

Snowflake

A Snowflake Christmas decoration.

Just a design exercise, aiming to get a hand-solderable board (although a bit challenging) that blinks its LEDs without using a microcontoller. I guess you can call it a mix of digital and analogue electronics, because the main trigger is a binary counter that is fed by a clock generated with an opamp in astable multivibrator config.

Outputs

The outputs of this project can be found in the Releases area.

Documentation

Design Intention

You can find the design document in the docs section, as a Jupyter notebook, or better rendered here, as a static rendering of the jupyter notebooks. For an interactive session, you can launch it on Binder if you want to play with the sliders.

Binder

You might even want to clone this repo and get your hands dirty. If you do, remember to create a virtual environment and install all the requirements.

python -m venv venv
venv/Scripts/Activate.bat # or source venv/bin/activate in Linux/Mac
python -m pip install -r requirements.txt

Other bits and bobs

In the LTSpice folder you will find the circuits used on the Jupyter notebook to guess the current consumption as the battery discharges.

The docs folder also contains a couple of Excel spreadsheets I used to calculate some stuff, but they are not that interesting.

Support Folder

The support folder contains random stuff that I needed at some point, mostly graphics.

I nicked the graphics from here, which in turn is a variation of this.

Running the CI/CD locally

The Release section only contains the artifacts of some hand-picked commits. Github Actions run on each commit on master, but the artifacts generated there have a self-life and get deleted after 15 days, I think. If you want, you can run the CICD pipeline locally.

# on the folder containing the project
# pull the KiBot image
docker pull ghcr.io/inti-cmnb/kicad7_auto_full:dev
# create a container named KiBotSnowDev, attaching the current folder as /Snowflake
docker run -it --name KiBotSnowDev -v .:/SnowFlake --entrypoint=/bin/bash ghcr.io/inti-cmnb/kicad7_auto_full:dev
# Now you are attached to the container
kibot -c ArtifactCreation.kibot.yaml -e hardware/Snowflake.kicad_sch -b hardware/Snowflake.kicad_pcb