Current Features:
- Adjustable knob sensitivity
- LED level indication
Future Features:
- WIFI Connectivity
- JSON parsing/formatting interface
- Battery Operated
- Inductive Charging
- Motor for preset positions. Completely pointless because quad encoder. More for theatrical effects.
- Fingerprint Security Maybe Possibly? I don't know I have a free fingerprint reader.
Hardware:
- Microcontroller: The uC I chose is the Teensy 3.1 (MK20 Freescale).
- WIFI: ESP8266 from seeed studio. Simple choice because of price.
- Quadrature Encoder: The quad encoders being used are illuminated RGB quad encoders from sparkfun. They also double as a push button. I used a quad encoder so I could handle sensitivity in software and it's more fun to be able to spin a knob infinitely.
- Level Shifting: A bi-directional level shifter is used for the Adafruit NeoPixel ring's data signal. This signal is a 5V logic signal.
- Indicators: For level indication a Adafruit NeoPixel ring is used.
Embedded Software:
- This project will severely limit the use of Arduino functions in the near future.I want to be as generic as possible with my code. I want to be able to port this project to another microprocessor for the final version.
- When I think of Arduino functions I see it as a level of abstraction above a HAL(hardware abstraction layer). Currently I am using the higher level functions to get my system up and running (digitalRead/write etc...). I would like to remove those high level functions and only use a provided HAL which will give me a much larger range and control of the hardware in my system. Doing this in conjunction with hardware interfaces into my higher level code will give me a level of abstraction and portability I am looking for.
More details later...