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





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

About: 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's Electrnics that make life easier


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

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

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

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!



  • Make it Move Contest

    Make it Move Contest
  • Clocks Contest

    Clocks Contest
  • Woodworking Contest

    Woodworking Contest

We have a be nice policy.
Please be positive and constructive.




Error: The developer certificate "C:\Users\fakhruddin\Desktop\CortanaRoom-master\compiled\CortanaRoom original Arduino\CortanaRoom_1.0.5.0_x86_x64_arm.cer" has expired. One possible cause is the system clock isn't set to the correct date and time. If the system settings are correct, contact the app owner to re-create a package or bundle with a valid certificate.

hi great work, but how do i solve this problem? hope you can reply as soon as possible. thank you.

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

1 reply

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.

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...

Cool !

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

1 reply

Hey Rafununu

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

Greetings Sieuwe