Assembling BEAPER Nano

Get ready to assemble your BEAPER Nano

Gather all of the required tools and equipment before starting assembly of your BEAPER Nano. We recommend:

  • a soldering iron with a fine tip for soldering all of the through-hole parts, as well as an ultra-fine conical tip for soldering the optional surface-mount QWIIC connector

  • electronic solder formulated with either no-clean flux, or water soluble flux

  • diagonal cutters or low-profile shear cutters to trim component leads after soldering

  • the BEAPER Nano schematic diagram for reference, as well as to help you decide on the components that need to be installed for your planned build configuration

View or download the BEAPER Nano schematic diagram (PDF).

Step 1 – Select your configuration

BEAPER Nano is designed in a way that allows you to choose its final build configuration. All configurations include a common set of components, and these components are shown without dashed outlines on the schematic. Adding one or more groups of optional components, shown inside dashed outlines on the schematic, enables users to customize BEAPER Nano for their application, of create custom build configurations.

These assembly instructions describe two common starter configurations: the Educational Starter configuration, containing just a few basic input and output devices so that learners can start programming quickly, and the Robot Starter configuration, which contains all of the components needed to build BEAPER Nano as a simple robot.

Optional sets of components can be added to either starter configuration at any time to enable additional features and capabilities, such as creating a build optimized for communicating primarily with I2C devices, or making a build that maximizes external analog inputs, for example.

While BEAPER Nano can be fully assembled with all of the optional components installed, it may be easier for most users to start with a more limited configuration and add additional optional components either as they are needed, or to fit specific needs. The descriptions, below, show options that work well with each configuration.

Educational Starter

Build the Educational Starter configuration to start learning programming using the five Introductory Learning Activities on this site.

Optional components designed to provide more versatile capabilities for the Educational Starter configuration include one or more of the following:

  • an ambient light sensor

  • an analog temperature sensor

  • one or two analog potentiometers

  • a 1.54”, 240x240 pixel graphical LCD display

  • four 3.3V analog input and digital I/O expansion header pins or a socket that are be shared by:

    • I2C devices and a QWIIC connector for convenient connections to external I2C circuit modules

    • a 3.3V ultrasonic SONAR distance sensor module

Robot Starter

The Robot Starter configuration includes all of the components needed to complete the Introductory Learning Activities as well as components that add a voltage regulator, 5V level shifter and motor driver circuits, and a header socket for a 3.3V ultrasonic SONAR distance sensing module.

Optional components that can provide additional capabilities for robots in this configuration include:

  • up to four 5V servo output headers

  • a resistor voltage divider circuit for battery voltage level sensing

  • parts for the both optical floor and line sensor modules containing IR floor illumination LEDs, IR phototransistors, and optional extension cables and connectors

  • a QWIIC connector for interfacing with external I2C devices

Optional/IoT/Full Build

Optional components can be added to any configuration to enable additional features and capabilities, including creating an IoT-focused Build, or a Full Build ideal for experimenting with all of BEAPER Nano’s external interfaces.

Note that not all of the features and capabilities of BEAPER Nano can be used at the same time since some microcontroller I/O pins are shared by multiple on-board components. See the BEAPER Nano schematic diagram for the complete circuit details, as well as to determine which combinations of components will work best for your application.

Optional components that can provide more diverse learning opportunities with BEAPER Nano include:

  • a QWIIC connector for connecting external I2C devices

  • a 1.54” 240x240pixel graphical LCD display

Step 2 - Check your components

Confirm that you have all of the required and optional components in your kit. The BEAPER Nano parts list itemizes the parts by build configuration.

If you purchased or fabricated a bare BEAPER Nano printed circuit board, this DigiKey BEAPER Nano parts list makes it easy to order the necessary parts required to complete your circuit.

Supplied BEAPER Nano kit components

The BEAPER Nano parts kit includes all of the components required to fully assemble the BEAPER Nano circuit board including the parts needed to fully populate both of the integrated optical robot floor/line sensor modules.

The basic BEAPER Nano parts kit does not include: an Arduino Nano ESP32 microcontroller, an LCD display, an ultrasonic SONAR distance sensing module, motors, wheels, and battery holder required to make a robot, or the wiring necessary to reconnect the optical floor/line sensor modules after detachment. Some of these components are available as add-on parts kits.

Required additional BEAPER Nano components

To program your BEAPER Nano after assembling it, you will need:

  • an Arduino® Nano ESP32 microcontroller with soldered header pins, and

  • a USB 2.0 Type-C cable (with the opposite Type-A or Type-C end to connect to your computer)

Optional BEAPER Nano add-ons

BEAPER Nano can be enhanced with a variety of functional parts, including:

  • a 3.3V HC-SR04P ultrasonic SONAR distance sensor module

  • a 1.54” 240x240 pixel SPI TFT LCD display

  • external I2C devices and Sparkfun QWIIC-compatible JST-SH extension cables to connect them

  • 5V hobby servos

  • NeoPixel RGB LED strips

  • robot parts, including low-current, 6-12V DC gear motors, battery holder, and extension cables (commonly referred to as Dupont connectors) to reconnect the optical sensor modules

Step 3 - Assemble your BEAPER Nano

Electronic components are often installed into circuit boards in order from the smallest to the tallest in physical size to make manual assembly of circuit boards easier. The assembly steps, below, mostly stick to this convention.

Optional components can be installed at any time, but assembling the components in the order of the assembly steps will make the installation of some components easier.

The assembly steps are colour-coded for the two most common configurations: green, for the educational starter configuration, red for the robot starter configuration, and blue for all optional groups of components. Follow the colour-coded steps to install the recommended parts for your chosen configuration.

Components listed in the green assembly steps are installed for all configurations.

The educational starter configuration can be completed using only the components in the green assembly steps.

The fully assembled educational starter configuration of BEAPER Nano uses a minimal number of parts and takes very little time to build.

Components listed in the red assembly steps build the robot starter configuration when added to the components in the green steps.

The full build configuration uses all of the components listed in both the green and red assembly steps.

The robot starter configuration of BEAPER Nano adds a voltage regulator circuit, level shifter and motor driver ICs, and a battery and motor screw terminal strip.

Components listed in the blue assembly steps are optional and can be installed at any time to add new features and capabilities to BEAPER Nano. Use the schematic diagram to determine which features should be installed for your build.

The full build configuration of the BEAPER Nano can include a variety of optional components.

User I/O device resistors

Resistor installation tip: pre-bend the resistor leads to make it easier to install the resistors in the PCB.

  1. Install 100 Ω resistor R1 for the RESET pushbutton circuit.

  2. Install 1.0 kΩ pushbutton series current-limiting resistors R3, R4, R5, and R6.

  3. Install 1.0 kΩ piezo load resistor R15.

  4. Install 270 Ω LED series current-limiting resistors R7, R8, R9, and R10.

A close-up of the BEAPER Nano PCB showing the installation of the user I/O resistors.

Battery voltage indicator LED resistor

  1. Install 1.0 kΩ LED series current-limiting resistor R2 for VDC (battery voltage) indicator LED D1.

Close-up of the BEAPER Nano PCB showing the installation of resistor R2.

3.3V analog input/digital I/O expansion header series resistors

  1. Install 100 Ω series resistors R11, R12, R13, and R14 to connect the Arduino Nano ESP32 to 3.3V expansion headers H1-H4.

    A header socket for a 3.3V ultrasonic SONAR distance sensing module will be added in a later step for the Robot Starter configuration. Alternatively, header pins can be added instead of the header socket to make it easier to connect external 3.3V I/O devices.

Close-up of the BEAPER Nano PCB showing 3.3V I/O header resistors R11-R14.

Optional I2C/QWIIC pull-up resistors

  1. Install 4.7 kΩ I2C bus pull-up resistors R16 and R17.

    I2C communication is possible using either header pins H1 and H4, or using JST-SH QWIIC connector J4, and 4.7k I2C pull-up resistors are usually required on both the SDA and SCL signal pins.

Close-up of the BEAPER Nano PCB showing I2C pull-up resistors R16 and R17.

Optional light sensor pull-up resistor

  1. Install 4.7 kΩ pull-up resistor R18 if the ambient light sensor, Q4, will be used.

    Q4 and jumper header JP1 will be installed in a later step.

Close-up of the BEAPER Nano PCB showing R18.

Motor driver pull-up resistor

  1. Install 10 kΩ pull-up resistor R19. This pull-up resistor enables the motor outputs on the motor driver IC.

Close-up of the BEAPER Nano PCB showing R19.

Optional optical floor sensor resistors

The BEAPER Nano PCB features integrated left (labelled L) and right (labelled R) optical sensor modules designed to make it easy to create robot floor or line sensors. These sensor modules can remain attached to the PCB to make floor sensors, or the modules can be detached from the main PCB to create robot line sensors or other types of optical sensors.

  1. Install 100 Ω LED series current limiting resistors R20 and R21 to enable the use of optical floor illumination LEDs D6 and D7, respectively.

  2. Install 4.7 kΩ phototransistor pull-up resistors R22, R23, and R24.

Close-up of the BEAPER Nano PCB showing the optical floor sensor resistors (top left, and top right).

Optional voltage divider resistors

These resistors form a voltage divider to reduce the battery potential to less than 3.3V allowing the Arduino Nano ESP32 to safely sense the battery potential.

  1. Install 5.1 kΩ 1% resistor R25.

  2. Install 976 Ω 1% resistor R26.

Close-up of the BEAPER Nano PCB showing the voltage divider resistors.

Optional 5V digital output resistors

  1. Install 100 Ω series resistors R27, R28, R29, and R30 to connect the Arduino Nano ESP32 to 5V digital output headers H5-H8.

    Header pins can be installed in H5-H8 to enable BEAPER Nano to control 5V hobby servos or other 5V digital devices, and these will be installed in a later step.

Close-up of the BEAPER Nano PCB showing the 5V output resistors.

Install the pushbuttons

  1. Install RESET pushbutton SW1, and user pushbuttons SW2, SW3, SW4, and SW5.

    Installation tip: many pushbuttons have short leads, but trimming them after soldering will make the PCB easier to handle.

A view of the BEAPER Nano Educational Starter configuration of the PCB showing the pushbuttons and resistors installed to this point.

Level shifter IC circuit components

  1. Install a 20-pin DIP IC socket for level shifter IC U2.

    Match the pin 1 identification notch molded into one end of the IC socket to the painted notch on the PCB silkscreen.

  2. Install 100 nF decoupling capacitor C6 beside the IC socket. The 100 nF capacitors are not polarized so its orientation does not matter.

Close-up of the BEAPER Nano PCB showing a 20-pin DIP IC socket and decoupling capacitor.

Motor driver IC circuit components

  1. A 16-pin DIP IC socket should be installed for motor driver IC U3 when BEAPER Nano is used in educational settings, or when the motor current can be kept low. Since the PCB ground plane acts as a heat sink, it is better to solder the motor driver IC directly into the PCB when using high current motors (although this makes replacement in the event of a motor driver IC failure much more difficult).

  2. Install 100 nF decoupling capacitor C4 beside the IC socket.

  3. Install 47 µF electrolytic filter capacitor C3 with its long lead into the square PCB pad. The location of the negative polarity stipe on the capacitor must match the filled silkscreen capacitor outline on the PCB.

Close-up of the BEAPER Nano PCB showing the motor driver IC socket and filter capacitors.

Voltage regulator circuit components

  1. Install the L4940V5 low-dropout regulator U1. Bend its leads to fit the PCB spacing and secure the regulator using a #4-40 or M3 bolt inserted from the back side of the PCB. Fasten a nut on the top side of the regulator’s tab to secure the regulator to the PCB. This arrangement works best to ensure that a longer mounting bolt won’t protrude from the bottom of the PCB where it might interfere with mounting the PCB to a robot chassis.

  2. Install 100 nF regulator input capacitor C1.

  3. Install 47 µF electrolytic output filter capacitor C2. The long lead of the capacitor gets inserted into the square pad on the PCB, and the negative polarity stripe on the capacitor must match the filled silkscreen outline on the PCB.

Close-up of the BEAPER Nano PCB showing the voltage regulator circuit components.

Install the piezo buzzer and user LEDs

  1. Install piezo buzzer LS1.

    Kits are normally supplied with a non-polarized buzzer so its orientation in the PCB does not matter. If a polarized buzzer is used instead, install the positive terminal into the marked pad closest to the silkscreen legend LS1.

  2. Install user LEDs D2, D3, D4, and D5. All LEDS must be installed with their long leads inserted into the square PCB pads (closest to their D# part legends), and their short leads inserted into the round PCB pads.

    This is opposite to common PCB practice but was done for simplicity and commonality with other components having different length leads (electrolytic capacitors, ambient light sensor, and phototransistor), which helps to reduce problems for new learners in a classroom setting. Small schematic silkscreen symbols beside the LEDs and phototransistors also show the proper polarity.

Close-up of the BEAPER Nano PCB showing the piezo buzzer and user LEDs.

Install the power switch and LED indicator

  1. Install power switch SW6.

    It connects the external battery attached to the CON1 screw terminal strip to the voltage regulator, 5V logic and motor driver circuits, and the microcontroller.

  2. Install power indicator LED D1 with its long lead in the square PCB pad closest to the D1 legend on the silkscreen.

Close-up of the BEAPER Nano PCB showing the power switch and LED.

Optional I2C QWIIC connector

Installing the QWIIC-style I2C connector at this time is recommended if you think it might be used at any future point. Installing it now makes it easier to access its solder terminals than after the installation of the Arduino Nano ESP32 header sockets.

  1. Use an ultra-fine point soldering iron to solder all four bus pins as well as the two mounting tabs of JST-SH connector J4, the Sparkfun QWIIC-compatible I2C connector.

    Alternatively, the connector can be soldered using solder paste and a hot air soldering system, or by using liquid solder flux and dragging the solder using a flat/blade soldering iron tip.

Close-up of the BEAPER Nano PCB showing the QWIIC connector.

Arduino Nano ESP32 header sockets

  1. Install the two 15-pin headers sockets, J1 and J2, used to mount the Arduino Nano ESP32.

    At this point, the Educational Starter configuration is complete! Inspect the soldering and fix any poor solder connections or short circuits. Clean the circuit board board with a flux remover recommended for the type of solder that was used during assembly, and allow the PCB to fully dry before inserting the Arduino Nano ESP32 into its socket as shown in the very last assembly step.

Close-up of the BEAPER Nano PCB showing the Arduino Nano ESP32 header sockets.

Optional LCD/SPI header socket

  1. Install 8-pin header socket J3 for the optional 1.54” TFT LCD display.

    Alternatively, header pins (not included in the kit) may be substituted for the socket if this is a more convenient way to break out the Arduino Nano ESP32 SPI bus pins.

Close-up of the BEAPER Nano PCB showing the LCD header socket.

Distance sensor module header socket

  1. Install a 4-pin header socket if the 3.3V ultrasonic SONAR distance sensor module will be mounted directly onto the BEAPER Nano PCB. The socket bridges across headers H1-H4, in the spot indicated by the slightly thicker rectangular outline on the PCB.

    Alternatively, header pins for each of the H1-H4 headers can be installed as shown in the next step.

Close-up of the BEAPER Nano PCB showing the header socket for a distance sensor module installed in the H1-H4 header connectors.

Optional 3.3V I/O header pins

  1. Install 3-pin analog/digital I/O headers into one or more of the H1-H4 headers if the ultrasonic SONAR distance sensor module will not mounted into the PCB.

    When the header socket for the distance sensor module is installed (as shown in the previous step), signal pins on headers H1 and H4 are still accessible and can be accessed by installing individual header pins, or pairs of header pins, in the spaces beside the header socket.

Close-up of the BEAPER Nano PCB showing header pins installed in H1-H4.

Optional ambient light sensor

  1. Install ambient light sensor Q4 with its long (emitter) lead in the square pad. If using a different type of light sensor, match its collector and emitter pins with the phototransistor image on the silkscreen.

    Jumper JP1 must be installed in a later step to allow the Arduino Nano ESP32 to connect to the ambient light sensor.

Optional temperature sensor

  1. Install temperature sensor U4, matching its orientation to the silkscreen image.

  2. Install 100 nF filter capacitor C5.

    Jumper JP2 must be installed in a later step to enable the Arduino Nano ESP32 to connect to the temperature sensor.

Close-up of the BEAPER Nano PCCB showing temperature sensor Q4 and its decoupling capacitor.

Install the analog sensor select headers

  1. Install 3-pin jumper headers JP1, JP2, JP3, and JP4. These jumpers are required to connect the robot phototransistors Q1, Q2, Q3, and the output of the battery voltage divider circuit to the analog inputs of the Arduino Nano ESP32 microcontroller module.

    Shorting jumpers connecting across two pins of each jumper header allow for the selection of either the robot-focused analog input devices, or the optional ambient light sensor, optional analog temperature sensor, and optional rotary potentiometers, collectively referred to and labeled as environment (Enviro.) sensors.

Close-up of the BEAPER Nano PCB showing jumper headers JP1-JP4.

Optional 5V digital output headers

  1. Install 3-pin digital output headers H5, H6, H7, and H8 to connect external digital devices.

  2. Install 47 µF capacitor C7 if the headers will be used with hobby servo motors to help filter their large motor currents.

Close-up of the BEAPER Nano PCB showing digital output headers H5-H8.

Optional optical floor sensor headers

The LEDs and phototransistors in the L (left) and R (right) optical sensor modules are electrically connected to the main BEAPER Nano board while the modules remain physically attached. If the sensor modules are snapped off, jumper wires between 3-pin headers H9 and H10, and 4-pin headers H11 and H12, can be used to electrically reconnect the sensor modules with the main BEAPER Nano PCB.

  1. Install 3-pin headers H9 and H10 to allow for re-connection of the L floor sensor module.

  2. Instal 4-pin headers H11 and H12 to allow for re-connection of the R line/floor sensor module.

A view of the 'front' of the BEAPER Nano PCB showing the installtion of headers for the detachable floor and line optical sensor modules.

Install the screw terminal strip

  1. Install screw terminal strip CON1, ensuring its wire entry openings face the outside edge of the PCB.

    At this point, the Robot Starter configuration main assembly is complete! Inspect your soldering and fix any poor solder connections or short circuits. Then, clean the circuit board with a flux remover recommended for the type of solder flux used. Allow the PCB to fully dry before installing the ICs, jumper shunts, and your Arduino Nano ESP32.

    If optical floor or line sensors will be used as part of your robot build, it is recommended they are installed only after the BEAPER Nano PCB, or its detached optical sensor modules, are mounted onto their robot chassis or sensor mounts. This is necessary to allow the floor sensor LEDs and phototransistors to be positioned at the proper height for maximum sensitivity.

Close-up of the BEAPER Nano PCB showing the screw terminal strip.

Optional analog potentiometers

  1. Install one or both 10 kΩ potentiometers into RV1 and RV2. Solder the signal pins as well as the retaining pins.

    At this point, the full build is complete! Inspect the soldering and fix any poor solder connections or short circuits. Then, clean the circuit board board with a flux remover recommended for the type of solder flux used, and allow the PCB to fully dry before installing the ICs, jumper shunts, and the Arduino Nano ESP32.

Close-up of the BEAPER Nano PCB showing the analog potentiometers.

Prepare the ICs for installation

  1. Prepare the octal buffer/level shifter and motor driver ICs for installation into their sockets (or just the buffer if you already soldered the motor driver IC into the circuit board in a previous step).

    Start by straightening the pins of each IC so that they face directly downwards, at an angle of 90° from the IC body. This can be accomplished by laying each row of IC pins flat against the work surface and applying downward pressure to the IC body while carefully rotating the IC to be perpendicular to the work surface.

An assembled BEAPER Nano PCB, its two ICs, four jumper shunts, and box containing an Arduino Nano ESP32 sitting on a soldering mat.

Install the ICs

  1. Match the notch, or the pin 1 identification dot of each IC (if present), with the notch molded into the IC socket.

  2. Insert each IC into its socket, carefully aligning its leads between the dual metal contact rows of each IC socket. When the IC is properly aligned and inserted into its socket, firmly press each IC into place.

Close-up of BEAPER Nano showing the ICs installed in their IC sockets.

Analog Sensor Select jumper shunts

  1. Some of BEAPER Nano’s analog inputs are shared by pairs of analog devices. Shorting jumper shunts are used to select which device of each pair is connected to each of the Arduino Nano ESP32’s first four analog input pins.

    Install a jumper shunt over each pair of pins corresponding to the devices that will be used by your programs. The example photo shows all on-board jumper shunts installed in the Enviro. positions of jumper headers JP1-JP4, connecting both environment sensors and the two potentiometers to the analog inputs of the Arduino Nano ESP32. Installing the jumper shunts in the Robot position instead connects the optical floor sensors and voltage divider to the Arduino.

Close-up of BEAPER Nano showing shoring jumper shunts installed in the Enviro. positions of jumper headers JP1-JP4.

Install your Arduino Nano ESP32

  1. Insert the header pins of your Arduino Nano ESP32 microcontroller module (not supplied with the kit) into header sockets J1 and J2 such that the Arduino Nano ESP32’s USB connector faces the right side of BEAPER Nano (towards piezo buzzer LS1).

Close-up of the BEAPER Nano PCB showing the Arduino Nano EP32 module (top) installed into its header sockets.

Arduino® is a registered trademark of Arduino AG.