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
Automatically draw a KiCad schematic for a circuit prototyped on a breadboard.

Schematic-o-matic Schematic-o-matic automatically draws a KiCad schematic for a circuit prototyped on a breadboard. How It Works The first step in the

Nick Bild 22 Oct 11, 2022
Self Driving Car Prototype

Package Delivery Rover 🚀 This project is a prototype of Self Driving Car. It's based on embedded systems, to meet the current requirement of delivery

Abhishek Pawar 1 Oct 31, 2021
It is a serial communicator(controller, receiver...), communicate with sensor LP20 which is a laser ranger.

Intro It is a serial communicator(controller, receiver...), communicate with sensor LP20 which is a laser ranger. Its datasheet is contained in this r

3 Sep 19, 2022
A Raspberry Pi Pico powered Macro board, like a Streamdeck but cheaper and simpler.

Env-MCRO A Raspberry Pi Pico powered Macro board, like a Streamdeck but cheaper and simpler. (btw this image is a bit outdated, some of the silkscreen

EnviousData 68 Oct 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
Setup DevTerm to be a cool non-GUI device

DevTerm hobby project I bought this amazing device: DevTerm A-0604. It has a beefy ARM processor, runs a custom version of Armbian, embraces Open Sour

Alex Shteinikov 9 Nov 17, 2022
Python code written to utilize the Korlan usb2can hardware to send and receive data over the can-bus on a 2008 Nissan 350z

nissan_ecu_hacking Python code written to utilize the Korlan usb2can hardware to send and receive data over the can-bus on a 2008 Nissan 350z My goal

Liam Goss 11 Sep 24, 2022
A DUCO (Duino-Coin) miner for GigaDevice ARM boards.

GD32 Duino-Coin Miner Description Contains the firmware and miner software for mining DUCO (Duino-Coin) on GigaDevice GD32 chips. Supported boards GD3

Maximilian Gerhardt 2 Feb 20, 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
Ha-rpi gpio - Home Assistant Raspberry Pi GPIO Integration

Home Assistant Raspberry Pi GPIO custom integration This is a spin-off from the

Shay Levy 98 Dec 24, 2022
Raspberry Pi & Accelerometer with Losant's EEA

Raspberry Pi & Accelerometer with Losant's EEA This is a repository that contains companion code to this EEA How To guide. Each folder is named accord

Losant 1 Oct 29, 2021
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
智能无人机路径规划仿真系统是一个具有操作控制精细、平台整合性强、全方向模型建立与应用自动化特点的软件

Drone智能无人机路径规划仿真系统是一个具有操作控制精细、平台整合性强、全方向模型建立与应用自动化特点的软件。它以A、B两国在C区开展无人机战争为背景,该系统的核心功能是通过仿真平台规划无人机航线,并进行验证输出,数据可导入真实无人机,使其按照规定路线精准抵达战场任一位置,支持多人多设备编队联合行动。

wwy 349 Jan 03, 2023
Turn your Raspberry Pi Pico into a USB Rubber Ducky

pico-ducky Turn your Raspberry Pi Pico into a USB Rubber Ducky Install Requirements CircuitPython for the Raspberry Pi Pico adafruit-circuitpython-bun

Konstantinos 5 Nov 08, 2022
A circle of LEDs

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

Pim de Groot 15 Aug 21, 2022
This repository contains all the code and files needed to simulate the notspot quadrupedal robot using Gazebo and ROS.

Notspot robot simulation - Python version This repository contains all the files and code needed to simulate the notspot quadrupedal robot using Gazeb

50 Sep 26, 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
A flexible data historian based on InfluxDB, Grafana, MQTT and more. Free, open, simple.

Kotori Telemetry data acquisition and sensor networks for humans. Documentation: https://getkotori.org/ Source Code: https://github.com/daq-tools/koto

83 Nov 26, 2022
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
Isaac Gym Environments for Legged Robots

Isaac Gym Environments for Legged Robots This repository provides the environment used to train ANYmal (and other robots) to walk on rough terrain usi

Robotic Systems Lab - Legged Robotics at ETH Zürich 372 Jan 08, 2023