Skip to content
This repository

Hacking Your Visualight 

jmsaavedra edited this page · 30 revisions

All Visualight models feature an ATMega32u4 microcontroller running the Leonardo (Caterina) bootloader. This means any Visualight can be programmed using the Arduino IDE, by selecting "Arduino Leonardo" under the "Boards" menu. In addition to all of the pinouts which are described by Visualight model below, all Visualights have the standard 6-pin ICSP headers, unpopulated.

All Visualight Hardware EagleCad (schematic + board) files can be found under the Hardware Releases of this repository.


Visualight Core Overview

visualight core annotated

  1. Visualight Arduino-compatible Controller Board (see below)
  2. Visualight LED Module
  3. Roving Networks RN-171 WiFly Module

Visualight Base Board Overview

base board annotated

  1. Male USB plug
  2. Power LED
  3. WiFi reset button
  4. Male LED connector
  5. Microcontroller breakout pins
  6. XBee footprint compatible headers

Controlling Visualight LEDs manually

You can treat your Visualight as an Arduino with LEDs on digital pins. Any code can easily be adapted to run on your Visualight, just make sure your pin assignments match. On all Visualight models (DIY, LED Strip, etc) The RGB LED pins are assigned as follows:

redLedPin = D9;

greenLedPin = D13;

blueLedPin = D10;

On "Production" Visualight bulbs (with Incredible Machines logo on the board), the white LED is also enabled:

whiteLedPin = D5;

Note: It is possible to enable this LED on DIY bulbs by soldering a single wire on your PCB. Instructions [here].

Code Examples

  • After you have installed the Visualight Arduino Library (instructions [here]), you can open Arduino and navigate to:

File > Examples > Visualight > visualight_LED

This example shows some quick and easy functions you can use to code Visualight LED behaviors directly from Arduino. Note: these do not use the library itself, and therefore do not contain any code to connect or be controlled by the Visualight.org server apps.


Using GPIO and ADC Pins

As every Visualight model is an ATmega32u4 running the Leonardo (Caterina) Bootloader, we've broken out other pins where possible for maximum hackability.

DIY (white) Visualight Bulb (No logo on back)

LED connector pins

  • GND
  • USB V+
  • D9, red LED (PWM)
  • D13, green LED (PWM)
  • D10, blue LED (PWM)

0.1" spaced breakout pins, ready for hacking addons, custom circuits

  • 5v
  • GND
  • D2 / SDA
  • D3 / SCL (PWM)
  • D6 / A7 (PWM) - recommended for white LED enable upgrade [link]

On Board Button

  • D7

Product (black) Visualight Bulb (Incredible Machines logo on back)

LED connector pins

  • GND
  • USB V+
  • D9, red LED (PWM)
  • D13, green LED (PWM)
  • D10, blue LED (PWM)
  • D5, white LED (PWM)

0.1" spaced breakout pins, ready for hacking addons, custom circuits

  • 5v
  • GND
  • D2 / SDA
  • D3 / SCL (PWM)
  • D6 / A7 (PWM)
  • A0
  • A1

On Board Button

  • D7

Visualight Strip

Push Terminal Strip Connector

  • D9, red LED (PWM)
  • D13, green LED (PWM)
  • D10, blue LED (PWM)
  • VIN (12V+)

No other breakout pins other than 6-pin ICSP header

  • 3.3v
  • 5v
  • D9 (SCK)
  • D15 (MISO)
  • D16 (MOSI)
  • RESET

On Board Button

  • D7

Disabling the WiFly status LEDs

See this section from the Troubleshooting page.

Something went wrong with that request. Please try again.