Skip to content

Latest commit

ย 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 

Repository files navigation

Analog LED Controller (Arduino + MCP3008)

An interactive LED instrument controlled by analog inputs.

This project uses an MCP3008 ADC and Arduino to read 4 potentiometers and transform them into expressive LED animations on an 8x8 matrix.

Instead of simple brightness control, each knob changes a behavioral parameter of the visual system โ€” making this feel more like a playable device than a basic electronics demo.


โœจ Features

  • 4 Analog Controls via MCP3008
  • Smooth parameter-based LED animations
  • Multiple visual engines
  • Designed for future custom PCB
  • Expandable architecture

๐ŸŽ›๏ธ Controls

Potentiometer Function
P1 Pattern Type
P2 Speed
P3 Density
P4 Chaos / Randomness

These parameters dynamically shape the animation instead of switching static modes.


๐Ÿ’ก Visual Engines

The system blends between multiple animation styles:

  • Flow Field (liquid motion)
  • Cellular Automata
  • Pulse / Breathing Patterns
  • Spark / Firefly Movement

๐Ÿง  System Architecture

Inputs

4x Potentiometers โ†’ MCP3008 โ†’ Arduino via SPI

Outputs

8x8 LED Matrix driven by MAX7219


๐Ÿ”Œ Wiring

MCP3008 โ†’ Arduino

MCP3008 Arduino
VDD 5V
VREF 5V
AGND GND
DGND GND
CLK D13
DOUT D12
DIN D11
CS D10

Potentiometers connect to:

  • CH0
  • CH1
  • CH2
  • CH3

MAX7219 โ†’ Arduino

MAX7219 Arduino
DIN D11
CLK D13
CS D9

SPI lines are shared with MCP3008.


๐Ÿงฎ Parameter Mapping

Each potentiometer is normalized:

float speed   = pot1 / 1023.0;
float density = pot2 / 1023.0;
float chaos   = pot3 / 1023.0;
float mode    = pot4 / 1023.0;

These values drive animation engines rather than acting as direct outputs.


๐Ÿ› ๏ธ Hardware Requirements

  • Arduino Nano / Uno
  • MCP3008 ADC
  • 4x 10k Potentiometers
  • MAX7219 8x8 LED Matrix
  • Breadboard + jumpers

๐Ÿš€ Future Plans

  • Custom standalone PCB
  • ATmega328P onboard
  • USB-C power input
  • Optional preset button
  • EEPROM preset saving
  • NeoPixel version

๐Ÿงฉ PCB Vision

Planned layout:

[ POT ][ POT ]
[ POT ][ POT ]

[ 8x8 LED ]

Compact, synth-style interactive device.


๐Ÿ“ฆ Project Status

Prototype phase โ€” breadboard implementation.

Next step: schematic โ†’ PCB design.


๐Ÿงช Goals

  • Learn SPI ADC integration
  • Build parameter-driven UI
  • Prepare for custom hardware manufacturing

๐Ÿ“œ License

MIT

About

TBD

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors