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
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
The main aim of this project is to avoid the accidents in shredding ( Waste Recycling Industry )

shredder-Machine-Hand-Safety The main aim of this project is to avoid the accidents in shredding ( Waste Recycling Industry ) . The Basic function of

Shubham Chaudhari 1 Nov 15, 2021
Skykettle ha - Redmond SkyKettle integration for Home Assistant

Redmond SkyKettle integration for Home Assistant This integration allows to cont

Alexey 'Cluster' Avdyukhin 48 Jan 06, 2023
Activate Numpad inside the touchpad with top right corner switch or F8 key

This is a python service which enables switching between numpad and touchpad for the Asus UX433. It may work for other models.

Mohamed Badaoui 230 Jan 08, 2023
OctoPrint is the snappy web interface for your 3D printer!

OctoPrint OctoPrint provides a snappy web interface for controlling consumer 3D printers. It is Free Software and released under the GNU Affero Genera

OctoPrint 7.1k Jan 03, 2023
Code and build instructions for Snap, a simple Raspberry Pi and LED machine to show you how expensive the electricyty is at the moment

Code and build instructions for Snap, a simple Raspberry Pi and LED machine to show you how expensive the electricyty is at the moment. On row of LEDs shows the cost of the hour, the other row the co

Johan Jonk Stenström 3 Sep 08, 2022
A simple Picobot project implemented in Python

Python-Picobot A simple Picobot project implemented in Python About Explanation This is my first programming project. Picobot use rules.txt file which

Shayan Shiravani 0 Apr 03, 2022
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
Minimal and clean dashboard to visualize some stats of Pi-Hole with an E-Ink display attached to your Raspberry Pi

Clean Dashboard for Pi-Hole Minimal and clean dashboard to visualize some stats of Pi-Hole with an E-Ink display attached to your Raspberry Pi.

Alessio Santoru 104 Dec 14, 2022
USB Rubber Ducky with the Rasberry Pi pico microcontroller

pico-ducky Install Install and have your USB Rubber Ducky working in less than 5 minutes. Download CircuitPython for the Raspberry Pi Pico. Plug the d

AnOnYmOus001100 3 Oct 08, 2022
Ansible tools for operating and managing fleets of Blinksticks in harmony using the Blinkstick Python library.

Ansible tools for operating and managing fleets of Blinksticks in harmony using the Blinkstick Python library.

Greg Robinson 3 Aug 10, 2022
OPNsense integration with Home Assistant

hass-opnsense Join OPNsense with home-assistant! hass-opnsense uses the built-in xmlrpc service of OPNsense for all interactions. This project is curr

Travis Glenn Hansen 54 Jan 03, 2023
Segger Embedded Studio project for building & debugging Flipper Zero firmware.

Segger Embedded Studio project for Flipper Zero firmware Установка Добавить данный репозиторий в качестве сабмодуля в корень локальной копии репозитор

25 Dec 28, 2022
A Python program that makes it easy to manage modules on a CircuitPython device!

CircuitPython-Bundle-Manager-v2 A Python program that makes it easy to manage modules on a CircuitPython device! The CircuitPython Bundle Manager v2 i

Ckyiu 1 Dec 18, 2021
This tool emulates an EMV-CAP device, to illustrate the article "Banque en ligne : à la decouverte d'EMV-CAP" published in MISC

About This tool emulates an EMV-CAP device, to illustrate the article "Banque en ligne : à la decouverte d'EMV-CAP" published in MISC, issue #56 and f

Philippe Teuwen 28 Nov 21, 2022
3D-printable hexagonal mirror array capable of reflecting sunlight into arbitrary patterns

3D-printable hexagonal mirror array capable of reflecting sunlight into arbitrary patterns

Ben Bartlett 2.3k Dec 30, 2022
DongshanPI Seven for STM32MP157DAC.

STM32MP1 Buildroot External Tree

DongshanPI 14 May 06, 2022
A ch341dll Wrap is for using in Python 32bits windows to access I2C SPI and MDIO (by GPIO), and Demo with display PC sreen on OLED by i2c or SPI .

ch341dll_wrap_typcal_app A ch341dll Wrap is for using in Python 32bits windows to access I2C SPI and MDIO (by GPIO). In addition, I provided 3 Demo. I

13 Jan 02, 2023
KIRI - Keyboard Interception, Remapping, and Injection using Raspberry Pi as an HID Proxy.

KIRI - Keyboard Interception, Remapping and Injection using Raspberry Pi as a HID Proxy. Near limitless abilities for a keyboard warrior. Features Sim

Viggo Falster 10 Dec 23, 2022
Raspberry Pi Pico support for VS Code

Pico-Go VS Code Extension Pico-Go provides code auto-completion and allows you to communicate with your Raspberry Pi Pico board using the built-in REP

Chris Wood 114 Dec 28, 2022