Skip navigation
> RoadTest Reviews

Mime Industries MeArm Maker - Review

Scoring

Product Performed to Expectations: 9
Specifications were sufficient to design with: 10
Demo Software was of good quality: 9
Product was easy to use: 9
Support materials were available: 10
The price to performance ratio was good: 10
TotalScore: 57 / 60
  • RoadTest: Mime Industries MeArm Maker
  • Evaluation Type: Electromechanical
  • Was everything in the box required?: Yes
  • What were the biggest problems encountered?: X-Axis of the right joystick on the control board was not working.

  • Detailed Review:

    Hello,

     

    First of all thank you for the choosing me for the review. I hope you enjoy the review. I am going to do some AI stuff. Make sure to check the last parts of the review.

     

    Some parts of the review has video format. I already apologize for my English .

     

     

     

    Unboxing

    I have received two packages. One the MeArm Robotic Kit itself and one BBC:MicroBit.

    Here is my unboxing video of the MeArm kit:

     

    Here is some more images of the parts and packages.

     

    {gallery} Packages and Parts

    Boxes

    Arrived Packages

    All Parts in single image

    All Parts in single image

    Single Servo

    Servo Pack

    Sheets

    Sheets

     

    Product Website:

     

    Assembling

    Issues:

    The first main issue is that I think assembling the kit for a kid is a bit hard and difficult. All the screws need Allen Keys and the provided allen keys is going to hurt a kid's hand. I do not think they are going to complete it in first try. Also the screws need some pressure. There is no clean thread for screws and the screw should make the thread and tighten everything. This is bad for kids.

     

    The second issue was about assembly manual. Orientation of the following white part is misleading in the manual. Based on the left image the extra hole should point down. But in next steps you will see that the hole is not correct and the orientation becomes clear after fastening few screws. So I had to open them up again.

    Assembly Process:

    Except the above issues, everything else was clear about assembling. You should not tighten the screws too much because later they are going to stuck and servos are not super powerful to move the tightened joints.

     

    The very important point about assembly is to first mount the servo's header at the required position. They call this step, calibration. This links describes the process: https://learn.mime.co.uk/docs/mearm-microbit-setup/ If this calibration is not done first, you will end up to open all the parts and do everything again. Otherwise the servos are not at the correct position and the arm might not move at all. It would be cool decoration then.

     

    Here are some pictures of the assembly:

     

    {gallery} Assembly Process

    Calibration of Servos

    Mounting the Base Servo

    Arms

    Arms and Base

    Gripper

    Gripper on Arm

    And Complete. Yeay

     

    Electronics and Hardware

    I would be very brief here. Just to remember that you would need a power source with at least 5V 2A. First I tried it with 5V 1.2A and that was not enough, The motors could not move the arms easily and then they were heating up which is dangerous. I moved to a 5V 3A wall adapter and now it is good. Still if I tighten the screws too much, it stucks. But less.

     

    Servos

    Servos are pretty small and weak but good enough to do fun stuff. Here is the datasheet of the servos: https://engineering.tamu.edu/media/4247823/ds-servo-mg90s.pdf

     

    Pin Configuration

    Under the joystick's board it is written which Microbit's pin is connected to which hardware (Servo or Joystick). Here are the images of that:

    {gallery} Pin Configuration

    Pin Configs Overall

    Pin Out of the Joysticks

    Pin Out of the servos

     

    Issue

    The main issue I had was that the X-Axis of the right joystick was not working for me. I could not get a reasonable value from it. MicroBit was only reading 1 or 3 while it should have read a value within range of [0, 1023]. Therefore I started thinking to control the arm via computer and through the serial communication. So basically I was powering up the joystick's board with power adapter and connecting the MicroBit with USB cable to my PC. Fortunately that was possible because there is a protection inside the main board to protect the Microbit and PC's USB when you have two power sources. One on the joystick's board and one on the Microbit from PC through USB cable. But be careful NOT to operate servos with only USB from PC.

     

    All about Software

     

    Environment Setup

    Because of the above issue I started to control the MeArm with my PC. So the Software would have two side. One for the MicroBit and one for the PC.

     

    MicroBit Side

    I haven't used the Microbit before. It is really cool. I could program it in Python. This was my first Python Embedded Experience. It is using micropython (Documentation for MicroBit: https://microbit-micropython.readthedocs.io/en/latest/ ). Basically you could use  an online IDE to write the program which is here: https://python.microbit.org/v/1.1  Then download the hex file and copy it into the MicroBit. When you connect the MicroBit via USB, OS sees it as a storage device and you can copy the hex file into it (Do NOT use it as storage device, only copy the hex file). Then the MicroBit resets and runs the program.

     

    You can use the local IDE as well which can be downloaded here: https://github.com/bbcmicrobit/PythonEditor.

    The release version by now does not have auto-completion which the beta version does. You can use beta version from github and top of the tree of beta-integration branch or the online link here: https://python.microbit.org/v/beta

     

    There are other programming tools like using blockly or javascript that I have not explored that much. The blockly Environment (https://makecode.microbit.org/#) looked very easy and cool for kids. I like Python more.

    Here is the list of useful links:

     

    The final code I used for Microbit for the both following demos is like this:

     

    PC side

    I am using jupyter notebooks and Anaconda (https://www.anaconda.com/ ) and Python 3.6 on my Ubuntu 18.04 machine. For the first demo, (Control Arm via serial Communication) I just needed few Python packages including:

    • PySerial: To Communicate through USB
    • ipywidgets: To create some widgets in jupyter notebook to control the arm.

    I am describing more in details in the following videos.

     

    The code for each demo is different and long. I am sharing them separately.

     

    First Demo, Control Arm via serial Communication

    I explain the first demo in the video below. It is basically about the codes and how I controlled the kit via Jupyter notebook with Python. It will show the followings:

    • Serial Communication between MicroBit and PC in Python.
    • Creating some widgets and GUI to control the arm.
    • Calibration of the servos
      • Map angles in degrees to servo values (PWM)

     

    You can find the jupyter notebook (code) for this demo here:

    https://github.com/yosoufe/MeArmReview/blob/master/hostSrc/SerialCommunication.ipynb

     

    Second Demo, Lets do some Artificial Intelligence (AI)

    Basically I describe and demo everything in the following video. Let's watch it first.

     

     

    So in above demo:

    • I used a tool called openPose which is using deep learning to find the key points of the body and hand.
    • After finding the keypoints of my finger, I mapped them to angles of the MeArm Robot.
    • Then I used the tool of the previous demo to apply and send those angles to MeArm Robot Arm
    • I used my main webcam to look at myself and detect my finger
    • I used a software called DroidCam to stream the camera of my Android Phone to the web browser and show the robot movements.
    • I recorded the screen using OBS software.
    • And here is the link of the jupyter notebook: https://github.com/yosoufe/MeArmReview/blob/master/hostSrc/OpenPose%20Demo.ipynb
    • And this is me with detected fingers 

    Required Python Packages:

    • OpenPose
    • OpenCV
    • Matplotlib
    • PySerial
    • Numpy

     

    Some more links for the video:

      • hostSrc folder in repo are jupyter notebooks which should run on the PC
      • bbcSrc folder in repo are the codes are the Python Scripts for the Microbit.
    • OBS for recording: https://obsproject.com/

     

    At The End

    The kit is pretty cool. You can do very tangible stuff with it like assembling the mechanical Parts as well as very complicated Software things like AI . Let me know your opinion and also if you want to know something more about it.

     

    Make sure to check my github page if you are interested in the codes: https://github.com/yosoufe/MeArmReview

     

    Thanks for Reading the review.

     

    Best wishes,

    Yousof


Comments

Also Enrolling

Enrollment Closes: Sep 20 
Enroll
Enrollment Closes: Sep 20 
Enroll
Enrollment Closes: Oct 1 
Enroll
Enrollment Closes: Oct 10 
Enroll
Enrollment Closes: Oct 4 
Enroll