Giter Site home page Giter Site logo

snowflake's Introduction

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

snowflake's People

Contributors

joel-felcana avatar mundodisco8 avatar terayza avatar

Watchers

 avatar  avatar  avatar

snowflake's Issues

Counter footprint: tweak or replace

It's a bloody pain to solder, at least without magnification. I think the pads are a tad too wide, and they could be longer too.
In any case, by mistake I ordered a part I thought it was equivalent and came in SOIC footprint. It's much bigger, but it leaves more space between pins. Consider changing to that part

Dual NMOS

Extend pads a little so it's easier to solder

put some order in the kibot yaml

I split the different configs in different files, which is neat, but I just moved the ouputs. A bunch of pre-flight, filters, etc. are still project dependant, or tied to outputs (like the filter section and the assembly step).

it would be great to get a skeleton of the basics that can be copied and pasted around projects, leaving a bunch of project-specific files to set everyhting up

Test points

During the assembly, it is useful to have a bunch of test points to poke around and make sure everything is working.

Get test pads for:

  • Clock output -> CLK Signal, output of the opamp
  • Two gates of the dual NMOS
  • LED0 pin on the binary counter

LED Footprint

LED footprints are really tight and soldering is difficult

Rotate the battery holder

As it is, one of the current limiting resistors will hit the battery when removing it, making it a bit difficult to remove. Maybe rotating the footprint 30° will leave enough clearance for the battery to slide free

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.