A circle of LEDs

Related tags

Hardwarecircledisplay
Overview

Circle Display

Introduction

This repository contains all the design files, production files and example code for a simple circular LED display.

This readme assumes that you either know how to produce a board, source parts, and solder SMD components, or are willing to learn how to do these things. The production files have been tested using several production methods, so you shouldn't encounter issues making this board. The hints and instructions included should be enough to get you started.

Parts

The following components are needed:

  • 1x 74HC595 shift register in SOP16 package
  • 3x 100nF capacitor in a 0805 package
  • 8x 1k 0805 resistor
  • 16x LED in a 1206 package
  • 2x 2N7002 mosfet
  • 2x 10k 0805 resistor (R1 and R2)
  • 2x 4.5x4.5mm push button
  • 1x 6x2 angled header

Notes:

  1. The 1k resistors are for controlling the brightness of the LEDs and have been picked to get a reasonable amount of light, without being blinding. Use a lower value resistor for brighter LEDs.
  2. You can use any 1206 LED. If you don't know what color to use, you can get packages with small amounts of multiple colors from aliexpress/ebay.
  3. The BOM can be found here: circledisplay.csv and contains article numbers for LCSC.com

Boards

Production files can be found in the hardware/gerbers/ folder. Most vendors will accept the zip file with gerbers. Examples are Oshpark, JLCPCB, PCBWAY, and Dirtypcbs

Two vendors have been tested:

Oshpark

L to R: After dark, Purple, Flex

Oshpark is an American PCB manufacturer that specializes in small run prototype boards. They have decent prices for small orders and excellent customer service. They only do three types of boards: After dark, which is black substrate with clear solder mask. This shows the copper layers while also protecting them with a clear coat. Purple, which is their standard color. And flex, which are flexible pcbs. This design is not made for flex and it is not recommended to pick this option. All boards are made with gold plated solder pads and the default shipping option is free. You get three boards.

If you have never ordered pcb's you can't go wrong with Oshpark

JLCPCB

All the possible soldermask colors of JLC

JLCPCB is a Chinese PCB manufacturer. They have a prototype service, but can also do large quantities of boards. They offer much more options, like soldermask colors and plating material. With the default options they are similar in price as Oshpark for 5 boards, but if you order larger quantities the price per board drops significantly. Another advantage is that you can order solderpaste stencils with your pcbs.

Note that JLCPCB adds an order number to your PCBs. Click "specify location" at the remove ordernumber option to put that number under the chip. The required JLCJLCJLCJLC silkscreen is already under the chip.

SMT assembled boards

JLCPCB also offers a SMT assembly service, where you can get fully assembled boards. In addition to the zip file, you also need the BOM and the placement file. Note that these files have been manually corrected for parts rotation, so take extra care when re-exporting them from the kicad files. The headers aren't included in the files, as they add quite a bit of assembly costs.

If you just want the finished product this is the way to go. If you want to make your own boards in the future, I would recommend to start with getting the parts and boards and soldering them yourself. Getting boards ready for SMT adds another layer of complexity and isn't recommended for a beginner.

Soldering

This readme doesn't have a soldering guide (yet). This board is similar enough to an older board that this guide: https://github.com/pimdegroot/74595displaykit translates to this board as well.

Software

Software examples can be found in the software/ folder. Both Arduino and Circuitpython examples are offered. Note that you have to change the pinout to your dev board.

The circle is divided in groups of 8 LEDs. Mosfet A controls the right group and mosfet B the left one. The pins have the following functions:

  • SER is the serial data in pin. Data should be shifted in most significant bit first.
  • CLK shifts in the bit at the SER pin when going high
  • LAT latches the data, shifting it from a temporary register to the output
  • OE is output enable, and makes the chip output when low.
  • MA and MB are the mosfets
  • BTN1 is the top button, BTN2 is the lower button

The procedure for driving the 74HC595 is as follows:

Setup

Drive SER, CLK, LAT, OE, MA and MB low. Set BTN1 and BTN2 as input.

Update loop

Right side:

  • Shift in the bits for the right side of the display, MSB first
  • Set MB low
  • Set LAT high
  • Set MA high
  • Set LAT low

Left side:

  • Shift in the bits for the left side of the display, MSB first
  • Set MA low
  • Set LAT high
  • Set MB high
  • Set LAT low

Final notes

The information in this repository is provided as is, and while care has been taken to eliminate all errors, there might still be bugs. As I have limited time to give support, please try to solve the problem yourself first. If you found an error in the repo, I would like to hear it in the form of an issue so I can fix it for everyone.

Have fun building the board, and I would love to see the results. You can contact me at https://twitter.com/mifune

Owner
Pim de Groot
Pim de Groot
A script and GUI for controlling stepper motors from an arduino

A script and GUI for controlling stepper motors from an arduino (nema 23 in my case but should work for others in general)

Pip 2 Aug 01, 2022
HACS gives you a powerful UI to handle downloads of all your custom needs.

HACS (Home Assistant Community Store) Manage (Install, track, upgrade) and discover custom elements for Home Assistant directly from the UI. What? HAC

HACS 3.2k Jan 04, 2023
LedFx is a network based LED effect controller with support for advanced real-time audio effects

Welcome to LedFx ✨ -Making music come alive! LedFx website: https://ledfx.app/ What is LedFx? What LedFx offers is the ability to take audio input, an

786 Jan 02, 2023
Python application, displaying currently played track from Spotify on OLED display connected via I2C

RaspberryPi Spotify OLED Display This application will display currently played track on SSD1306 OLED display connected to RaspberryPi. Displayed stuf

Wojciech Olech 2 Dec 30, 2021
Yet another automation project because a smart light is more than just on or off.

Automate home Yet another home automation project because a smart light is more than just on or off. Overview When talking about home automation there

Maja Massarini 62 Oct 10, 2022
A IC scan test interface for Arduino

ICSCAN_ARDUINO Prerequisites Python 3.6 or higher arduino uno or nano what is this It is a bitstream tranceiver to test IC chip It sends bitstream to

Nifty Chips Laboratory 0 Sep 15, 2022
🏡 My Home Assistant Configs. Be sure to 🌟 my repo to follow the updates!

Home Assistant Configuration Here's my Home Assistant configuration. I have installed HA on a Lenovo ThinkCentre M93P Tiny with an Intel Dual-Core i5-

iLyas Bakouch 25 Dec 30, 2022
Easyeda2kicad.py - Convert any LCSC components (including EasyEDA) to KiCad library

easyeda2kicad.py A Python script that convert any electronic components from LCSC or EasyEDA to a Kicad library Installation git clone https://github.

uPesy Electronics 150 Jan 06, 2023
Home Assistant custom components MPK-Lodz

MPK Łódź sensor This sensor uses unofficial API provided by MPK Łódź. Configuration options Key Type Required Default Description name string False MP

Piotr Machowski 3 Nov 01, 2022
MicroPython driver for 74HC595 shift registers

MicroPython 74HC595 A MicroPython library for 74HC595 8-bit shift registers. There's both an SPI version and a bit-bang version, each with a slightly

Mike Causer 17 Nov 29, 2022
Uses the Duke Energy Gateway to import near real time energy usage into Home Assistant

Duke Energy Gateway This is a custom integration for Home Assistant. It pulls near-real-time energy usage from Duke Energy via the Duke Energy Gateway

Michael Meli 28 Dec 23, 2022
Bucatini: a soft PIPE PHY for FPGA SerDes

Bucatini: a soft PIPE PHY for FPGA SerDes Bucatini is a noodly gateware layer capable of transforming an FPGA SerDes into a PIPE PHY, allowing you to

Great Scott Gadgets 28 Dec 02, 2022
Monorepo for my Raspberry Pi dashboard and GPS satellite listener.

🥧 pi dashboard My blog post: Listening to Satellites with my Raspberry Pi This is the monorepo for my Raspberry Pi dashboard!

Andrew Healey 27 Jun 08, 2022
A Simple Python KeyLogger App

✨ Kurulum Uygulamayı bilgisayarınızda kullana bilmek için bazı işlemler yapmanız gerekiyor. Aşağıdaki yönlendirmeleri takip ederek bunu yapabilirsiniz

VorteX 7 Jun 11, 2022
Pi-hole with Inky pHAT ePaper display

Pi-hole with Inky pHAT ePaper display This is my Pi-hole with an ePaper display.

11 Sep 13, 2022
🌱 - WebhookHard◞ Fines Educativos ◟

v1.0.0 WebhookHardware ¿Que es WebhookHardware? WebhookHardware se trata de un proyecto tratado para sacar informacion sobre el hardware de tus victim

3 Jun 14, 2021
Imbalaced Classification and Robust Semantic Segmentation

Imbalaced Classification and Robust Semantic Segmentation This repo implements two algoritms. The imbalance clibration (IC) algorithm for image classi

24 Jul 23, 2022
Mycodo is open source software for the Raspberry Pi that couples inputs and outputs in interesting ways to sense and manipulate the environment.

Mycodo Environmental Regulation System Latest version: 8.12.9 Mycodo is open source software for the Raspberry Pi that couples inputs and outputs in i

Kyle Gabriel 2.3k Dec 29, 2022
Home Assistant component to handle key atom

KeyAtome Home Assistant component to handle key atom, a Linky-compatible device made by Total/Direct-Energie. Installation Either use HACS (default),

18 Dec 21, 2022
Create (templateable) cameras that display qr codes in homeassistant

QRCam This custom component creates cameras displaying qrcodes. The QRCodes can be static or generated from templates. If you use a template as conten

Jannes Müller 5 Oct 06, 2022