Skip to content

Electronics ‐ Boards, Arduino, and Connectors

Trent Shumay edited this page Aug 27, 2023 · 11 revisions

DexHand Electronics Build

This page describes the process for hand-building a servo control board based on the Arduino Nano RP2040 Connect Board. When completed, the board nicely fits inside the forearm of the DexHand and has enough plugs and PWM channels for all 18 servos in the DexHand.

The Assembled Board in Position

Bill of Materials (BOM)

IMG_6736

Here are the components used in assembling the board and where you can obtain them:

Component Name Source
Arduino Nano RP2040 Connect Available from Arduino.cc
6cm x 4cm Universal Protoboard Available from Adafruit
Female 0.1in Pitch Headers Available from Adafruit
Male 0.1in Pitch Headers Available from Adafruit
Connector Wiring Any small wire should do the trick
Consider a slightly heavier gauge
for the power wires (20 gauge as a ballpark)

Build Overview

IMG_6803

The basic gist of what we're trying to do is pretty straight forward. Each servo has 3 pins - +5v, GND, and Signal (PWM control to set the angle). We use our protoboard to create a 5V rail and a GND rail, and then link each of the GPIO pins from the micro to the Signal Wire of the servo.

The protoboard we selected is just large enough to fit all of this with the Arduino Nano RP2040 Connect board in one tight package. Once mounted inside the arm, you can plug your servo leads in and have everything connected in a tidy way.

The image above shows what the board looks like when it's finished, and shows how the servo plugs in to the board. It's pretty straight forward and easy to build. Full details follow below.

Build Steps

Install Female Headers

Take the male headers provided with the Arduino Nano and use them as a template to cut matching female headers.

Fit everything together temporarily and align to the breadboard. You'll end up with 3 vertical holes on one side, and 4 on the other if you use the specified breadboard. This is ok - just how it works out.

Then flip the board over and solder the pins down on the bottom of the breadboard

This is the finished step.

Install Male Headers for Servo Connection

The goal of this step is to solder on rows of male headers for our servos to plug onto as pictured below. The servo wiring is YELLOW = PWM Signal, RED = +5V, BLACK = Ground.

Start by cutting 6 rows of male headers to length to match the pins of the Arduino Nano. You may find it helpful to hold them in place using some spare female header strips to keep things lined up, and to hold them in place when you flip the board over to solder.

Solder the headers into place, bridging the top pin of each header to the corresponding pin on the female headers from the previous step. This bridges the pins from the Arduino with the top row of header pins. These pins will be used to control the servos with PWM.

Create +5V and GND Rails

This is optional, but we chose to pull out the pins from the GND and VIN pins on the Arduino from the points where it might be easy to accidentally short out the board when plugging and unplugging things.

To do this, pull the +5V pins (middle row) from the headers with GND pins on the Arduino, and pull the GND pin (bottom row) from the VIN pin row.

Following that, solder all of the remaining individual pins down, and then use solder to bridge the rows to form the rails.

Connect GND Pins

The Arduino Nano has GND pins on either side of the board, so we connect those to our rails to create our GND. These pins can be identified by the white block silkscreen on the top of the Arduino board. Solder jumper wires between the corresponding pins and the GND rail (lower rail) on each side of the board.

External Power and GND Connections

To keep things simple, we run a +5V power wire (using white and red in this photo) to each of the +5V rails on the board (middle row of pins). GND can be connected to either rail as they are bridged via the Arduino board pins.

Verification - Tone it Out

Using the continuity tone function on your Digital Multimeter, check connection between all the Arduino Pins and the top row of servo pins, the +5V rail, and the GND rail. Also check for any shorts.

All Done

If you're using the IOT Design Shop modified forearm STL file, there will be a set of integrated standoffs for mounting the board in your DexHand.