BuddyBot: Controlling a Stepper Motor with an Android Smartphone
By Michael Parks, P.E., Mouser Electronics
Licensed under CC BY-SA 4.0
Download Full
Project
BOM
Additional Resources:
STM32 Nucleo to Arduino Pin Layout Conversion “Cheat” Sheet
1 Nucleo header pins are identified by both a Morpho and Arduino pin identifier. STM32 Nucleo Pin #
and Arduino Pin # refer to the same physical pin. The Arduino Pin # makes it easier to determine which pin to
use since they are sequentially numbered.
2 Both Stepper Wire #1 and #2 must be connected to the associated L293D pin. (e.g. Both the solid
orange and the black/white striped wires must connect to L293D pin 3)
RN42 Pin Layout “Cheat” Sheet
On the STM32 Nucleo , Arduino™
connectivity support and ST Morpho headers make it easy to expand the functionality of the STM32 Nucleo open
development platform with a wide choice of specialized shields. The STM32 Nucleo board does not require any
separate probe as it integrates the ST-LINK/V2-1 debugger/programmer. The STM32 Nucleo board comes with the
STM32 comprehensive software HAL library together with various packaged software examples, as well as direct
access to mbed online resources.
STM32 Nucleo Resources
The Microchip RN-42 Bluetooth Module is a small
form factor, low power, class 2 Bluetooth radio for designer’s who want to add wireless capability to their
products. The RN-42 supports multiple interface protocols, is simple to design in, and is fully certified,
making it a complete embedded Bluetooth solution. The RN-42 is functionally compatible with the RN 41. With its
high-performance, on-chip antenna and support for Bluetooth EDR, the RN-42 delivers up to a 3 Mbps data rate for
distances up to 20 meters.
Source Files and Downloads
3D Printer Files: These STL files are used if you have a 3D printer to create the
non-electronics portion of the project. 3D printing is not necessary to create the enclosure for project,
however. Download them here as: 3DPrinterFiles.zip
Android Application files: Source files for the Android application that is used to control the
BuddyBot from an Android device (tablet, smartphone, etc.) You need to be running the JellyBean release or
higher on the device to ensure compatibility. Download here as: AndroidApp.zip
STM32 Nucleo Code: Original source files for programming the main STM32 Nucleo board. However,
any subsequent revisions can be found on Github . Mbed.org is the tool used to program the STM32 Nucleo. Download
here as:
BuddyBotSTM32NucleoCode.zip
Images/Photos: Images of the BuddyBot and .PNG images of the original, commented source code are
available here for download: BuddyBotPhotos.zip
Schematic Source
files: This project wouldn’t be open source hardware without the source files for the
schematics. There is no PCB (yet), or we would provide source for that, as well. SchematicSource.zip
Mbed.org houses free, cloud-based software dev tools available to program various ARM-based processors.Mbed.org
MIT App Inventor 2 is a free, cloud-based software development tool where you can learn the basics of programming
apps for Android.MIT App
Inventor 2
STM firmware updates can be found here: http://developer.mbed.org/platforms/ST-Nucleo-F401RE/
This project is licensed under CC BY-SA 4.0