|
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 the combination of a fast, powerful microcontroller, lots of memory, built-in wireless capability, and with all of these features squeezed in the tiny Nano form factor, I knew it would be 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 simple beginner education circuit for the Arduino Nano ESP32 that anyone could 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 kind of flexibility is to design a single, modular circuit that beginners can assemble in stages. For simple and quick initial assembly, and for the ease of users being able to add additional components to enable more capabilities later, I chose to make the circuit a through-hole design. In addition, I wanted beginners to have the ability to build the circuit into a simple robot without having to buy additional, external circuits and wire them to it. (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
Let's get to know the BEAPER Nano circuit by dividing it into its different groups of parts based on their anticipated use: education starter components are the only parts beginners need to start learning introductory microcontroller programming, robot starter components enable BEAPER Nano to drive motors and run on battery power, analog components provide a variety of analog input devices for learning more advanced programming techniques and for making robot floor, line, and voltage sensors, and expansion components allow users to add additional external circuits and devices to their BEAPER Nano circuit.
Education starter 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 onto the PCB allows beginners to focus on learning programming without having to build and debug potentially unreliable breadboard circuits in between, saving time for the learners, and potentially lowering costs and reducing project storage space requirements in schools.
Robot starter components
- screw terminal strip and power switch
- 5V, low drop-out voltage regulator
- 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 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 which are under direct user control are great for learning analog input programming techniques, and can help new users to 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 that is one of the expansion components. The potentiometers can be used by learners to easily set program parameters or control servos, the light and temperature sensors lend themselves to making remote-monitoring IoT devices, and other kinds of analog sensors can be connected to the 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 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 using MicroPython.
In addition to 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 a simple education-focused circuit that its users won't quickly outgrow!
How do I get started?
Start by obtaining a bare printed circuit board (PCB). BEAPER Nano PCBs are being made available to order here on the PCBWay website as the least expensive option for schools and maker spaces to purchase them in bulk. If you are considering BEAPER Nano as a school or maker space, you probably already have all the resistors, pushbuttons and LEDs you'll need to start assembling BEAPER Nano in the education starter configuration. The only parts you may need to order to get your students started using its programming activities are the two 15-pin header sockets for the Arduino Nano ESP32, and the proper size of piezo speaker. While your students start learning programming basics, you can decide which other parts they will need to complete the build configuration that best fits your curriculum or intended use.
If you're a hobbyist user you can either order the bare PCB from PCBWay and order the rest of the parts separately, or you may wish to consider purchasing a complete kit consisting of the PCB and all of the electronic components from the mirobo.tech website. Supporting me with a kit purchase helps me to allow me to keep producing more learning materials and circuits for education.
When assembling BEAPER Nano, remember that you do not need all of the parts. Study the schematic diagram to determine which components are needed for your intended application, and either use the bill of materials (BOM) file to source the rest of the parts you need, or order any of the parts from the Digi-Key website using this shared BEAPER Nano parts list.
Assembling BEAPER Nano
Assembling BEAPER Nano, like most through-hole circuit boards, is easiest to do by installing the smallest-height 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 any 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 is finalized and the sensor modules are mounted so that they can be installed in their proper positions to provide the best sensitivity for detecting either the floor or a line.
You can find step-by-step assembly instructions 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 distance sensor module to be plugged directly onto the PCB too, with no need to figure out a special mount.
The simplest and quickest to build robot design can be created by simply 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 will be used, holes drilled through the base can house their LEDs and phototransistors – the ones shown in the parts list work best when their ends are positioned approximately 1cm from the floor.
The LEDs and phototransistors soldered into the optical line and floor sensor circuit modules on BEAPER Nano connect directly to the on-board Arduino Nano ESP32 while modules remain attached. It's easy to remove and relocate the two optical sensor modules by snapping them off the main part of the PCB. After removing them, the optical sensor modules can be re-connected to the main BEAPER Nano PCB using either 0.1" header pins soldered into headers H9-H12 along with DuPont socket extension cables, or by soldering wires between the sensor modules and the BEAPER Nano PCB. This allows them 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 DuPont 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 use two N20 gear motors with plastic drive wheels, driven by 4 AA batteries. 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 allowing users to choose the best option for their type of robot.
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 shared platform and we are not responsible for any design issues.
- Comments(0)
- Likes(0)
- 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
- 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 the combination of a fast, powerful microcontroller, l...
- 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...
-
STM32 BLDC Motor driver (RPI Front-end)
52 0 0 -
-
-
-
-
SlimeVR CheeseCake LSM6DSV without Magnetometer
273 0 1 -
Uploading BME280 Sensor Data to ThingSpeak Using ESP32
175 0 0