Introduction: Use Cortana and a Arduino to Control RGB Leds or Ledstrips With Your Voice!

Picture of Use Cortana and a Arduino to Control RGB Leds or Ledstrips With Your Voice!


CortanaRGB will now be unavailable on Github! This is becuase CortanaRGB will launch on Kickstarter soon!

Please check out the kickstarter at

If the link does not work it means the kickstarter is not launched yet.

CortanaRGB will be soon the most affordable Cortana Compatible ledstrip controller.


In this instructable i will show you how you can control your RGB led or led strip with your voice. This is done by a simple C# application called CortanaRoom. This app is part of my CortanaRoom project. When you are done with this project you can walk into your room and just ask Cortana to turn on the led strip in for example blue and Cortana will turn it on for you. For this tutorial you do not need much.

1x windows 10 pc

3x N channel mosfet (can be done without but you can than only hook up 1 RGB led)

1x arduino with usb port

1x RGB led or RGB ledstrip with a common +

Here is a list of the functions of cortanaRGB and also check out the video!

-Turn on or off your led strip in multiple colors by voice

Colors supported are









-Activate the fade effect by voice

-set custom fade speed

-Activate the flashing effect by voice

-set a custom flashing color and flashing speed

-Activate the single color fade effect by voice

-set custom single color fade speed and color

-CortanaRGB remembers your settings even if you close the application

-A complete help list is build in -Create your own custom RGB color with sliders

-Smart layout design

-CortanaRGB can be activated from the background just by voice.

-Multiple voice command possibilities for one function. For example "Please turn led red" will work but "please turn my led on in color red" will also work

-support for multiple serial converter chips

So lets get started!

Step 1: Lets Build the Hardware

Picture of Lets Build the Hardware

First we have to build the hardware. Do this by following the schematic. Use the complicated one if you use a RGB led strip or a array of RGB led's. If you only use one or two led's you can use the less complicated one. This is because the Arduino cant handle the high current.

A short explanation of the complicated one.

In the schematic you can see 3 N-channel mosfets. I use the IRF44N. Make sure your mosfets are high current. Hook up the mosfets as followed:

Gate: Connect this pin with the DigitalPin on the Arduino. Remember to use the correct digital pin by the correct color. Otherwise the colors wont be correct.

Drain: Connect this directly to the RGB led strip or Led array.

Source: Connect this pin to GND.

The 12V/5V wires on the left of the schematic should be connected to your power supply. I used a 12V led-strip so is used a 12V 3A power brick i had laying around. Make sure your brick has enough current for your ledstrip.

Make sure that your ledstrip OR RGB led is common Anode!. Otherwise onthing will work.

Step 2: Setup the Arduino

Picture of Setup the Arduino

Now we have to upload some code to the Arduino. Do this by first connection the Arduino to the PC.


1. open the arduino ide
2. go to file

3. go to examples

4. go to Firmata

5. select StandardFirmata

6. Click the upload button and you are done.

Step 3: Setup CortanaRGB

Now we have to download and install CortanaRGB. First download CortanaRGB from my github:

After you have downloaded CortanaRGB we first have to put your PC into developer mode. This is so that you can run the app without the stupid windows store certificate. Do this by:

1 Going to the settings

2 go to security & updates

3 go to for developers

4 Click the option that says Developer mode

After that go to the folder that you have downloaded. There you can see a folder called Compiled. Open that folder and you can then see a file called Add-AppDevPackage. Right click this file and click run with power shell. After that follow the onscreen instructions and you are done.

Now we only have to make contact between CortanaRGB and your arduino. For this we first need your arduino's PID and VID.

You can get these by:

1. windows key + x and select device manager
2.go to ports

3.right click your device and select properties

4. go to the details tab

5. in the property selection area click hardware lds

6. now you will see your VID and PID

Now that you have these open the CortanaRGB app. You can find it when you type in cortanaRGB into the start menu. Then scroll down to the button that says help. Click on that button and than scroll down until you see two text boxes. Type in the VID text box your VID and in the PID text box the PID. For me the PID and VID was: "VID_2341" and "PID_0043".

Step 4: Enjoy

Picture of Enjoy

Now you are done with setting everything up. If you have done everything correct you can now ask Cortana to turn your led strip on. If something does not work feel free to ask me any questions. I hope that this instructable has helped you and enjoy your new smart room.

Please also check out my other instructable called CortanaRoom. This is an application that also controls an RGB led strip but also controls your lights.

Also please help me win one of the contests i have entered. You can do this by voting on this project! Really appreciate it!


KarloHorcicka made it! (author)2017-05-22

I'm having problem installing addAppDevPackage. it's saying something about .net core runtime version 1.0 not being installed

SieuweE (author)KarloHorcicka2017-05-22

Hey KarlHorcicka

I have did not get this error on any of my devices where i have tested it on so very strange this. I think that it is because you do not have the core sdk installed on your pc. Try to download and install it with the link below. If it does not work tell me and i will try to find something else for you.

NorberM (author)SieuweE2017-06-02

Hi, I have the same error in 2 different computers. Core 1.0.5 installed, systems rebooted but still say that don't have the Core Runtime.

If need more info just tell me.


SieuweE (author)NorberM2017-06-03


I am not sure why you are getting this error. I will try to investigate it. In the mean time you could try installing visual studio and see if it works then because all devices i tested it on had visial studio 2015 installed. I think this may work because the package you have downloaded is actually a package that is just meant for testing.

Greetings Sieuwe

EliE15 (author)SieuweE2017-06-03

I installed Visual Studio 2015 for community and it did not work. I was able to install CortanaRoom with no problem. How do you edit the arduino PID and VID in CortanaRoom.

SieuweE (author)EliE152017-06-05

Hi for CortanaRoom you must edit the PID and VID in the code. It is explained in the instructable of cortanaRoom. I will today repackage cortanaRGB and maybe it will install than. But because you have visual studio installed you can also compile and package it youreself.

EliE15 (author)2017-05-22

Does connecting the rgb strip and other parts together require soldering?

SieuweE (author)EliE152017-05-23

You could use a breadboard instead. Or you can just twist wires together but i do not reccomend it. It is best that you solder the wires or use a breadboard.

Craftboy805 (author)2017-05-22

This is actually just what I wanted for my room! I think I should wait to make this until I get a desktop pc first though...

rafununu (author)2017-05-22

Cool !

Add resistors in the gates to limit current output, it's safer and cheap.

SieuweE (author)rafununu2017-05-22

Hey Rafununu

Thanks for the feedback did indeed forgot those. Will add them soon!

Greetings Sieuwe

About This Instructable




Bio: I am a 16 year old student who likes electrnics and programming Skills languages c# java css and html Intrests home automation 3d printing arduino ... More »
More by SieuweE:Use Cortana and a Arduino to Control RGB Leds or Ledstrips With Your Voice!Use Cortana and a Arduino for Home Automation to Control Your Lights, RGB Ledstrips, Electric Devices and More With Your Voice!
Add instructable to: