Coder Social home page Coder Social logo

esp-rgb-controller's Introduction

ESP-RGB-Controller

Tiny ESP8266-based RGB LED controller

Image of the board

Board Hardware

Located in the root directory

Included is the kicad project for the PCB. It's very simple and requires minimal parts. An included BOM.txt gives part numbers used for my assemblies. However, feel free to substitute parts as you see fit.

Board Firmware

Located in the SW-Arduino Directory

The MCU is an AtMega328P in 32-TQFP package. You will need an ISP tool to flash the firmware, such as a USBTinyISP or an Arduino flashed as an ISP.

The firmware was designed to run on the Minicore Arduino platform. You will need to add this to your boards manager and install it in your Arduino IDE. The following settings are used to compile and flash the firmware:

  • Board: AtMega328
  • Clock: Internal 8MHz
  • BOD: 2.7V
  • EEPROM: EEPROM retained
  • Compiler LTO: LTO Disabled
  • Variant: 328P/PA
  • Bootloader: No Bootloader

You will also need the WifiEspAt library for Arduino, and will need to edit the Wifi login credentials to match your wifi network. Otherwise, it should be plug and play with up-to-date ESP-01 modules.

Note: You will need to update your ESP-01 modules to AT version 2.1 or greater. See the following page on firmware versions from the WifiESPAt library

A minor overview of the features of this firmware:

  • Recalls last state on power-up, useful if power is interrupted
  • Reports the current setting in a small webpage when the GET request is recieved, useful for status checking

Control the lights!

GET Requests

The simplest method of control is through your browser, with a simple HTTP GET request like so:

http://<ip.address>?rgb=255,255,255

This will set all three color channels to full brightness.

Controller App

Locategd in SW-TrayTool

Image of controller app

You can build the C# Windows Forms app for a slightly more robust control system. The tool includes provisions for multiple controllers and presets, as well as a tray icon for controlling lights in a nice clean way.

Image of tray icon

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.