# Windows Tools for the Electrical Engineer

## Overview

You're an electrical engineer. And you have to run Windows - because a vast number of utilities and eval tools are Windows only! Or perhaps you're running windows out of choice. No biggie, either way you can make your environment pretty flexible with some tools.

This tutorial, not-ironically, does not cover EDA tools themselves. That's because chances are you have little choice as to what chipset or layout or modelling software you are using and also because those are much more specific than the general purpose tools covered here

![](https://cdn-learn.adafruit.com/assets/assets/000/032/227/medium800/manufacturing_win.gif?1462496122)

Is this The Official Definitive List Of Windows Tools for EEs?

No!

It's just what I use.

So chillax and if you have something you like more, use that instead!

# Windows Tools for the Electrical Engineer

## Git + MinGW Command Line

![](https://cdn-learn.adafruit.com/assets/assets/000/032/194/medium800/manufacturing_logo_2x.png?1462489497)

You'll end up using the command line a bunch for stuff, mostly because theres a lot of tools that are Mac/Linux ports.

You can launch the basic **cmd** command prompt from windows either by selecting the **Command Prompt** program

![](https://cdn-learn.adafruit.com/assets/assets/000/032/208/medium800/manufacturing_cmd.png?1462490927)

or just typing in **cmd** into the Start Box

![](https://cdn-learn.adafruit.com/assets/assets/000/032/209/medium800/manufacturing_startcmd.png?1462490945)

The problem is that the default **cmd** utility totally sucks and is not linux/BSD compliant.

For example, you can't even use **ls**

![](https://cdn-learn.adafruit.com/assets/assets/000/032/193/medium800/manufacturing_cmdlsfail.png?1462489353)

We can fix that a few ways, such as installing MinGW or MSYS manually - but the fastest and easiest is to install **Git** (which is really handy in and of itself) and also the MinGW32 command line tools that come with it. That will give you some basics!

Visit [https://git-scm.com/download/win](https://git-scm.com/download/win) to download the latest. It's all open source, yay. In the off chance that the site is not up, here's a link to the 64 bit Windows version. **You should not download this unless the git website is down!**

[Git-2.8.2-64-bit.exe](https://cdn-learn.adafruit.com/assets/assets/000/032/196/original/Git-2.8.2-64-bit.exe?1462489609)
![](https://cdn-learn.adafruit.com/assets/assets/000/032/195/medium800/manufacturing_gittools.png?1462489557)

And run the installer to install.

The default install directory is good to keep the same

![](https://cdn-learn.adafruit.com/assets/assets/000/032/199/medium800/manufacturing_gitinstall.png?1462490401)

I like using a **TrueType Font in all console windows** so i check it (normally it is not)

![](https://cdn-learn.adafruit.com/assets/assets/000/032/200/medium800/manufacturing_gitsetup.png?1462490438)

I want to **use the unix tools from the command prompt** , that's pretty much the point of this tutorial, so be sure to check that box!

![](https://cdn-learn.adafruit.com/assets/assets/000/032/201/medium800/manufacturing_gitpath.png?1462490466)

The default CRLF handling is OK, this sometimes will bite you but just be aware of it!

![](https://cdn-learn.adafruit.com/assets/assets/000/032/202/medium800/manufacturing_gitcrlf.png?1462490503)

 **MinTTY** is more powerful than the command prompt and while you can always use **cmd** its nice to have an option (we'll see that later) so select **Use MinTTY**

![](https://cdn-learn.adafruit.com/assets/assets/000/032/203/medium800/manufacturing_mintty.png?1462490539)

Finish the installation. Then close any open command line windows and re-run **cmd**

You now have proper **cd** and **ls**!

![](https://cdn-learn.adafruit.com/assets/assets/000/032/204/medium800/manufacturing_cdls.png?1462490581)

You can run the fancy **MinTTY** when you want from the **Git** installed tools folder:

![](https://cdn-learn.adafruit.com/assets/assets/000/032/206/medium800/manufacturing_gitcmd.png?1462490712)

![](https://cdn-learn.adafruit.com/assets/assets/000/032/207/medium800/manufacturing_gitbash.png?1462490773)

Note that this does not give you build tools like **make**!

![](https://cdn-learn.adafruit.com/assets/assets/000/032/235/medium800/manufacturing_nomake.png?1462496774)

For that, and a compiler, you'll need to install either cygwin (comes with everything) or the [AVR toolchain (has just basic utils)](../../../../windows-tools/avr-toolchain)

# Windows Tools for the Electrical Engineer

## Cygwin

Git + MinGW will get you some basic command line tools but they're just the most basic tools. If you want to do some serious command line compiling and hacking, **cygwin** will give you as-close-as-possible-to-Unix like command capabilites

If you need things like **yacc** , **gperf** , **curses** and who knows what else - cygwin is for you!

_A kind reader wrote in and suggested [https://babun.github.io/](https://babun.github.io/) but I haven't had a chance to check it out!_

![](https://cdn-learn.adafruit.com/assets/assets/000/032/238/medium800/manufacturing_logo.png?1462497018)

Visit [https://cygwin.com/install.html](https://cygwin.com/install.html)to download the installer, which is also the package manager

![](https://cdn-learn.adafruit.com/assets/assets/000/032/239/medium800/manufacturing_logo.png?1462497082)

![](https://cdn-learn.adafruit.com/assets/assets/000/032/236/medium800/manufacturing_hacks_1cygwin.png?1462496892)

Unlike the other software, cygwin is basically installed from online package sources that constantly update

![](https://cdn-learn.adafruit.com/assets/assets/000/032/263/medium800/manufacturing_installint.png?1462501397)

The default install into **C:\cygwin** is suggested

![](https://cdn-learn.adafruit.com/assets/assets/000/032/237/medium800/manufacturing_hacks_3cyg.png?1462496911)

Select whichever mirror you want, some might not be up but one will work!

![](https://cdn-learn.adafruit.com/assets/assets/000/032/264/medium800/manufacturing_mirrorselect.png?1462501543)

There's hundreds of packages you can install into cygwin, chances are you need the basic defaults and maybe a few special ones.

![](https://cdn-learn.adafruit.com/assets/assets/000/032/265/medium800/manufacturing_defpkg.png?1462501657)

Say you need the compiler tool **bison** - type bison into the search box and you'll get two possible 'categories' - **debug** and **devel**

![](https://cdn-learn.adafruit.com/assets/assets/000/032/266/medium800/manufacturing_bison.png?1462501707)

I just need the developer tool, not the debug info (since im not debugging bison itself) So where it says **skip** - click that to install it. I rarely need the source code ( **src** ) so i just install the binaries ( **bin** )

![](https://cdn-learn.adafruit.com/assets/assets/000/032/267/medium800/manufacturing_bisonclick.png?1462503060)

Cygwin will try to install as many sub-dependencies you need as possible

![](https://cdn-learn.adafruit.com/assets/assets/000/032/268/medium800/manufacturing_hacks_4cyg.png?1462503100)

It will then install all the packages you selected.

![](https://cdn-learn.adafruit.com/assets/assets/000/032/269/medium800/manufacturing_installing.png?1462503331)

And run the **Cygwin Terminal** to use cygwin's tools. Note you cannot use the plain **cmd** shell to run cygwin programs

![](https://cdn-learn.adafruit.com/assets/assets/000/032/272/medium800/manufacturing_hacks_5cygterm.png?1462503414)

If you need to find your files or go to the Desktop, you can go to your 'windows home directory' with **/cygdrive/c/Users/_username_**

![](https://cdn-learn.adafruit.com/assets/assets/000/032/273/medium800/manufacturing_cygdrive.png?1462503528)

If you ever need another package, just re-run the installer. For example, halfway thru this build I realized that **gperf** was required

![](https://cdn-learn.adafruit.com/assets/assets/000/032/271/medium800/manufacturing_hacks_10missing.png?1462503364)

![](https://cdn-learn.adafruit.com/assets/assets/000/032/270/medium800/manufacturing_hacks_11gperfinstall.png?1462503357)

Just relaunch the cygwin terminal when done updating

# Windows Tools for the Electrical Engineer

## ARM Toolchain

If you want to develop for ARM chipsets, first step is to install the ARM compiler into a set location. This toolchain is used by dozens of different chip companies so its always handy to have

Go to [https://launchpad.net/gcc-arm-embedded/](https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q1-update) to download the toolchain for your operating system

You may need a particular version, for example [https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q1-update](https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q1-update) for what you're doing, check your chipset or Makefiles for any hints

![](https://cdn-learn.adafruit.com/assets/assets/000/032/233/medium800/manufacturing_download.png?1462496649)

Download & run the installer

![](https://cdn-learn.adafruit.com/assets/assets/000/032/230/medium800/manufacturing_feather_intallgnu.png?1462496453)

 **However, when it comes time to install into a folder...**

![](https://cdn-learn.adafruit.com/assets/assets/000/032/229/medium800/manufacturing_feather_installdir.png?1462496447)

I like to install into **C:\ARM\4.8\_2014q1** (or whatever the version you're using is) which doesn't have odd characters or spaces - sometimes makefiles choke on spaces or the (x86) in the default path.

![](https://cdn-learn.adafruit.com/assets/assets/000/032/231/medium800/manufacturing_feather_newdir.png?1462496491)

And **add the path to the environment variable**

![](https://cdn-learn.adafruit.com/assets/assets/000/032/240/medium800/manufacturing_armpath.png?1462497225)

Once installed, make sure you've got the files installed in the right place

![](https://cdn-learn.adafruit.com/assets/assets/000/032/232/medium800/manufacturing_feather_armfolder.png?1462496499)

From the command line you will now have the **arm-none-eabi** tools available.

![](https://cdn-learn.adafruit.com/assets/assets/000/032/241/medium800/manufacturing_testpath.png?1462497354)

Note that you do not get other tools like **make**! [You can get those by installing the AVR toolchain, though](../../../../windows-tools/avr-toolchain)

# Windows Tools for the Electrical Engineer

## AVR Toolchain

Even if you aren't using AVR processors, the MHV AVR toolchain comes with a bunch of command line tools that are handy (like, say, **make** )

We pretty much just use this toolchain rather than any other at this point

[You can download it from https://infernoembedded.com/products/avr-tools/release](https://infernoembedded.com/products/avr-tools/release)

![](https://cdn-learn.adafruit.com/assets/assets/000/032/242/medium800/manufacturing_down.png?1462497704)

On the off chance the site is down, here is a mirror ( **Don't use this download unless the main site is down since there may be a newer version!** )

[MHV_AVR_Tools_20131101.zip](https://cdn-learn.adafruit.com/assets/assets/000/032/243/original/MHV_AVR_Tools_20131101.zip?1462497772)
Download, unzip and run the installer

![](https://cdn-learn.adafruit.com/assets/assets/000/032/244/medium800/manufacturing_installdir.png?1462497865)

The default settings are best, including the already-clicked **Add MHV Tools to Path**

![](https://cdn-learn.adafruit.com/assets/assets/000/032/245/medium800/manufacturing_addpath.png?1462497908)

You can see during installation that you get a mess load of command line tools installed for you. They aren't the latest versions but they work pretty well!

![](https://cdn-learn.adafruit.com/assets/assets/000/032/246/medium800/manufacturing_extract.png?1462497964)

For example, you now have **make** (finally!)

![](https://cdn-learn.adafruit.com/assets/assets/000/032/247/medium800/manufacturing_make.png?1462498002)

and, of course, **avr-gcc**

![](https://cdn-learn.adafruit.com/assets/assets/000/032/248/medium800/manufacturing_avrgcc.png?1462498025)

# Windows Tools for the Electrical Engineer

## Python

![](https://cdn-learn.adafruit.com/assets/assets/000/032/175/medium800/manufacturing_python-logo.png?1462482187)

Info: This page was written long ago and will be revised. Use the latest version of Python 3.

Python is the most popular scripting language being used at the time of this writing, having surpassed **perl** and being more cross-platform-friendly than **bash** and other shell scripting languages.

Python is similar to C and perl languages and isn't too hard to pick up of you are familiar with programming. It's also often used for teaching programming. Really, its worth getting familiar with.

I strongly recommend installing python _after_ the Git+MinGW tutorial

### Python 2 or 3?

Haha, welcome to the biggest debate in the Universe. My suggestion is, you should stick with Python 2.7 - that's what everything is compatible with. Many programs/scripts and libraries are not Py3 compatible and the changes, while often back-compatible, just aren't ported to older things

So, if you write new code, its a good idea to make em work with Python 3 but I still use Py 2.7

# Install Python

Visit [https://www.python.org/downloads/](https://www.python.org/downloads/) to download the latest version. As of this writing its 2.7.11

![](https://cdn-learn.adafruit.com/assets/assets/000/032/210/medium800/manufacturing_downloadwin.png?1462491113)

## Download and run the Installer

The default location **C:\Python27\** is a fine place

![](https://cdn-learn.adafruit.com/assets/assets/000/032/211/medium800/manufacturing_installdir.png?1462491358)

I do suggest **Add python.exe to Path** so you can just run it from the command line

![](https://cdn-learn.adafruit.com/assets/assets/000/032/212/medium800/manufacturing_addtopath.png?1462491443)

![](https://cdn-learn.adafruit.com/assets/assets/000/032/213/medium800/manufacturing_installing.png?1462494224)

Once done, you can start up a new command line and run **python**

![](https://cdn-learn.adafruit.com/assets/assets/000/032/214/medium800/manufacturing_pythontest.png?1462494241)

# Python Package Management

You will almost certainly want to install a python package manager

### 

Welcome to the second-biggest debate in the Universe! My suggestion is you stick to **pip** as it seems to be the most commonly used

Lucky for you, it comes with the Python 2.7 installer above. You can run **pip** from the command line to check

![](https://cdn-learn.adafruit.com/assets/assets/000/032/215/medium800/manufacturing_pip.png?1462494284)

So say you want to install the python packages **click** and **gitpython** - just run **pip install click gitpython**

![](https://cdn-learn.adafruit.com/assets/assets/000/032/216/medium800/manufacturing_pipinstall.png?1462494330)

and it'll be done for you!

# Windows Tools for the Electrical Engineer

## Serial Terminal

You'll probably need to connect to a serial port now and then. I have two programs I use for connecting to Serial devices, **putty** and **X-CTU**

# Putty

While not the most _powerful_ serial port software, **putty** does a good job. It also does telnet and ssh so that's handy as well

![](https://cdn-learn.adafruit.com/assets/assets/000/032/250/medium800/manufacturing_putty.png?1462500078)

You can download putty from [http://www.putty.org/](http://www.putty.org/) or http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

On the off chance the site is down, here is a mirror

[putty-0.67-installer.msi](https://cdn-learn.adafruit.com/assets/assets/000/032/251/original/putty-0.67-installer.msi?1462500223)
![](https://cdn-learn.adafruit.com/assets/assets/000/032/252/medium800/manufacturing_insta.png?1462500239)

The installation defaults are pretty good

![](https://cdn-learn.adafruit.com/assets/assets/000/032/253/medium800/manufacturing_def.png?1462500273)

Putty is pretty simple to run, just run the **Putty** tool

For serial ports first click **Serial** in the radio buttons. _Then_ type in the Serial name in **Serial line** (e.g. COM5) and finally, set the **Speed** to be whatever speed you like

![](https://cdn-learn.adafruit.com/assets/assets/000/032/254/medium800/manufacturing_openport.png?1462500386)

Then click **Open** to open the port

# X-CTU

I also sort of like **X-CTU** which has more low-level tools like the ability to toggle and monitor the flow control lines, view hex codes, see both incoming and outgoing bytes, generate and send packets, etc.

[X-CTU is available from Digi here](http://www.digi.com/products/xbee-rf-solutions/xctu-software/xctu)

Once installed, you can run just the **Serial Console** from the Tools menu

![](https://cdn-learn.adafruit.com/assets/assets/000/032/262/medium800/manufacturing_serial.png?1462501206)

Start off by **Configuring**  **the serial connection**

![](https://cdn-learn.adafruit.com/assets/assets/000/032/255/medium800/manufacturing_configport.png?1462500665)

Unlike Putty, you'll get a GUI interface to select the serial port, byte encoding, baud rate, and whether you want flow control

![](https://cdn-learn.adafruit.com/assets/assets/000/032/256/medium800/manufacturing_xctucom.png?1462500678)

Once configured click the **Open Port** button

![](https://cdn-learn.adafruit.com/assets/assets/000/032/257/medium800/manufacturing_xctuopen.png?1462500713)

If you type into the console the _sent_ data is shown in blue. Incoming data is shown in red.

On the left you see the ASCII values, on the right, HEX bytes. In this case I sent the text **abcde** to a USB serial cable with nothing connected to the end. I then connect RX and TX pins together so that sent data would come back as received data and typed in **ECHO**

![](https://cdn-learn.adafruit.com/assets/assets/000/032/260/medium800/manufacturing_echo.png?1462501045)

What is really easy is setting and unsetting the flow control lines, handy if you, for example, want to test that DTR is resetting an Arduino compatible chip, or that the CTS line goes high/low based on the pin settings of a breakout board

![](https://cdn-learn.adafruit.com/assets/assets/000/032/261/medium800/manufacturing_flow.png?1462501103)

# Windows Tools for the Electrical Engineer

## Gerber Viewers

You're making hardware! You want to send out for PCBs, but you also want to make sure the files are right before sending - thus you need a Gerber Viewer. I use two viewers for my Gerber'in.

# gerbv

Part of the geda project, it's both free and open-source!

[http://gerbv.geda-project.org/](http://gerbv.geda-project.org/)

# Zofz 3D Gerber Viewer

This tool is not as _precise_ for viewing Gerbers, but it is great for proofing your PCB look, especially silkscreen, mask, and coloring. You can see the PCB in 3D which is handy for visualizing the design.

It's available from [https://www.zofzpcb.com/](https://www.zofzpcb.com/)

Once you've downloaded and installed it, you can run the **Auto Import** tool

![](https://cdn-learn.adafruit.com/assets/assets/000/032/284/medium800/manufacturing_importauto.png?1462504640)

And navigate to a folder with gerber files in it. If you use the default exporter, then Zofz will do its best to match the file types (last three letters) to determine what layer it is

![](https://cdn-learn.adafruit.com/assets/assets/000/032/285/medium800/manufacturing_automatch.png?1462504715)

And sort them into the proper layers and 'types'

![](https://cdn-learn.adafruit.com/assets/assets/000/032/286/medium800/manufacturing_layers.png?1462504750)

it will then render it. You an click and drag to rotate the board around

![](https://cdn-learn.adafruit.com/assets/assets/000/032/287/medium800/manufacturing_3drender.png?1462504829)

There are various color-styles that are pre-progammed in, so you know what mask and silk will look like. or you can make your own (like my ' **adafruit blue with ENIG'** look above!)

![](https://cdn-learn.adafruit.com/assets/assets/000/032/288/medium800/manufacturing_osh.png?1462504894)

# Windows Tools for the Electrical Engineer

## MIDI

If you're developing anything with MIDI you may want to send/receive MIDI messages. While MIDI is technically a Serial protocol, often times you'll be working with a 'native MIDI HID USB' device, so it doesnt show up as a COM port

# Find your MIDI Device

Native MIDI USB is a class device, you do not need a driver, and it should appear under your Sound Controllers devices in the dev manager

![](https://cdn-learn.adafruit.com/assets/assets/000/032/177/medium800/manufacturing_mididevice.png?1462484449)

# Software Options

There's a few different ways to debug MIDI so I'll give you some options

- **MIDI-OX** - the most popular and full featured MIDI software, but is not open source
- **MIDI Tester -** not good for testing received messages, but good for sending data to a MIDI device. Open source.
- **Haskell-OX** - doesn't display messages but is very fast and easy to tie, say, incoming MIDI messages to another MIDI device or to the Windows Synth. Free.

# MIDI-OX

A handy, if slightly older, tool that I like is MIDI-OX. Note it isn't open source, and is not free for commercial use, but it does have a trial period and its pretty nice!

[Download it from http://www.midiox.com/](http://www.midiox.com/)

![](https://cdn-learn.adafruit.com/assets/assets/000/032/176/medium800/manufacturing_midiox.png?1462484140)

Install it as normal:

![](https://cdn-learn.adafruit.com/assets/assets/000/032/178/medium800/manufacturing_setup.png?1462484512)

![](https://cdn-learn.adafruit.com/assets/assets/000/032/179/medium800/manufacturing_midilice.png?1462484524)

![](https://cdn-learn.adafruit.com/assets/assets/000/032/180/medium800/manufacturing_installed.png?1462484532)

## Basic MIDI message send/receive

You'll need to tell MIDI OX which device to listen to for MIDI messages. Clickt he blue MIDI Icon in the menu bar or select the **Options-\>MIDI Devices...** menu

![](https://cdn-learn.adafruit.com/assets/assets/000/032/181/medium800/manufacturing_mididev.png?1462484838)

You'll get this window

![](https://cdn-learn.adafruit.com/assets/assets/000/032/182/medium800/manufacturing_mididev1.png?1462484852)

 **Deselect**"Automatically attach Inputs to Outputs during selection"

then **Click on** the MIDI Input ("Circuit Play MIDI") in the top left box, and it will automatically get added to the devices we listen to.

![](https://cdn-learn.adafruit.com/assets/assets/000/032/183/medium800/manufacturing_mididev2.png?1462484938)

Now in the main windows, it will start printing out incoming messages

![](https://cdn-learn.adafruit.com/assets/assets/000/032/184/medium800/manufacturing_midiinput.png?1462484972)

# MIDITester

Another option is the Japanase-written **MIDITester** which is available from http://openmidiproject.osdn.jp/MIDITester\_en.html

On the off chance that site is down, here's a mirror of version 4.1 **Don't download this unless the main site is down!**

[MIDITester4.1.zip](https://cdn-learn.adafruit.com/assets/assets/000/032/217/original/MIDITester4.1.zip?1462494472)
This program doesnt have an installer, just uncompress it to run

![](https://cdn-learn.adafruit.com/assets/assets/000/032/218/medium800/manufacturing_midiexe.png?1462494541)

You'll probably want to start by changing the language to English

![](https://cdn-learn.adafruit.com/assets/assets/000/032/219/medium800/manufacturing_language.png?1462495368)

![](https://cdn-learn.adafruit.com/assets/assets/000/032/220/medium800/manufacturing_langeng.png?1462495374)

![](https://cdn-learn.adafruit.com/assets/assets/000/032/221/medium800/manufacturing_langrest.png?1462495383)

After restarting, you can select the MIDI device you're testing, for my test I am not linking the input to output

![](https://cdn-learn.adafruit.com/assets/assets/000/032/222/medium800/manufacturing_mididevs.png?1462495418)

OK so its a little different than MIDI-OX, you can see at the very bottom incoming messages appear at the bottom status bar. You can send outgoing messages by clicking on the piano keys

![](https://cdn-learn.adafruit.com/assets/assets/000/032/223/medium800/manufacturing_keyboard_test.png?1462495434)

# Haskell OX

This is the simplest tool but it works fine for just connecting two MIDI devices together, or connecting MIDI In messages to the Windows built in MIDI Synth. It's written more as a demo of Haskell + MIDI and seems to be free (but not technically open source)

Available from [http://donyaquick.com/software/](http://donyaquick.com/software/) ([http://www.donyaquick.com/files/HaskellOx.exe](http://www.donyaquick.com/files/HaskellOx.exe))

On the off chance the site is down, here's a mirror (Don't use this link if the site is up!)

[HaskellOx.zip](https://cdn-learn.adafruit.com/assets/assets/000/032/225/original/HaskellOx.zip?1462495939)
I just tied the Circuit Playground to the wavetable synth so it would play notes on the computer when the MIDI notes were sent

![](https://cdn-learn.adafruit.com/assets/assets/000/032/224/medium800/manufacturing_haskelloxconfig.png?1462495829)

# Windows Tools for the Electrical Engineer

## VirtualBox

![](https://cdn-learn.adafruit.com/assets/assets/000/032/186/medium800/manufacturing_vbox.png?1462486134)

OK you love Windows but sometimes you really have to use Linux or some other version of Windows (like, I have one dev kit that _only_ works on windows XP!) That's where VirtualBox is really great

[You can download VirtualBox from https://www.virtualbox.org/wiki/Downloads](https://www.virtualbox.org/wiki/Downloads)

# Check for Updates

Always manually check for updates, make sure you're running the latest!

![](https://cdn-learn.adafruit.com/assets/assets/000/032/189/medium800/manufacturing_checkupdates.png?1462487378)

# Windows on Windows

You can grab an image of Windows 7 for testing - its designed for testing IE but really you can use it for anything. It's also great for testing installation procedures on clean OS's to make sure you didnt miss any dependencies

[Check out all the images from Microsoft here](https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/windows/)

It 'expires' after 90 days but for most people that's perfectly fine for testing!

![](https://cdn-learn.adafruit.com/assets/assets/000/032/185/medium800/manufacturing_win7img.png?1462486015)

In particular we used it to test some of the tool installs in this very tutorial! How meta...

Uncompress and double click the **IE11 - Win7.ova** file

![](https://cdn-learn.adafruit.com/assets/assets/000/032/190/medium800/manufacturing_Screenshot_1.png?1462487436)

After 5-10 minutes you'll have a new entry in VirtualBox

![](https://cdn-learn.adafruit.com/assets/assets/000/032/191/medium800/manufacturing_vboxen.png?1462488865)

Which you can then click to run!

![](https://cdn-learn.adafruit.com/assets/assets/000/032/192/medium800/manufacturing_winvirt.png?1462488959)

# Windows Tools for the Electrical Engineer

## Binary/HEX Editor

If you're editing files like, say EDID binaries, you may want a handy hex/binary editor that can handle very large files. I like HXD - its very fast and light, and doesn't have any issue editing big files or zipping around to different offsets. It's really a hacker dream!

[You can grab HXD from https://mh-nexus.de/en/hxd/](https://mh-nexus.de/en/hxd/)

![](https://cdn-learn.adafruit.com/assets/assets/000/032/289/medium800/manufacturing_hxd.png?1462505056)

Its pretty straight-forward, open a file and edit it. You can edit files that are open or will be opened which is great for live-hex-editing

![](https://cdn-learn.adafruit.com/assets/assets/000/032/290/medium800/manufacturing_hxdedit.png?1462505167)

# Windows Tools for the Electrical Engineer

## Other Tutorials & Tips

We also have some older tutorials you may find handy in the Adafruit Learning System

- [Removing old and unused COM ports](../../../../how-to-find-hidden-com-ports/)
- [Signing drivers, apps and creating installers](../../../../how-to-sign-windows-drivers-installer/)
- [Setting a caps-sensitive filesystem](../../../../compiling-a-cross-compiler-on-windows/overview#setting-up-case-sensitive-in-windows)


## Featured Products

### Python - Skill badge, iron-on patch

[Python - Skill badge, iron-on patch](https://www.adafruit.com/product/750)
You've learned the Python programming language! Python is an easy-to-learn and programming language that's popular for its powerful capabilities and human-readable code. The Python logo is used with permission from the [Python Foundation](http://www.python.org/psf/).<br...></br...>

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/750)
[Related Guides to the Product](https://learn.adafruit.com/products/750/guides)
### Python for Kids - A Playful Introduction to Programming

[Python for Kids - A Playful Introduction to Programming](https://www.adafruit.com/product/1161)
Python for Kids - _A Playful Introduction to Programming_. Python is a powerful, expressive programming language that’s easy to learn and fun to use! But books about learning to program in Python can be kind of dull, gray, and boring, and that’s no fun for anyone. Featuring...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/1161)
[Related Guides to the Product](https://learn.adafruit.com/products/1161/guides)

## Related Guides

- [Itertools for CircuitPython](https://learn.adafruit.com/itertools-and-functools-for-circuitpython.md)
- [Raspberry Pi Rotary Encoder Animated Gif Player](https://learn.adafruit.com/python-rotary-animated-gif-player-two-different-ways.md)
- [Alternative languages for programming the SAMD51 boards](https://learn.adafruit.com/alternative-languages-for-programming-samd-boards.md)
- [Adafruit 2.7" eInk Display Breakouts and Shields](https://learn.adafruit.com/adafruit-2-7-eink-display-breakouts-and-shields.md)
- [Build an ML Rock Paper Scissors Game with Lobe](https://learn.adafruit.com/lobe-rock-paper-scissors.md)
- [Using Board Package Tool to Update Adafruit Arduino Packages](https://learn.adafruit.com/using-board-package-tool-to-update-adafruit-arduino-packages.md)
- [How To Place an Essential, COVID-19 Related Order at Adafruit ](https://learn.adafruit.com/how-to-place-an-essential-covid-19-related-order-at-adafruit.md)
- [Adafruit SEN54 or SEN55 Adapter Breakout](https://learn.adafruit.com/adafruit-sen54-or-sen55-adapter-breakout.md)
- [Raspberry Pi Analog to Digital Converters](https://learn.adafruit.com/raspberry-pi-analog-to-digital-converters.md)
- [CircuitPython 101: Working with Lists, Iterators and Generators](https://learn.adafruit.com/circuitpython-101-list-and-things-iterators-generators.md)
- [Continuous Integration, Arduino, and You](https://learn.adafruit.com/continuous-integration-arduino-and-you.md)
- [Automatic Naughty Cat Detector using Lobe](https://learn.adafruit.com/naughty-cat-detector-using-microsoft-lobe.md)
- [Currying in CircuitPython](https://learn.adafruit.com/partials-in-circuitpython.md)
- [Circuit Playground Firmata](https://learn.adafruit.com/circuit-playground-firmata.md)
- [UTi165 Thermal Fever Scanner Camera](https://learn.adafruit.com/uti165-thermal-fever-scanner-camera.md)
