Welcome to the DuinoBots Build Guide!

All the information you need to construct your DuinoBot can be found here. The Parts List and Assembly Guides on this page are for the current build version. Once official revisions have been made, information on legacy build versions will be made available.

The  build guide is meant to be completed in sequential order. Before you begin your build, it’s recommended you check out the parts list to ensure you have all the necessary components and printed parts.

Refer to the Circuit Diagram as a reference when soldering together the proto board.

Hardware and Components

This is the list of fasteners and external components

ComponentCategorySymbolQuantityTODO: Link
M4x10mm Socket Head Cap ScrewFastenersCS411
M4 Hex NutFastenersH44
M3x10mm Socket Head Cap ScrewFastenersCS31
M3x4mm Grub ScrewFastenersGS32
M2x5mm Pan Head ScrewFastenersPH24
Neodymium magnets 1Case HardwareNM110
3/8” Ball caster kitCase HardwareBC1
6mm x 6mm x 5mm Tactile SwitchElectrical ComponentsTS3
1100mAh LiPo BatteryElectrical ComponentsLPB1
Micro Metal Gearmotor 30:1Electrical ComponentsGM2
Motor Connector WiresCables/WiringMCW2
Servo MotorElectrical ComponentsSM1
Male/Female Test LeadsCables/WiringMTL3
RGB LEDElectrical ComponentsLED1
330 ResistorElectrical ComponentsR3303
10k ResistorElectrical ComponentsR10K2
Wheel TreadsMisc.WT2

Printed Parts

This is the list of 3D-printed parts required to assemble the base. This list does not include any of the armor kits. Those files can be found at TODO

PartCategorySymbolQuantityLink TODO: thingiverse link
FramePrinted PartsFR1
Frame TopPrinted PartsFT1
Motor MountPrinted PartsMM2
Servo BracketPrinted PartsSB1
Rocker ArmPrinted PartsRA1
Caster RaiserPrinted PartsCR1
Hammer ArmPrinted PartsHA1
WheelPrinted PartsWH2
Stack MountPrinted PartsSM1

Board Stack

TinyZero Processor BoardTCP1Link
Dual Motor TinyShieldTCM1Link
Bluetooth Low Energy Tinyshield (ST)TCB1Link
Proto Board TinyShieldTCX1Link

1. LED Assembly

Required Components:

  • RGB LED (LED) – (x1)
  • 330Ω Resistor (R330) – (x3)
  • Proto Board (TCX) – (x1)
  1. Trim the R, G, and B leads of the RGB LED, and one end of each of the resistors
  2. Solder the trimmed ends of the RGB leads to the trimmed leads of the resistors as shown in the second picture.
  3. After soldering is complete, trim the other sides of the resistors so that the total length of the RGB leads plus resistors are approximately the same length as the GND lead.
  4. Solder the four LED pins to the proto board as shown.

2. Hit Sensor Resistors

Required Components:

  • 10k Resistor (R10K) – (x2)
  • Proto Board Assembly
  1. Position the two resistors into the proto board as shown. One end of each resistor should connect to the GND pin of the RGB LED.
  2. Solder all four connection points and trim excess resistor leads.

3. Servo Connector Stack Assembly

Required Components:

  • Servo
  • Proto Board Assembly
  1. Cut the lead of the servo so that the connector and attached leads are ~100mm in length. Strip the ends of the servo lead as shown in the first photo.
  2. Solder the servo lead to the proto board as shown in the second photo. The control pin of the connector connects to Pin 5, GND to either of the GND pins, and the servo power to 5V (incorrect in picture TODO: fix).

4. Servo Male Connector Assembly

Required Components:

  • Servo
  • Male Headers 3×1 – (x1)
  • Heat Shrink – (x1)
  1. Cut the remaining servo lead to ~75mm and strip the ends of each wire. Cut the shrink wrap into thirds.
  2. Prep the connections by tinning the ends of each wire and the short end of each pin on the header.
  3. Beginning with the middle pin, place the shrink wrap around the wire and solder the header to the tinned end of the wire. Slide the heat shrink to the base of the header.
  4. Repeat this process for both outside pins and use a lighter, small heat gun, or tip of your soldering (make sure to put your soldering iron on a low temperature settting).
  5. (Optional Step) – To strengthen the connection, place a larger diameter piece of heat shrink so that it is flush with the base of the header and apply heat to secure the connector.

5. Reset Switch

Required Components:

  • 6mm x 6mm x 5mm Tactile Switch (TS) – (x1)
  • Wire
  • Proto Board Assembly
  1. Clip the ends off of one side of the tactile switch and position it on the proto board. One pin of the switch should tie into the RST pin on the board as shown in the second photo. NOTE!! Be sure that the orientation of the switch is correct before while performing this step! When looking at the switch where the pins are sticking out on the left and right, the top two pins and bottom two pins are common on the switch.
  2. Solder one pin of the switch to the RST pin as shown.
  3. Take a small length of wire (~30-40mm), strip both ends, and solder one end to GND and the other to the free pin on the tactile switch as shown in the third photo.

6. Hit Sensor Cables

Required Components:

  • Male/Female Header Test Leads (FTL) – (x3)
  • Proto Board Assembly
  1. Prepare the test leads by cutting them in half and stripping the ends.
  2. Solder the two hit sensor leads onto pin 6 (second photo) and pin 8 (third photo).
  3. Solder the last lead onto VCC (incorrect in third picture TODO: fix).

7. Completed Assembly

You have a completed stack! Hooray!


Make sure all connections on the board look solid and no bridges exist. You’re now ready to start building your DuinoBot base!

1. Motor Assembly

Required Components:

  • Micro Metal Gear Motor (GM) – (x2)
  • Motor Connector Wires (MCW) – (x2)
  1. Twist the connector wires lightly.
  2. Solder onto the back solder tabs of the motors. Note the imprinted (+) on the back of the motor, solder the red wire to this tab.

2. Motor Frame Assembly

Required Components:

  • Frame (FR) – (x1)
  • Motor Mount – (x2)
  • M4x10mm Socket Head Cap Screw (CS4) – (x4)
  • M4 Hex Nut (H4) – (x4)
  • Assembled Motors
  1. Slide each motor into the frame as shown.
  2. Insert the hex nuts into the cutouts on the inside walls of the base.
  3. Screw each motor frame in using two M4 screws as shown. The rectangular tab on each of the frames should be on the underside of the base (see the last picture).

3. Caster Assembly

Required Components:

  • 3/8” Ball caster kit (BC) – (x1)
  • CasterRaiser (CR) – (x1)
  • M3x10mm Socket Head Cap Screw (CS3) – (x1)
  1. Assemble caster onto the printed caster spacer using the included hardware.
  2. Align the completed caster and spacer assembly underneath the front of the case and affix using the M3 screw.

4. Battery and Board Installation

Required Components:

  • Stack Mount (SM) – (x1)
  • M2x5mm Pan Head Screw (PH2) – (x4)
  • 1100mAh LiPo Battery (LPB) – (x1)
  • Stack Assembly
  1. Insert the battery into the recess of the case so that it is sitting in the bottom of the Frame as shown.
  2. Secure the battery by placing the Stack Mount on top. Fasten the Stack Mount in place using the four pan head screws. There will be a slight gap between the Stack Mount and the holes in the Frame.
  3. Place the stack into the Stack Mount as shown. The stack should sit securely within the guides without requiring additional fasteners.

5. Wheel Assembly

Required Components:

  • Wheel (WH)- (x2)
  • Wheel Treads (WT) – (x2)
  • M3x4mm Grub Screw (GS3) – (x2)
  • Frame Assembly
  1. Secure the wheel to the motor shaft using the grub screw and a 1.5mm allen key (just about any 3mm bolt will do if you don’t have a grub screw).
  2. Ensure there is a small gap between the wheel and the frame to prevent any interference.
  3. Stop and admire. We’ve got ourselves something that looks like a robot now!

6. Hit Sensor Assembly

Required Components:

  • Servo Bracket (SB) – (x1)
  • Rocker Arm (RA) – (x1)
  • Test Leads (MTL) – (x3)
  • 6mm x 6mm x 5mm Tactile Switch (TS) – (x2)
  • Neodymium Magnets (NM) – (x2)

Note: Some find it easier to solder the leads without putting the switches onto the bracket first.

  1. Fit the tactile switches into the recesses of the bracket.
  2. Take the remaining halves of the three test leads and strip the ends. On one of the three leads, strip 8-9mm of sheathing off. This will be the power lead. Solder the power lead to the middle-most switch pins as shown, using the excess stripped wire as a bridge. Solder the remaining two leads to the outside pins.
  3. Slide the Rocker Arm into the bracket and test the fit. The arm should depress the switch and release easily on each side. If one switch or the other is permanently depressed, first ensure that the bottom of each switch is sitting flush against the bracket. If this doesn’t  solve the issue, lightly sand the recesses in the Rocker Arm until the arm moves freely.
  4. Glue the magnets into the recesses in the top of the Rocker Arm as shown.

7. Servo Bracket Assembly

Required Components:

  • Servo Motor (SM) – (x1)
  • M4x10mm Socket Head Cap Screw (CS4) – (x4)
  • Servo Bracket Assembly
  1. Secure the servo to the bracket using the screws. The shaft of the servo should closest to the straight leg of the bracket.
  2. Make sure that the leads for the switches are tucked into the holder as shown. This prevents the wires from interfering with the movement of the head of the armor kit.

8. Frame Top Assembly

Required Components:

  • Neodymium magnets (NM) – (x8)
  • Frame Top (FT) – (x1)
  • M4x10mm Socket Head Cap Screw – (x2)
  • Frame Assembly
  • Servo and Bracket Assembly
  • Super Glue
  1. Super glue the eight magnets into the recesses of the base and top. Make sure that the orientation of all the magnets is correct!
  2. Secure the servo and bracket assembly to the frame top using the two M4 screws. The servo wire should point toward the front of the frame and be tucked behind the wall of the bracket.

9. Servo Arm Assembly

Required Components:

  • Hammer Arm (HA) – (x1)
  • Servo Horn and Screws (actual servo not needed)
  1. Place the servo horn on top of the arm and use two servo screws to fasten the two together.
  2. Clip the excess length of the screw from the back of the arm.
  3. Place the arm onto the servo shaft as shown. In the picture, the servo is rotated all the way counter-clockwise. Positioning is important! The swinging action of the hammer is in the clockwise direction.

10. Completed Base

  1. Connect the servo, hit switch power, and hit switch signal cables. Tuck the servo connector in front of the board and the hit sensor leads into the side.
  2. Your base is complete! The last step is to add armor! The weapon of each kit is secured to the hammer arm via an M4 screw.
  3. Give yourself a high five! You’ve got yourself a DuinoBot! From here, it’s on to uploading code to your bot.

1. Arduino IDE Setup

  1. First, ensure that you have the Arduino IDE properly set up and are able to upload code to your board. Instructions on installing the Arduino IDE and the proper board drivers can be found on the Tiny Circuits website here:

Use these guides to make sure you can upload at least the ‘Blink’ sketch to your board to debug any issues with uploading to it.

2. Install Libraries

  1. The DuinoBots sketch requires two additional libraries to run:
  2. To install the libraries, go to each link and click the green ‘Clone or download’ button and download the zip archive.
  3. In the Arduino IDE, navigate to Sketch > Include Library > Add .ZIP Library. Navigate to the folder where you saved the above two files and select them to add them as libraries. More information on installing .ZIP libraries can be found on Arduino’s website here.

3. Download DuinoBots Code

  1. Go to www.todo.github.com and download the zipped version of the DuinoBots Arduino Code.
  2. Save the zipped folder under Computer > Documents > Arduino.
  3. Right click on the zipped folder, click ‘Extract Here’ from the menu, and rename the new ‘BattleBot-Arduino-Master’ folder to ‘battleBot’. The name of the folder and the .ino file inside must match exactly, including casing.

TODO: Change github picture and link

4. Upload Code

  1. Plug your DuinoBot into your computer via the Micro-USB port in the back. Double tap the reset switch to put the board in bootloader mode.
  2. In the Arduino IDE, open battleBot.ino and upload the sketch to your bot. If the upload was successful, the LED should start blinking blue.
  3. Congrats! You’re bot is just an armor set away from being ready for battle! The next step from here is to pair your DuinBot to your phone.

1. Download the App

  1. todo

2. Run Setup Wizard

Before you try to pair your device via the wizard, hit the reset and wait 30 seconds. You should only have to run this procedure once until you want to connect to a different device.

  1. Go to the BLE Setup Wizard Page and hit the ‘Start Wizard’ button
  2. Select your device from the list. The device name is ‘Adafruit Bluefruit LE’ by default
  3. The wizard will send a test message and you should see the LED on the back of your bot flash white temporarily, followed by a success popup on the phone. If the wizard fails, you can try manually entering the device settings in the Settings page of the app.

Select ‘Yes’ from the success modal to save the UUID of your bots BLE module. After saving the settings, the app will automatically try to connect to the saved device when starting a new battle. You can rerun the wizard at any time to connect to a different device and save those settings as the default.