810nm 10Hz LED Pulsing Flashlight


Introduction: 810nm 10Hz LED Pulsing Flashlight

This flashlight was made for educational purposes in order to find out if it is possible to replicate consumer electronic devices for a fraction of the cost they are sold for. The flashlight is made to match the same specifications as the Vielight 810 Infrared therapy device. The real Vielight is a non laser intranasal light therapy device used to stimulate your brain. The flashlight I made is in no way supposed to be used as a medical device, it is only a proof of concept device used to show that electronic devices can be made for less than they are sold. If you decide to replicate my design, it should not be used for any type of therapy. Do not insert the 810nm flashlight into your nose or any other part of your body as it has the potential to cause harm. I am in no way responsible for any harm caused by the use of this device. THIS IS NOT A MEDICAL DEVICE AND SHOULD NOT BE USED AS A REPLACEMENT FOR THE VIELIGHT.

Step 1: Determine Specifications

In order to replicate the Vielight we must determine the specifications of the device. According to the website (http://vielight.com/product/vielight-810/) our device must meet the following requirements:

  1. The LED must have an 810nm infrared wavelength
  2. The LED must pulse at a frequency of 10hz with a 50% duty cycle
  3. The device must output a power of 13mW/cm^2

Step 2: Materials

These are the items needed to make the flashlight:

  • LED: Digikey 810nm LED
  • Arduino Nano: Nano
  • Old USB cable to salvage wires from
  • USB Micro B cable to power the Arduino
  • Electrical Tape

The case can be made with many things. I chose to use an old mint tin as I had one on hand. However, the final product could be made to look more professional if heat shrink tubing (Shrink tubing) were used to cover the Arduino instead.

Some of these materials can be found for lower costs than the links provided. The links just provide a reference to the materials I used in the device. The total cost of materials for the flashlight is around 20 dollars.

Step 3: Program the Arduino

    !!Update!! It was brought to my attention that the code previously uploaded flashes at 5 Hz the new code now flashes at the required 10 Hz

    • In order to make the LED flash at 10Hz, a simple code must be uploaded to the Arduino. In order to upload the code you must download and install the Arduino program from https://www.arduino.cc/en/Main/Software.
    • Then open the program on your computer and plug in the Arduino Nano using the Micro USB cable. This will allow the drivers to install.
    • Make sure that your device is set to Arduino Nano and the correct COM port is selected under the tools tab on your computer.
    • Copy the following code into the editor and upload it to your Arduino Nano.
    <p>const int ledPin =  13;      </p><p>int ledState = LOW;            </p><p>unsigned long previousMillis = 0;        </p><p>const long interval = 50;           </p><p>void setup() {
      pinMode(ledPin, OUTPUT);
    }</p><p>void loop() {
      unsigned long currentMillis = millis();</p><p>  if (currentMillis - previousMillis >= interval) {
        previousMillis = currentMillis;</p><p>    if (ledState == LOW) {
          ledState = HIGH;
        } else {
          ledState = LOW;
        }</p><p>    digitalWrite(ledPin, ledState);
    • If the code uploads successfully your Nano is ready for the next step.

    Step 4: LED Part 1

    • To connect the LED to the Arduino Nano we are going to use an old USB Cable.
    • To prepare the cable for soldering the connectors must be cut off from both ends.
    • Since we only need two wires for this project, the green and white wires can be removed from the inside of the cable.
    • Now remove one inch of the outer housing from each side of the cable.
    • Strip a quarter inch of coating off of each end of the red and black wires to expose the bare copper.
    • Use a soldering iron to tin each of these wires.
    • The black wire can now be soldered to the cathode(-) of the LED and the red wire to the anode(+).
    • Use electrical tape to insulate these joints so they don't short out.

    Step 5: Attaching LED to Arduino

    • The other end of the cable can now be attached to the Arduino Nano.
    • It is important that the red and black wires are soldered to the correct pins on the Arduino or the device will not work.
    • Solder the red wire to Digital Pin 13.
    • Solder the black wire to a Ground Pin.
    • If attached correctly, the LED should blink a soft red when the Arduino Nano is plugged using the USB cable.
      • The led appears red because most of the light that it emits is on the infrared spectrum which is invisible to the human eye.

    Step 6: Case/Housing

    As stated before, there are many ways that the case can be made. Here are two options:

    1. Mint Tin Case
      • Cover the Arduino Nano with electrical tape to insulate the connections.
      • Line up the USB end of the Arduino with one side of the mint tin and mark where it meets.
      • Use a drill or a punch to create an opening for the USB connector.
      • Drill a hole on the opposite side of the mint tin to allow the led to pass through.
      • Use hot glue to attach the Arduino into the mint tin.
    2. Heat shrink tubing
      • Cut a portion of heat shrink tubing to the same length as the Arduino Nano.
      • Slip the heat shrink tubing over the Arduino Nano.
      • Use a lighter or heat gun to carefully shrink the tubing.
      • Use hot glue to fill in the open ends.

    Step 7: Warning

    1. This is NOT a medical device.
    2. This flashlight should NOT be used as a medical device.
    3. This flashlight should NOT be inserted into your nose or any other part of your body.
    4. I make NO claims that this has any effect on your body nor benefits you in any way, it is simply a flashlight.
    5. I am NOT responsible for any harm caused by this flashlight, should you choose to make it.



      • Clocks Contest

        Clocks Contest
      • Water Contest

        Water Contest
      • Oil Contest

        Oil Contest

      10 Discussions

      My NANO keeps getting an error message when I try to download the program.

      "expected unqualified-id before '<' token" And it highlights this part of the code-

      }</p><p>void loop() {

      as being somehow wrong.

      Any ideas of what Im doing wrong?

      My NANO keeps getting an error message when I try to download the program.
      "expected unqualified-id before '<' token"
      Any ideas of what Im doing wrong?

      The Digi-Key description of the IR LED is > Infrared (IR) Emitter 810nm 1.55V 100mA 14° Radial. The Arduino Nano is only capable of putting out 40mA. Is this a mistake? Or can an Arduino Nano still power a 100mA LED with 40mA circuit?

      I'm not sure if this is and oversight or if it has to do with the 50% duty cycle or the code that is uploaded to the Arduino Nano. Please help anyone. Thanks

      l try to make more led blinking on the same time,normal LED are working,but when l change LED to Digikey LED,only pin13 working,could you tell where are wrong

      How did you determine the flash rate. I assume "interval" is your timing variable. If you wanted a 40 hz rate, how would you do this.

      1 reply

      change the intervals to 12 or 13


      9 months ago

      This does not work for me as I can not see any light at all with a phone camera. Infrared should be visible with the camera. I do not see anything with naked eye either. I built this with parts from the links provided and I can measure 2.3 volts coming off of pins 13 and ground if I slow down the flashing by changing the "interval 50" to a lower value but no light. I actually ordered 4 of the leds and none of them work so either something is wrong with the design or I got 4 bad leds from digikey.

      1 reply

      yep...it was bad led.


      1 year ago

      Thanks for the instructions, shall try to make it in the next weeks, would be nice if I can succeed, never worked with arduino before! picor

      thank you! great project, will be making it soon!