Multi-Functional Custom Robotic Research Platform

Public Chat
Similar projects worth following
This is a fully designed robot that can be used for amateur research in robotics. Maneuverability, Robustness, Easy Disintegration, and Efficiency are fundamental to this design process. Keeping these factors in focus allow us to gun down some of the discrepancies that may arise after integration and during operation. Over progression of projects in the past, we have learned one thing the hard-way, "Design is the lifeline of all effort."

I vividly remember those silent screams of mine under the blanket at 3:00 AM in the morning of 17th Feb, 2017. My parents were sleeping and I was not allowed to be awake at that hour. But that day, I was ready to break all rules. I had the laptop and I was watching Space X launching its Falcon Heavy for the first time. I was in shock how could one launch rivet a child far out in another country. I recall my self crying after all this. I hold this launch close to my heart, because I know that great things start small, where risks, challenges ,and setbacks are all part of the journey. 

Project Mooba was born out of need to design something that people would look, stare at and say, "How?" For us hobbyists and engineering enthusiasts, this might be something easy to design and build but for people in my community, it is something out of the box and new. Over time I have felt that it is something that inspires them.

Since revelation of this idea, I have been on a hunt to know the why. Firstly, it's something rare in a world full of political buzz and daily problems of poor community. Secondly, inventions give rare hope to people that tomorrow would be better. After reading tons of books and investigating how great nations were built, I questioned, "Was it the politicians who transformed nations?" The answer was no. I say, it were those scientists, engineers, businessmen who fueled the trans-formative engine of the industrial revolution. They showcased engineering like no one ever did; they inspired a new generation of thinkers and inventors; they showed the world that impossible was possible. It was this fuel that allowed United States of America to progress in 300 years that the world could not in 5000 years; it was this fuel that built Korea, Japan, and Germany out of toils, tears,and dust. So the questions is what is it in our people that resists progress.

Upon deep analysis of my society and its dynamics, I have come to know why nations as a whole stay poor and what can be done to fix it. We have this rooted belief that if it comes to building engines, cars, smartphones, airplanes, it can only be done by Chinese and Americans. They say, "We are not capable, we do not have the right technology ,or money. " I question them, "You wanted to build an atom bomb, you did it despite all resistance in the world," "You wanted to build the best military in the world, you did it." When things become a matter of survival, anything can be achieved. All of these achievements were inside military division for the protection of this country. In months, technologies developed would become obsolete, thereby, I question my them yet again, "What are you doing to inspire people to learn?" You can't impose learning ,but at least show them what can be achieved if they do. They don't know what are these missiles, aircraft and bombs. Commercialize and show them the process. It is the responsibility of our elders to inspire the young generation but sadly it is not there.

This is where I want to build a platform to connect young scientists together and use social media as a tool to slowly alter my society's mindset where they start admire engineers and artists instead of celebrities. Let the news be made, let the people know how science can be used to engineer the future. Project Mooba is the first chapter in that regard.

  • 4 × DRV8825 Stepper Motor Driver This breakout board for TI’s DRV8825 micro-stepping bipolar stepper motor driver features adjustable current limiting, over-current and over-temperature protection, and six micro-step resolutions (down to 1/32-step). It operates from 8.2 V to 45 V and can deliver up to approximately 1.5 A per phase without a heat sink or forced air flow (rated for up to 2.2 A per coil with sufficient additional cooling).
  • 1 × Raspberry Pi 3 Model B+ This is a single board computer for all on board computation. 1.4GHz 64-bit quad-core processor, dual-band wireless LAN, Bluetooth 4.2/BLE, faster Ethernet, and Power-over-Ethernet support (with separate PoE HAT)
  • 1 × Protoboard Prototyping PCB Board Single Sided Board for installing and connecting all sensors and boards. Just keep all connections managed.
  • 10 × Pre-Made JST Connectors 2-Pin
  • 10 × Pre-Made JST Connectors 3-Pin

View all 19 components

  • Mooba's Functional Architecture

    NEBRA Labs10/18/2019 at 18:58 0 comments

    The functional architecture is intentionally generic due to the multi-functional nature of the this platform. In order to fulfill requirements, the robot system must be capable of executing wide array of tasks as well as accommodating user-designed modules. The primary functions of this robot are encapsulated in its external controller, perception system, locomotion base, sensor module, and actuation modules.

    The Mooba system begins with vision or user input into an external controller. This controller is a computer communicating with the locomotion module over SPI and I2C comm channels. Once the locomotion module has received commands from the external controller it will process the transmission and send appropriate commands to the actuation modules. The actuation modules will have motors and wheels to move the robot as commanded by the user and report motor status back to the external controller through the locomotion module. The perception system will send data gathered by its sensors to the external controller through the locomotion module. The input as images can be changed for dead reckoning to a user provided goal. The external controller acts as the interface between an external perception system or a user and the locomotion base.  

  • General System Requirements

    NEBRA Labs10/18/2019 at 18:27 0 comments

    Functional Requirements:

    1. Standard perception model should be able to transmit a video feed of 640x480 resolution at 30 FPS
    2. Mooba will have a field of view large enough to be able to perform locomotion and manipulation tasks. This field of view will be at least 180 degrees horizontally and 60 degrees vertically. 
    3. In order to accomplish a line following task, the robot shall be able to detect a 0.5 inch width black line on a white background.
    4. Given sensor input, the robot shall create a path plan from its current location to a desired location in a flat 10x15 foot room.
    5. The robot shall be able to loco-mote at a speed of 0.2 meters per second on a flat, smooth surface.

    Non Functional Requirements: 

    1. Durability is perhaps the most important of the mandatory non-functional requirements. If our mobile robot platform is not highly durable, the modules could simply disconnect or the whole platform could break during normal use. No user would be satisfied with a system that performs this way.
    2. If the robot platform is difficult to assemble and/or disassemble, the modularity of the platform will provide little benefit to the user. Because of this a user will be able to remove a module and add a different one to the robot platform in less than 1 minute.
    3. The platform must be capable but not too expensive.
    4. Mooba should highly appealing in looks. Engineering and design shall be seen in every revision.

    Desired Non-Functional Requirements:

    1. There could be a tracked or legged locomotion module in addition to the standard wheeled locomotion module. The additional modules could even be in an entire new category, such as sumo modules that would allow robots to battle.
    2. There can be an option to replace standard wheeled locomotion with 3D printed meccanum locomotion for higher maneuverability. 
    3. The Mooba robotic platform shall allow users to construct their own modules easily.

    Information Architecture Requirements:

    1. Information Architecture shall describe the inputs and outputs of the object
    2. Information Architecture shall describe relevant physical dimensions of the object

  • Problem Description

    NEBRA Labs10/18/2019 at 17:20 0 comments

    Robotic Platforms are used in plethora of projects where testing and use of mobile systems is essential. People use a lot of kits and custom designs but these offer less modification and they look a lot less appealing than they should. Commercially available robotic platforms such as Mindstorms allow less modification, besides, it is expensive. 

    This project aims to disrupt the existing commercially available robotic platforms by offering a highly customizable, fully open-source, and highly appealing robot that can be used by researchers at a very affordable price-point. 

View all 3 project logs

  • 1
    Parts Details

    Raspberry Pi B+:

    The Raspberry Pi 3 Model B+ is the final revision in the Raspberry Pi 3 range.

    • Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz
    • 2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2, BLE
    • Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
    • Extended 40-pin GPIO header
    • Full-size HDMI
    • 4 USB 2.0 ports
    • CSI camera port for connecting a Raspberry Pi camera
    • DSI display port for connecting a Raspberry Pi touchscreen display
    • 4-pole stereo output and composite video port
    • Micro SD port for loading your operating system and storing data
    • 5V/2.5A DC power input
    • Power-over-Ethernet (PoE) support (requires separate PoE HAT)

    Although we could choose a basic Arduino microcontroller to do all the connectivity and programming between these basic sensors. Reason to choose this over Arduino is that future expansion of on-board sensors will allow us to better view, control, and program them by connecting the robot wireless using ssh terminal. Reprogramming won't demand physical connection. Furthermore, all necessary indoor communication modules (Bluetooth and WiFi) are installed on board, which saves us space and hassle of connection.

    Linux operating allows the flexibility to modify operating to custom requirements. It also allows us to use python and C to directly communicate with sensors and actuators, which can then be used to apply plethora tools to analyze the data using machine learning algorithms. Logged data can then be used to train models which can then be directly executed on Raspberry Pi.

    DRV8825 Stepper Motor Driver

    The DRV8825 stepper motor driver has output drive capacity of up to 45V and lets you control one bipolar stepper motor at up to 2.2A output current per coil. The driver has built-in translator for easy operation. This reduces the number of control pins to just 2, one for controlling the steps and other for controlling spinning direction.


    • Six step resolution: Full step, ½ step, ¼ step, 1/8, 1/16 and 1/32 step
    • Adjustable output current via potentiometer
    • Automatic current decay mode detection
    • Over temperature shutdown circuit
    • Under-voltage lock out
    • Over current shutdown


    Inertial Measurement Unit:

    The MPU 9250 object reads acceleration, angular velocity, and magnetic field using the InvenSense MPU-9250 sensor. The MPU-9250 is a 9 degree of freedom (DOF) inertial measurement unit (IMU) used to read acceleration, angular velocity, and magnetic field in all three dimensions.



    The 3-Axis Digital Compass HMC5883L sensor is able to acquire information even in a low magnetic field. Distributed over the three axes, this information is converted into a differential voltage of 2.7 to 6.5 VDC to provide input for a vast range of microcontrollers operating at different voltages.

    Magnetometer Architecture

    The raw digital output value can be used to calculate direction and location, and for measuring both the magnitude and the direction of the Earth’s magnetic field in cases where the robot needs to measure several magnetic fields coming from different directions.



    An empty canvas for electrical enthusiasts


    Digital Voltmeter:


    Technical Parameters: 

    Dimension: 48×29×22mm  

    Cutting size: 46×27mm  

    Measuring voltage range: DC 3-30V  

    Maximum input: DC 30V (if the input voltage is higher than DC30V, the voltmeter will be burnt)  

    Minimum input: DC 3V (if the input voltage is lower than DC 3V, the value will be inaccurate or not displayed)  

    Measurement accuracy: Less than 10V, accurate to 0.01V; More than 10V, accurate to 0.1V (allowable tolerance: 1% +/- 1 word)  

    Display: 3 digit 0.56'' LED digital tube 

    Font Color: Green  

    Refresh rate: about 200mS  

    No need power supply  

    Consuming current: less than 20mA (generally 5-15mA)  

    Operating temperature: -10°c-65°c 

    Wire length: 20cm  

    Reverse connection protection: YES  

    Method of wiring:  Red wire: Positive  

    Black wire: Negative 


    Writing 3 bit binary code on pins M0, M1, M2 allow for change in micro-step resolution. This is results in overall fine control of the motion of the robot.

    The STEP Pin input controls the micro-steps of the motor. Each HIGH pulse sent to this pin steps the motor by number of micro-steps set by Micro-step Selection Pins. The higher the frequency, the higher the rotational speed of the motor.

    The DIR pin input controls the spinning direction of the motor. Pulling it HIGH drives the motor clockwise and pulling it LOW drives the motor counterclockwise.

View all instructions

Enjoy this project?



stefan.schnitzer wrote 10/19/2019 at 03:18 point

Great project! 
I always wanted to build a vacuum robot myself. Which rechargeable battery pack and charge controller to you use?

  Are you sure? yes | no

Does this project spark your interest?

Become a member to follow this project and never miss any updates