|
KiCad 8.0KiCad
|
|
|
arduino IDEArduino
|
|
|
Arduino Lab for MicroPythonArduino
|
BEAPER Nano 1.0: the Beginner Electronics and Programming Educational Robot circuit for Arduino Nano ESP32
When the Arduino Nano ESP32 was released with a combination of a fast, powerful microcontroller, lots of memory, built-in wireless capability, and all of its features squeezed in the tiny Nano form factor, I knew it would make a great microcontroller for many kinds of advanced circuit projects. When I found out that it could be programmed using both C/C++ and MicroPython, I knew it would also be an incredibly flexible microcontroller for use in education.
With my background as a high school computer technology teacher, I wanted to create a beginner education circuit for the Arduino Nano ESP32 that would be simple enough for anyone to use to start learning microcontroller programming. At the same time I wanted the circuit to support the additional capabilities of the Arduino Nano ESP32, enabling it to grow with learners as their programming skills and interfacing abilities increased.
One way to achieve this level of flexibility is to design a single, modular circuit that beginners can assemble in stages. To make initial circuit assembly easier for novices, as well as to simplify the addition of components as learners progressed, I chose to make the circuit a through-hole design. In addition to supporting typical beginner I/O devices, I also wanted it to be easy for beginners to make their circuit into a simple robot without having to buy or figure out how to connect external circuits and sensors. (More on that, later!) The first BEAPER Nano prototypes revealed the essential design ideas were sound, and a few small modifications were incorporated into this new BEAPER Nano 1.0 production version to make it even better.
Meet BEAPER Nano
The modular design of BEAPER Nano allows it to be assembled in multiple ways, but there are three common configurations that make logical sense: an education starter configuration containing only the components needed for beginners to start learning introductory microcontroller programming, a robot starter configuration enabling BEAPER Nano to run from batteries, drive motors, and be made into simple robots, and an analog I/O configuration providing a variety of analog input devices for making robot floor, line, and voltage sensors, as well as light, temperature, and position sensors for learning more advanced analog input and processing techniques. BEAPER Nano's components are grouped into each of the three configurations, below, along with expansion components that either overlap between configurations, or are more specialized and provide even greater learning opportunities. Let's explore the components in each configuration.
Education starter configuration components
- four pushbuttons
- four LEDs
- piezo speaker
- header sockets for the Arduino Nano ESP32
New learners can start exploring introductory microcontroller programming concepts using only the education starter components installed in their BEAPER Nano. Building these simple circuits directly onto a PCB allows beginners to focus on learning programming without having to build and debug potentially unreliable breadboard circuits in between. This can save lots of time and frustration for new learners, and potentially lowers costs and reduces project storage space requirements in schools.
Robot starter configuration components
- screw terminal strip and power switch
- 5V, low drop-out voltage regulator circuit
- 3.3 to 5V level shifter IC
- H-bridge motor driver IC
The robot starter configuration adds all of the electronic parts needed to drive two DC motors while powering BEAPER Nano using batteries. An ultrasonic SONAR distance sensor module can be installed into a header socket bridging headers H1-H4 (at the top middle of the PCB), and optical floor and line sensors can be built by installing LEDs and phototransistors into the break-away left and right optical sensor modules (top left, and top right, labelled with the large letters L and R).
Analog configuration components
- ambient light sensor
- analog temperature sensor
- two rotary potentiometers
- two break-away optical floor and line sensor modules using LEDs and phototransistors
- voltage divider resistors used to sense the battery supply voltage
Analog components are great for learning more advanced input processing techniques, and can help new users simulate their robot floor sensors or other analog input devices. Here, the values from the four built-in analog devices are being displayed on a graphical LCD – one of the expansion components, below. The potentiometers can be used by learners to easily set program parameters or to control servos, the light and temperature sensors lend themselves to making remote-monitoring IoT devices, and other, external analog devices can be connected to four 3-pin analog expansion headers.
Expansion components
- four 3-pin 3.3V analog/digital I/O headers that can be bridged with a socket to hold an ultrasonic SONAR distance sensor module
- four 3-pin 5V output-only headers (shared with the analog/digital headers) to drive servos or other 5V devices
- QWIIC connector to connect 3.3V I2C devices and peripherals
- SPI breakout connector designed to mount a full-colour, 1.54" graphical TFT LCD display panel
The expansion components enable all kinds of additional circuits and components to be added to BEAPER Nano, expanding its capabilities beyond many other simple beginner circuits. Adding a graphical LCD display can challenge more advanced learners to program user interfaces or simple games, such as this block breaker game programmed in MicroPython.
Beyond the on-board circuits, the built-in wireless capabilities of the Arduino Nano ESP32 enable learners to create programs using Bluetooth or WiFi communication. All of these options make BEAPER Nano into an education-focused circuit that is both simple enough for beginners to start learning on, as well as being a circuit that they won't quickly outgrow, with capabilities that can continue to challenge them!
How do I get started?
Start by obtaining a bare printed circuit board (PCB). BEAPER Nano PCBs and electronic parts kits are available on the mirobo.tech website. To keep costs low for schools and makerspaces, PCBs can be purchased in bulk right here on the PCBWay website.
Purchasing the electronic components
Schools and maker spaces likely already have the resistors, pushbuttons, and LEDs needed for learners to begin assembling the education starter configuration of BEAPER Nano. Adding the Arduino Nano ESP32 header sockets and piezo beeper is all that will be required for beginners to start learning programming before deciding on the other parts that will be required to complete their particular projects.
When assembling BEAPER Nano, remember that all of its electronic parts aren't typically needed. Study the schematic diagram to determine which components are needed for your project, and either use the parts list BOM file linked in this project to source the required electronic parts, or select parts from the shared BEAPER Nano parts list on the Digi-Key website.
Assembling BEAPER Nano
Assembling BEAPER Nano, like most through-hole circuit boards, is easiest to do by installing the lowest profile parts first. Start by soldering all of the resistors needed for your configuration, then add the pushbuttons, and, if you're building the robot configuration, the DIP IC sockets. Next, move up to the capacitors, LEDs, headers, header sockets, regulator, power switch, and the other components you need to complete your BEAPER Nano build.
The only components that should not be installed during PCB assembly are the floor sensor module LEDs and phototransistors used for making line-following or floor-sensing robots. It's important to install these into their sensor modules only after the robot design has been finalized so that they can be installed at the proper height and in the location that will provide the best sensitivity for detecting either the floor or a line.
You can find detailed, step-by-step assembly instructions for the PCB on the assembling BEAPER Nano web page.
Making robots with BEAPER Nano
The BEAPER Nano PCB integrates a motor driver IC, a screw terminal strip to connect a battery holder and two DC motors, and pre-wired optical floor and line sensor modules, making it exceptionally easy for beginners to create a variety of simple robots. The addition of a 4-pin header socket allows a commonly available HC-SR04P ('P' denotes the 3.3V version of the common 5V HC-SR04) ultrasonic SONAR distance sensor module to be plugged directly onto the PCB too, without needing a special mount.
The simplest and quickest to build robot design can be created mounting BEAPER Nano, two inexpensive and low-current gear motors, and a battery holder onto a base made from a piece of wood, MDF, or acrylic. If the optical floor sensors are to be used, holes drilled through the base can house their LEDs and phototransistors – the ones shown in the parts list work well when their ends are positioned approximately 1cm from the floor.
The LEDs and phototransistors soldered into the small optical sensor circuit modules on the BEAPER Nano PCB connect directly to the on-board Arduino Nano ESP32 microcontroller's I/O pins while modules remain attached. If they need to be positioned in different locations for your robot design, it's easy to snap them off the main of the PCB and mount them separately. After removing the sensor modules, they can be re-connected to the main BEAPER Nano PCB with either header pins soldered into headers H9-H12 along with socket extension cables, or by soldering wires between the sensor modules and the BEAPER Nano PCB. This allows the sensors to be positioned in front of the drive wheels for a floor sensing robot, or in the middle of the robot chassis to make a line-following robot.
A 3D-printed BEAPER Bot chassis holds a BEAPER Nano circuit with its optical sensors removed from the main PCB and snapped into separate 3D-printed floor sensor mounts. The sensors are reconnected to the main BEAPER Nano PCB using 10cm long socket extension cables. A 3.3V HC-SR04P ultrasonic SONAR distance sensor module is plugged directly in a header on BEAPER Nano.
BEAPER Bot
A 3D-printable BEAPER Bot chassis has been developed to hold the BEAPER Nano, a 4 AA battery holder, two N20 gear motors with plastic drive wheels, and a roller ball castor. Using alkaline or rechargeable NiMH batteries reduced the classroom safety risk posed by LiPo batteries and eliminates the need for an on-board charging circuit.
The chassis is designed to mount the BEAPER Nano PCB in either a front-drive or a rear-drive layout, which allows users to choose the best option for their style of robot. The chassis and all of its components have been designed in TinkerCad to make it easy for students (even in schools using Chromebooks) to modify the design and to create accessories and other add-ons and mounts for it.
The image shows the BEAPER Bot chassis design with four motor mounting clips in TinkerCad. Links to all of the Tinkercad BEAPER Bot parts will be posted on the mirobo.tech website soon.
Introductory Learning Activities
Introductory learning activities are being developed in both C/C++ and MicroPython. These will be designed to give beginners an understanding of all of the fundamental programming concepts they would need to understand and apply in order to control their own simple robots. Each learning activity will have an example program to introduce a major topic, guided exploration of related concepts that expand on the topic or apply the concepts in a different way, and one or more programming challenges to engage students in applying their learning in a fun way.
The preliminary Introductory Learning Activities and their programming challenges are:
Activity 1 - Input and output programs (challenge: bicycle turn signals)
Activity 2 - Constants and variables (challenge: two player rapid clicker game)
Activity 3 - Loops and PWM (challenges: LED brightness and sound effects)
Activity 4 - Creating and using functions (challenges: level indicator, number conversion)
Activity 5 - Analog input and output (challenges: robot line following)
BEAPER Nano 1.0: the Beginner Electronics and Programming Educational Robot circuit for Arduino Nano ESP32
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(0)
- Likes(3)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by John Rampelt
- BEAPER Pico 0.1: A (Prototype) Beginner Electronics and Programming Educational Robot for Raspberry Pi Pico BackgroundI have been teaching high school electronics and computer technology courses for over thir...
- CHRP4 Beginner Robotics Developer Board CHRP4 OverviewCHRP4 (Common Hardware Robotics Project - version 4) is beginner-friendly microcontrol...
- BEAPER Nano 1.0: the Beginner Electronics and Programming Educational Robot circuit for Arduino Nano ESP32 When the Arduino Nano ESP32 was released with a combination of a fast, powerful microcontroller, lot...
- BEAPER Nano (Beginner Electronics and Programming Educational Robot) for Arduino Nano ESP32 Note: This is the first prototype BEAPER Nano circuit. See the newest BEAPER Nano 1.0 circuit. BEAPE...
- BPStick (Breadboard Power Stick) - 5V through hole version When schools start teaching STEM programs, or hobbyists embark on learning electronics, one of their...
- UPS (USB Power Stick) breadboard power adapter When schools start teaching STEM programs, or hobbyists embark on learning electronics, one of their...
- ARPS – A Beginner Arduino®-compatible Robot Project Shield ARPS OverviewARPS (Arduino®-compatible Robot Project Shield) is beginner-friendly add-on shield for ...
- UBMP4 Beginner Microcontroller Development Board UBMP4 OverviewUBMP4 (USB-based Beginner Multipurpose Project - version 4) is beginner-friendly micro...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
111 0 0 -
DIY Laser Power Meter with Arduino
162 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
155 0 2 -
-
A DIY Soldering Station Perfect for Learning (Floppy Soldering Station 3.0)
555 0 2