Arduino Engineering Kit - Review

Table of contents

RoadTest: Arduino Engineering Kit

Author: robogary

Creation date:

Evaluation Type: Electromechanical

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: none, unique kit

What were the biggest problems encountered?: The Matlab to Arduino Server software loaded to MKR1000 would be reported to fail by the error log and messages. The tool could not reliably delete all the server files and directories placed in the TEMP/APPS hidden directory. Occasionally the SW would report that the MKR1000 was Genuino rather than an Arduino. My PC was already slow due to 100% Disk Useage in Windows 10, MATLAB pegged into that alot.

Detailed Review:

Arduino Engineers Kit Element 14  Notes for Road Test Report

December 2018 – January 2019 by Gary Yohe

Qty 1 kit Bar Code 7630049200227

https://create.arduino.cc/edu/reg/

 

Project 4 Drawing Robot https://youtu.be/paqFx46_kww

Project 5 Mobile Rover: https://youtu.be/JIu58hMgBaY

Project 6 Self Balancing Motorcycle: https://youtu.be/xALECg2Yuw8

 

Test Plan

  1. Visual Inspection of container and contents, check parts list, record observations
  2. Register kit, overview instructions found at https://create.arduino.cc/edu/courses/course/ record observations.
  3. Install additional software tools , record observations  https://create.arduino.cc/edu/courses/mod/book/view.php?id=83&chapterid=89
  4. Power up assembled kit, familiarize, record observations
  5. Connect to IDE per manual, familiarize, record observations with Windows PC and then with a Linux PC.
  6. Follow tutorial book to check each experiment, familiarize, check accuracy of explanation, enough details and still keeping it simple, age appropriate explanations, did it work as indicated ?  record observations
  7. Review concepts introduced by each experiment for logical progression, successful structured learning, new science concepts, was it fun and interesting ? could something small be added to make a bigger impact ? improve ?
  8. Summarize final conclusions and recommendations

NOTE:  During the Road Test, I kept daily notes on progress and issues including screen captures, photos, videos, and comments.

Those 200+ pages of notes are the basis of this Road Test report.

 

– Road Test Summary -

 

Visual Inspection:

Upon receipt, the kit packaging made a disappointing first impression. The stickers were peeling off the plastic box.  It would have been better to have a fold down handle on the lid to facilitate carrying.

      imageimage

Parts inventory on receipt was excessively time consuming, and unclear if all the parts were there. The parts list on the box wasn’t plain, the on line parts list with photos was better. The magnets included were not bagged, and eventually I found them tightly attached to the servo screws.

image

  1. PRO: The laser cut parts were all made from black plastic acrylic, accurately cut, bagged into clearly labeled project bags. I had only one piece that was missing a couple holes.
  2. CON: It would have been better for the user to have each project’s laser cut pieces in a different color.
  3. PRO: The various screws, nuts, etc were all bagged by common part.
  4. CON: None of the 12 parts bags were labelled, and the magnets weren’t bagged at all. I finally took the time to individually label each parts baggie to save time later.

 

Project Assembly:

PRO: The assembly videos were thorough, and “build by model” is the manufacturing trend these days, so best to learn that technique.

CON: The assembly videos rarely used text. The graphics in the video and the screen captures relied the user’s ability to see colors, especially in wiring. Depending on the browser, the colors may be indiscernible. The user may be color blind. Please mark all  wiring in videos and screen captures relying on wire color to be labeled with their color in text. 

CON: After assembly, it is important for each project to start with a commission test to make sure each IO device is working and each motion moves with proper polarities and directions before starting. The assembly videos were thorough, but it was really easy to miss some important points like a change to encoder wiring.

CON: In initial start up of rotating equipment and controls, it is extremely important for the commissioner to understand nomenclatures (which motor is the LEFT side motor for example), directions of rotation, polarities, sensor feedback calibrations and directions. I put stickers on each motor for function, SW name, expected direction (forward clockwise rotation, etc) .

CON: I wish there was enough screws and nuts supplied so a complete teardown of a project wasn’t required to build the next project.

 

MATLAB and Simulink

My PC met the requirements for the application software. However my Windows 10 PC already struggled with being slow and the dreaded 100% Disk Use at times. Please take this into account in my whining.

Loading MathLab was expectantly time consuming.

The Introduction sections of the online tutorial were great.

Having the tutorials embedded into MATLAB were very helpful and productive on the drawing robot and the Mobile Rover.

The Motorcycle didn’t have embedded lessons, but did have all the major logic blocks available in case you had a problem.

Simulink – Arduino interface seemed much more reliable than the MATLAB-Arduino interface.

PRO: The lesson material is more than enough for a 16 week class in MATLAB and SIMULINK with the help of an experienced instructor and an IT professional to help manage licensing and PC configuration.

It probably exceeds the material for a typical engineer student covers in the freshman and sophomore year.

The Online Tutorial - https://create.arduino.cc/edu/courses/course/

Overall the tutorial was good. It has room for improvements, which are listed later in this report.

 

The Drawing Robot: I found this project very frustrating and could do without it. It wasted so much of my time coaxing it to make it go, instead of learning.

PRO:  Leveraging MATLAB for arrays and vector math, multidimensional arrays for imaging. It showed some nice features for graphing and data analysis.

CONs: Wasted so much time on non-value things like software incompatibilities, robot clunkiness, robot misoperations, MKR1000 server loading issues, runaway motors, breaking the nylon line, etc.

This style of drawing robot would be more practical for learning MATLAB image processing: https://www.instructables.com/id/DIY-Arduino-Drawing-Machine/

 

The Mobile Rover: I liked this project, it has a lot of good learning nuggets, but it wasted a so much time for the image processing setup and calibration, & weird model problems, distracting from the good points.

MISS: This project could have be more fun if a storyline was added. The webcam could be the “eye in the sky” and the rover used for a daring rescue the robot mission, or a Wheres Waldo theme. 

Near – Miss: Robot vision systems are useful in machines that pick and place, like surface mount component placement, which this is what this project reminded me of.  A more forward looking application for a Mobile Rover would be vision recognition for self driving, like a PixyCam. Of course a Wifi enabled webcam would be required.

PRO: There is a lot of fantastic learning material for developing a feel for PID regulators and motion control in this project. (I would like to understand more of how the MKR1000 executed the code, radian response limits based on code speed execution, scan time, and feedback resolution.)

CONs: There seems to be a big push in these exercises for MATLAB image processing. Sections on localization 5.5 & 5.6 were very time consuming, it seemed more to show off MATLAB capabilities than to educate the user.  I wasted a lot of time on the localization exercise as compared to what I learned.

CON: The Mobile Rover had lift mechanism and a ping sensor that were marginally used. I appreciate the 5.9 challenge was left to a course instructor, but in 5.9 would have more appreciated some simplified autonomous motion project and that included speed setpoint ramps and torque current limit in the exercises.

CON: Big miss on setting up calibration of the lift servo. I thought I had it good, but on a power up and download, the servo went to an endpoint angle driving into a mechanical limit and failed the servo.

 

SELF BALANCING MOTORCYCLE: 5 stars out of 5 stars  I LOVE this project.

The tutorial was fairly complete and logical in sequence. Most everything worked well.

The mechanical simulation modeling showed the value of Simulink , mechanical modeling, etc. well complementing (not distracting) from the main goal of the project.

For the most part, every step was detailed, directions and calibrations noted and tested in small steps, just like in real life.

CON: The HC-SR04 PING Sensor was only mounted for looks. Yes, it could be eventually used for object avoidance if the motorcycle could stay balanced infinitely.

I propose to add an LED output, with the LED aimed at markings on the flywheel to strobe and show where vertical is (per IMU). The actual center of gravity maybe off vertical, but a visual indication could be helpful, and would be cool to watch while the cycle is running. ( Like a engine timing light for a car ) My flywheel has small paint spots added to the center piece of the flywheel so mark where the magnets are mounted. After flywheel assembly, I taped fine lines to the axis where the magnets were located inside per this purpose. A physical scale mounted above the flywheel edge might do a better job for this idea.

 

 

Test Plan detailed observations and feedbacks

Observations – Visual Inspection

The kit Box was clean and undamaged from shipping.

The overall appearance of the kit packaging was an opening disappointment. The stickers were peeling off. It would have been better to have a fold down handle on the lid to facilitate carrying it.

The contents were packed compactly and precisely, and once opened, it was impossible to repack the contents well enough to close the lid.

Parts check:

The parts list was printed in the lid label. Checked the online Intro (https://create.arduino.cc/edu/courses/mod/book/view.php?id=83&chapterid=87 ) to get a better checklist of included parts with visuals. Taking inventory was difficult as parts were not packaged orderly. The packaged parts for projects were not called out specifically.

I created an excel spreadsheet, pasted in the parts list to create a parts checklist. The parts inventory was time consuming and unclear if all parts were there since small parts weren’t called out in detail.

 

1. INTRODUCTION Registration and Installation: observations and feedback

 

Kit registration was frustrating and cumbersome. It took multiple tries on consecutive days to get logged in. The registration code is too long.  Ran Task Manager on W10 PC looking for issues.

https://create.arduino.cc/edu/courses/course/

Splash page is simple and well organized.

 

Install SW tools, record observations

You will need the following MathWorks products to program the projects in the Arduino Engineering Kit: MATLAB®, Simulink®, Control System Toolbox™, Curve Fitting Toolbox™, DSP System Toolbox™, Image Processing Toolbox™, Instrument Control Toolbox™, Optimization Toolbox™, Signal Processing Toolbox™, Simscape™, Simscape Multibody™, Stateflow® and Symbolic Math Toolbox™.

https://create.arduino.cc/edu/courses/mod/book/view.php?id=83&chapterid=89

https://www.mathworks.com/campaigns/products/arduino-kit-license.html

Oh boy - another iteration of create an account.

  • Installation requires nearly 1 Gb space, Simulink 1.6 Gb? Took about 3 hours to download the tool suite. Next is to install and activate add ons.
  • 10 hours later get to part for ADDITIONAL PLUGINS

Didn’t go well.

I have 1.8.7 IDE installed which I already has problems with my old library files and structure from Arduino 1.06.

Continued to delete and relabel directories to get rid of INVALID LIBRARY ERRORS

 

This is My Nemesis Error , which I could never get rid of, but if I beat on the PC enough, could eventually make it work once.

   imageimage

 

Cmd prompt -> type in netplwiz, brings up accounts screen, I select myself as administrator and apply

Reboot PC, start MATLAB, select manage add ons,  MATLAB SUPPORT ADD ON, no change

 

Section 2

1.WHY DOESN’T the TUTORIAL SHOW A ONE LINE for the MOTOR BOARD Power Flow ?

2.MATLAB getting started https://create.arduino.cc/edu/courses/mod/book/view.php?id=83&chapterid=92

 

Navigate to the "work" folder by typing the following command in MATLAB Command Window and pressing Enter.>> cd(arduinokit.workRoot)

DOESN’T WORK, My DIRECTORY STRUCTURE INSTALLED IS DIFFERENT.

 

3.1 CONTROLLING MOTORS https://create.arduino.cc/edu/courses/mod/book/view.php?id=83&chapterid=118

Why not mention the DC motor equation , V = CEMF + IR in the tutorial ?

The encoder connections are not clearly marked on the ckt board or the illustration., but buried in the code example. Why not bring them to the forefront before loading code ?

 

Sensors:

UltrasonicRF_test HC-SR04 worked first time. I didn’t realize the TRIG pin could be used for both TRIG and ECHO.

The long declarations are at the end of the sketch rather than in the beginning…….

3.2.2 HALL SENSOR MODULE

EXAMPLE drawing shows Hall sensor connected to IN2, code is defaulted to IN4. Works with change.

Magnets were very hard to find in the box. They are small, and had a death grip on the servo screw bag.

Mount on a small 2mm slot blade screwdriver for testing. Need small screwdriver in kit.

image

IMU_test - I added stickers to the IMU board labeling the vector directions.

A digital level ! Worked Great

  //Initialize I2C communication

  Wire.begin();

   https://learn.adafruit.com/adafruit-bno055-absolute-orientation-sensor/overview

 

CHAPTER 4. DRAWING ROBOT - verbage to be added in a bit

image

 

imageimage

imageimage

image

 

image

image

These charts were great to learn Matlab capabilities. On the other hand, altho the red box shows the

areas where there is enough motor torque for drawing, the nylon string provided wasnt that strong, and I had

multiple nylon string failures.

 

 

 

 

 

Project 5 Mobile Rover

Project 5 Mobile Rover: https://youtu.be/JIu58hMgBaY

 

Assembled Mobile Rover. Fits together pretty well,

  • One plastic piece was missing drill holes.
  • image
  • One screw hole was especially hard to assemble the way shown, see photo.
  • image
  • Recommend to wash the plastic pieces before use, they are burned from the laser cutter, makes a mess.
  • Recommend straightening the ping sensor leads with pliers perpendicular to the surface rather than bending them in the connector per the video.

****the calibration of the servo should be made clearer for where the 0 degree mark/home position should be set to avoid stalling the servo/mechanical damage on initial power up*****

  • Include some small tyraps for securing the extra length of motor leads.

 

Continue assembly, one piece needs drilled.

Assembled Rover photo

 

image

image

 

 

 

 

  1. 5.1 Control Rover from Matlab

 

Ran motors at 25% speed, and it spun in a circle, not straight as wired. I missed in the instructions the driver side motor wires need swapped.

 

I didn’t have to know lift servo calibration angle (i.e. home position angle, zero point) , not direction. Tutoral leaves me dumb.

5.2 EXERCISE 2: SIMULATING ROVER KINEMATICS AND OPEN LOOP CONTROL

The explanation is confusing and awkward. (i.e. instantaneous center of curvature ??? remember the audience skill level)

Why not say simply in engineering units

Rover speed = axle speed (rpm)* wheel circumference (feet/rev) = wheel surface speed in fpm ?

Wheel circumference = 2*PI*wheel radius  or PI*diameter ?

 

Then go into discussion of Rover steering dynamics.

r = 4.5 cm

 

Should illustrate this equation better when introduced in the tutorial:

θ(t)=t0ω(t)dt  x(t)=t0v(t)cosθ(t)dt     y(t)=t0v(t)sinθ(t)dt

 

The kinEq_sim is really cool. The students should be reminded that the integral of velocity is position.

 

image

5.4 EXERCISE 4: PROGRAM ROVER TO FOLLOW PATH INSTRUCTIONS

kinEq_states_sim

and State Machines ………that was cool.

I have the blue and purple wires encoder wires swapped on the driver side, which was the one side acting weird while running. FIX and retry.

image

BIG CHANGE !!!! Works nicely ! 

This mistake reinforces 2 points lacking in the tutorial:

  1. the instructions should note color of wires in TEXT
  2. After assembly, there should be a calibration test of each component to bump for operation , direction, polarity, and note any calibration

5.5 EXERCISE 5: LOCALIZATION TO CALCULATE ROVER POSITION

Make a white paper arena 17 inches X 23 inches

I mounted webcam in the ceiling

edit roverCalibration   needs done everytime a change is made in lighting

Height is 22 inches 55.9 cm, width =30 inches 76.2 cm

image

 

 

 

 

Ran thru calibration process. Didn’t like last calibration for color as the image was too big ???

Reworked arena, repeat setup

Height is 21.5  inches  54.6 cm, width =27.75 inches 70.5 cm

image

image

image

image

 

image

Retry calibration again, with focus adjusted better.

Retry

Height is 21.5 inches  54.6 cm, width =27.75 inches 70.5 cm

Move track to ping pong table

17 inches wide 43 cm 11 inches 28 cm

Camera 54 inches from track

edit roverLocalization, same exact result of the calibrated webcam visualizaion after multiple retries of various track sizes, camera angles, lighting conditions.

5.7 EXERCISE 7: CONTROL THE ROVER OVER WI-FI

. LIFT SERVO FAILED jammed in down position

  • USING FPOPEN for forcing controls worked but not effective, often after each FOPEN and FCLOSE cycle, I had to reset. The commands needed a lot of time to execute.

 

 

 

 

 

  1. 6. Build the motorcycle

Best to slightly bevel edges of plastic tabs so they fit together easier.
I had problems jamming the front axle thru the wheel, tight fit and some misalignment pushing the axle thru the forks, doesn’t spin freely.

There should be a note or identification during the physical build that the cycle frame does have a left and right hand side (i.e. encoder side and gearbox side. Another time killer.

Had to slot the hall effect sensor hole to accommodate the sensor IC see photo.The hall sensor harness to just a bit too short and stiff. MAYBE LABEL CABLES DURING INSTALL ?

Lost 16mm spacer, had to make one,

The assembly video should be marked plainly which cable is ping, which is hall sensor when plugging to motor shield, and also the red & black motor leads VERY CONFUSING !!! Battery polarity cant be determined ( used the rover diagrams) .

Quick test program after build ?  

 

  1. 6.2 program motorcycle components

 

MISTAKE IN TUTORIAL: SAYS 6000 instead of 4000, confused me

  image

 

  1. 6.1 Simulation has bike flip twice then flip back & forth. NOTE: X & Y in the simulation is different than the x y orientation of the IMU.

image

 

Back to 6.2

the tutorial examples are covered up by the block child windows

  image

 

And this one also refers to the incorrect logic block name

image

 

 

6.3 EXERCISE 3: CLOSED-LOOP CONTROL (BALANCE IN PLACE)

 

THE MOTOR SHIELD Datasheet SAYS IT CAN MONITOR output CURRENT -  WHY NOT ADD A SIMPLE FLYWHEEL MOTOR THERMAL MODEL ?

 

Next, load and test. With Trq Ref disabled, IMU calibrate. Flags set OK.I cant do a good job of balancing with the USB cord snaked thru the front.

  1. 6.4

The motor wiring illustration is hard to read colors on my PC. Why not mark them with color names for the sake of the color blind users ?

 

I WISH I COULD POST TABS on the WEBSITE SO I COULD FIND MY LAST STOPPING POINT.

 

in tutorial 6.4, the text says:

BALANCING WHILE DRIVING IN A STRAIGHT LINE

Now let’s integrate the rear wheel into the system model, and attempt to balance the motorcycle with forward and backward motion. Copy all the blocks from myDrive.slx to myMoto.slx except for the Scope block and lay out the model approximately as shown:

Is the text supposed to say to copy MyDrive.slx blocks to MyNewMoto.slx (instead of MyMoto.slx) ?

Thanks Gary  YES it WAS A TYPO

 

  1. 6.5  For leaning during a turn

θopttan1(V2δ/(LFRg))

WHAT ARE ENGINEERING UNITS ? length meters, angle in radians ? I figured it out, but should include in the tutorial.

My calcs show result is a + - .2 degrees theta trim, relatively minor correction

On repeated crashes, battery loses its balance position. The flywheel is unbalanced and out of alignment, loosens up and too much play in its bearings in the axle axis.

Really crappy that I have to keep the steering at 30 degrees to plug the USB cable in.

Anonymous
  • My advice: do NOT buy this kit.  Unless you are very, very good at assembling parts without any help you will very likely WASTE your money.

    The kit comes with absolutely no assembly instructions, the video on youtube showing a guy putting together a motorcycle cannot be followed by a human being, and I have given up trying to find drawings. The level of support on this respect by the manufacturer is not even laughable as it doesn't exist!!!

     

    In summary: avoid buying this unless you are a masochist.

  • Your frustration comes through clearly in your report! Nice attention to detail.

  • Thanks for your feedback

    I did start the report with a short summary, but I got so involved with pros and cons, the summary got lost in the sauce.

    My notes were over 200 pages of Word, so "short" became too long. I missed sharing the point concisely. 

     

    I like the kit for engineering and technology students, more for sophomores-ish. 

    I'm sure others in general would learn alot, but need some teacher or coach on the side to enhance explanations, and likely needs a team approach to help smooth out rough spots.

    The cost value: I did research the parts list and ordered an extra motor from China, which cost about 50% as compared to a US supplier. If using US suppliers for parts, charger, laser cutter and acrylic, arduino parts, and consider paying for a year's MATLAB license, and the lesson designs, the kit is a really good value.     

  • Gary,

     

    These are some of the really difficult problems in mobile robots also mixed with connecting MATLAB to MKR boards. It is surprising you got anything to work. You did well in all the projects. I especially liked the two wheel motorbike one.

     

    Dubbie

  • Gary,

     

    I want to thank you for an informative review packed full of info which I will forward to the supplier. I know you put a lot of work into this. I appreciate the additional blogs as well.

     

    Randall

  • Excellent review of the Arduino Engineering Kit, I particularly liked how you added in build tips along the way.

     

    Kind regards.

  • Thanks for all the great details Gary. I liked that you translated your notes into the Road Test.

     

    One thing I feel that is missing is your conclusion or summary. Is this something you would recommend? Or, who is the kind of person you would recommend it to?