
Sweepv2
davidphilipbarr/Sweep
Sweep - a small promicro based keyboard inspired by the Ferris.

5x5x5 LED Cube using an ATmega32
5x5x5 Led Cube is an open-source printed circuit board by qb-creates, from the qb-creates/LedCube repository on GitHub. It is a 2-layer board of 117 × 94.6 mm with 53 parts on 58 nets, routed with 508 tracks and 0 vias.
It is built around the CAT4016Y-T2. Its parts include 8 resistors, 5 capacitors and 1 diode. It belongs with the AVR (ATmega, ATtiny) boards of this library.
LED Cube Display that projects custom animations using a 5x5x5 matrix of LEDs. The display utilizes an ATmega32 microcontroller utilizes two 16-channel LED drivers.
This circuit projects custom animations by utilizing multiplexing and bit-angle modulation for LED dimming. Each layer of the cube consists of 25 LEDs, with their anodes soldered together and their cathodes connected to the CAT4016 constant current sink outputs. The LEDs are arranged into 25 vertical columns, each containing five LEDs stacked across the layers. The cathodes of LEDs within each column are connected together, allowing control of entire columns simultaneously. Five transistors act as switches to control each layer, allowing 5V to be applied to the corresponding anode mesh when the associated transistor is activated. Through multiplexing, all five layers can appear illuminated simultaneously. Communication with the LED drivers is achieved via the SPI protocol.
The LED Drivers are chained together. Each driver must receive two bytes of data to control their 16 output channels. Four bytes of data must be sent to the first driver in order to control all 32 output channels. The LEDs are mounted in order (starting from the top left corner of the 32 pin header connector) from 1 to 25. The table below shows which output channel each LED is connected to.
| Cat4016 1 Outputs | LED Number | -- | Cat4016 2 Outputs | LED Number |
|---|---|---|---|---|
| Byte0 | -- | Byte2 | ||
| Out0 | LED1 | -- | Out0 | LED17 |
| Out1 | LED2 | -- | Out1 | LED18 |
| Out2 | LED3 | -- | Out2 | LED19 |
| Out3 | LED4 | -- | Out3 | LED20 |
| Out4 | LED5 | -- | Out4 | LED21 |
| Out5 | LED6 | -- | Out5 | LED22 |
| Out6 | LED7 | -- | Out6 | LED23 |
| Out7 | LED8 | -- | Out7 | LED24 |
| -- | ||||
| Byte1 | -- | Byte3 | ||
| Out8 | LED9 | -- | Out8 | LED25 |
| Out9 | LED10 | -- | Out9 | N/A |
| Out10 | LED11 | -- | Out10 | N/A |
| Out11 | LED12 | -- | Out11 | N/A |
| Out12 | LED13 | -- | Out12 | N/A |
| Out13 | LED14 | -- | Out13 | N/A |
| Out14 | LED15 | -- | Out14 | N/A |
| Out15 | LED16 | -- | Out15 | N/A |
Because the LED Drivers are daisy chained together, the data must be transmitted in the following order.
| Part Number | Quantity |
|---|---|
| ATmega32-16PU | x1 |
| 10 pin Header connector | x1 |
| 32 pin header connector | x1 |
| Header Pins | x5 |
| (Cat4016 discontinued) STP16CPC05MTR LED Driver | x2 |
| 10mm Blue Led | x125 |
| 16Mhz Crystal | x1 |
| 22pF Capacitor 0603 (1608 Metric) | x2 |
| 100pF Capacitor 0603 (1608 Metric) | x3 |
| 10K Resistor 0603 (1608 Metric) | x1 |
| 2.2K Resistor 0603 (1608 Metric) | x2 |
| 1K Resistor 0603 (1608 Metric) | x5 |
| 1n4148 Diode | x1 |
| BC635 Transistor | x5 |
| Test Condition | Power Consumption |
|---|---|
| Cube circuit with all LEDs powered on. LEDs are supplied with 27mA each. | 700mA |
Since each layer of the cube is multiplexed, only 25 LEDs will be illuminated at any given time. As a result, the maximum power consumption for the LEDs is calculated as 27mA multiplied by 25, totaling 681mA. Additionally, the microcontroller itself consumes approximately 20mA. Therefore, the power supply must be capable of providing at least 700mA to ensure stable operation of all components. To allow for adequate headroom, a 1000mA (1A) power supply is recommended.
[blocked]
| Qty | Value | Footprint | References |
|---|---|---|---|
| 26 | , , , , , , , , , , , , , , , +10 | ||
| 7 | Res1 | Miscellaneous Devices.IntLib:AXIAL-0.3 | R1, R2, R3, R4, R5, R6, R8 |
| 5 | BC635 | Cylinder with Flat Index.PcbLib:BCY-W3 | NPN1, NPN2, NPN3, NPN4, NPN5 |
| 3 | Cap | Miscellaneous Devices.IntLib:RAD-0.3 | C3, C4, C5 |
| 2 | CAT4016 | CAT4016D_Lib.PcbLib:Cat4016 | CAT4016 IC1, CAT4016 IC2 |
| 2 | Cap2 | Miscellaneous Devices.IntLib:CAPR5-4X5 | C1, C2 |
| 1 | 2.2K | Miscellaneous Devices.IntLib:AXIAL-0.3 | R9 |
| 1 | Component_1 | Atmega32_Lib.PcbLib:Atmega32DIP | IC |
| 1 | Component_1 | Shrouder_Header_13Pin.PcbLib:Shrouder Header 13 | JTAG |
| 1 | Crystal | Crystal_Osc.PcbLib:Crystal | Crystal |
| 1 | Diode 1N914 | Miscellaneous Devices.IntLib:DO-35 | D1 |
| 1 | Header Component | Layers_Header.PcbLib:Layer_Headers | Header |
| 1 | ISP | Shrouder_Header_10Pin.PcbLib:Shrouder Header | ISP Headers |
| 1 | Power_component | Power_Jack.PcbLib:Barrel Jack | Power |
It measures 117 × 94.6 mm and has 2 copper layers, 1.6 mm thick.
53 parts, built around the CAT4016Y-T2. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the qb-creates/LedCube repository on GitHub, at the commit this page was made from: the board is eda/5x5x5_Led_Cube/5x5x5_Led_Cube.kicad_pcb and its schematic eda/5x5x5_Led_Cube/5x5x5_Led_Cube.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask qb-creates before reusing the design.

davidphilipbarr/Sweep
Sweep - a small promicro based keyboard inspired by the Ferris.

hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI


polpo/picogus
Emulation of ISA sound cards and CD-ROM on Raspberry Pi Pico (GUS, SB/Adlib, MPU-401, Tandy, CMS, Panasonic CD-ROM) with USB mouse/joystick support

strangeparts/niubi-headphones
Flexible circuit board design for adding a headphone jack to an iPhone 7


Teslafly/Dead-OpenBMS-dead
A scalable, open source battery management system

nodestark/mdb-esp32-cashless
ESP32-based MDB cashless device for vending machines, supporting EVA DTS DEX/DDCMP telemetry and payments over the MDB protocol via Bluetooth and MQTT