Fritz: Support Page (Assembly, Software Installation, etc)

There are two phases of setup for Fritz.  1) Mechanical Assembly and 2) Software Installation and Configuration.

Mechanical Assembly

You can click here to download written Assembly Instructions.  There is also a video available showing details of the assembly process on youtube.  Click below to view this.

Software Installation

Once you have assembled Fritz, follow the steps below to install software and get him moving.

1) Download Fritz software by clicking on this link.

 2) Unzip this to your computer. suggested location is 

     c:\Program Files\Fritz\

3) You will need the DotNet framework installed. If you don't have this, you can download from

4) Download Arduino Software and install to your computer. Suggested location is "C:\Program Files"

5) Download USB driver for the Arduino board from:

6) Power Fritz with battery pack or AC adapter (6V 3A).
USB power is NOT ENOUGH to power all of Fritz's motors.
USB power will power the Arduino board, but cannot supply
enough current to run the servo motors. If you try to run Fritz
with USB power only, he will appear to "twitch" as the motors power up, use up all the USB port current available and then the Arduino board will reset repeatedly.

7) Install USB drivers. You can now plug in Fritz's USB cable into
your computer. If you are running an OS later than Windows Vista it should automatically download all needed drivers. If it fails to download the appropriate drivers you will get a popup message that will ask for the location of the Arduino Drivers. Point this as the Drivers folder that you extracted as part of the Fritz software download. Normally this would be c:\Program Files\Fritz\Drivers\

8) Run the Arduino IDE by navigating to the directory where the
Arduino software is installed (c:\Program Files\) and run the
"arduino.exe" file.

9) When the Arduino software window opens, click on File/Open and
navigate to the c:\Program Files\Frtiz\Arduino\Fritz folder and
open the Fritz.ino file.

10) The firmware code will be loaded into a new Arduino window and
shown as below. Click on the Upload button (2nd from left, has the
right facing arrow). This will take a minute or so. When done you
should see the message at bottom of screen stating "Uploading "
and then the "Done uploading" message at bottom of screen. You
can then close both Arduino windows.

11) If the upload fails it is possible that you may have more than
one operational serial port. You can change the serial port using
the Tools->Serial Port->COMX menu to change to the next serial port.
Once complete repeat the Upload (Previous Step) until successful.

12) You can now run Fritz.exe located in c:\Program Files\Fritz\ If
all goes well the Red Disconnected bar should change to a Green

13) Before you can control/program Fritz you need to define the
minimum and maximum limits of each facial feature. This is required
since you have to prevent over extending the facial part otherwise
you may break Fritz. Select Options->Setup Motors to view that

a. Disable all face parts by unselecting all checkboxes.

b. Connect the Left Eyebrow servo motor to the Arduino shield (Left is YOUR left as you face Fritz). In screenshot above, the pin "12" is the Digital IO pin that you will connect the motor to.  The software has recommended pin connections for each motor pre-programmed, but you can also select a different pin to connect the servo to if desired but b. Motor wires plug into the servo shield board as shown (brown wire is ground). Note that you will only connect the left eyebrow motor for now. 

On shield board, you can see label "G V S".  This means ground, voltage, signal, so brown wire goes to G, yellow on S. See image below for example connections. Only connect one servo at a time to avoid confusion. You will repeat single connection and adjustment for each motor.

c. Enable the "Left Eyebrow" checkbox.  The motor may move when you do this.

d. Ensure that all the values for Center, Minimum and Maximum are set to zero.

e. By pressing the down button reduce the Minimum value below zero. The left eyebrow of Fritz should start moving slowly.  Keep adjusting the value until the eyebrow is at max rotation position for that direction.

f. Similarly, adjust max value until eyebrow is at max rotation position for that direction. 

g. To test the values in actual usage, click on the Test button next to that facial part. It will cause that part to cycle between maximum and minimum. Press the Test button again to stop this cycle.

h. Repeat steps b through g for each motor until you have all connected.  

  • Keep in mind that right is YOUR right and NOT Fritz's right side.
  • Eyebrows - The minimum will start to cross over the eyelid. If you go too far the eyebrow will cause stress on the eyelid. Be sure to stop the minimum value before it would touch the eyelid.
  • Eyelids - Adjust the minimum and maximum to just when the eyelid is closed and when it is fully open. If you go beyond these limits the servos will start buzzing to indicate that they are stressed beyond their limits.
  • Eyes - Adjust the values until you hear the servo start buzzing.
  • Jaw - Note the jaw can open very wide, ensure that the minimum value is not too open. Likewise, if the maximum value is too high the servo will start buzzing.

14) Keyboard control panel - You can now hold down the CTRL key and use the arrow keys to move Fritz's head left and right. Use CTRL-spacebar to lower the mouth. For additional keystrokes have a look at Options->Keyboard Configuration

15) If desired, you can control Fritz using a Joystick. In the program menu is an option for joystick setup.  Plug in a USB joystick. If you have all the needed drivers for the USB joystick, Fritz will respond to joystick movements. Start out slowly in order to ensure you don't overextend anything to get a feel for how Fritz moves under joystick control. He's quite responsive!

You can view a video that shows how to use the Fritz interface software here , including advanced features like programming a sequence of motion that can be played back.