RoadTest: BASYS MX3 Trainer Board
Author: noorpuri
Creation date:
Evaluation Type: Development Boards & Tools
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?: As per my current knowledge, there is no such Training product in this price range with all such possibilities to learn about other than PIC32 like applications based on Inertial sensor , Motor control and Audio Signal processing.
What were the biggest problems encountered?: The biggest problem is to use and evaluate certain development tools after installation like MPLAB X IPE v5.30, configuration of Licensed Debugger, setting of Harmony software path.
Detailed Review:
Motivation of Participation:
First of all, I am thankful to Element14 for allowing me the evaluate this product. My main objective to participate was to re-connect with the PIC family based Microcontrollers over more than 10 years and evaluate BASYS MX3 Trainer Board not only with the perspective of a learning platform but also as a Rapid Prototyping/Proof of Concept Platform suitable for DIY, commercial and industrial applications. I am going to describe my findings in the regard of both aspects.
First Impression:
I found it Compact form factor, Rugged and Well Finished PCB after opening its good packing. Everyone can see in the picture that there is lot of components and connectors beside SMD ICs.
First Displeasure:
It is very exciting to power up any Development Kit to check about its functionality and any possible damage during delivery.
But when, I tried to power up the board via Power Jack (J11). I have two power adapters of 12V but it was very disappointing for me to see the label (5V only). Then I found another possible way out that is powering the board via Micro-USB.
Recommendation 1:
Manufacture should modify the external power option from 5V to 12V. Because in general, 12V adopter is more common and also for longer operating circumstance , end user can also use smart rechargeable 12V Li-Po Battery pack.
Electronics Components and Hardware Design:
Already there is lot of discussion in the already posted RoadTest Reviews about electronics modules, components and connectors of BASYS MX3 Trainer Board. There is only critical comments about the the constituent parts of the board and design.
.
PIC32MX370F512L Microcontroller:
The key component of Microcontroller based Trainer or development Kit is it self Microcontroller. Now there is lot of variety in the feature of Microcontrollers but good Microcontroller has all common features of moder families and also some specialized functional blocks to attract the user,
PIC32MX370F512L Microcontroller is a 32-bit chip in 100 pin package with sufficient on-chip memory (128K RAM and 512K Flash), lot of GPIOs, Analog block, Serial communication channels and 120 MHz/150 DMIPS performance, that is all necessary to develop a complex embedded application. Moreover, it offer specialized Audio/Graphics/Touch HMI features to develop a robust audio or Graphics display specific embedded systems.
Mass Storage (4 MB SPI Flash):
The mostly Trainer board provides the facility of SD/MMC card as Mass storage unit. But there is also a good alternative in the form of high speed SPI Flash in BGA package, i.e., S25FL132K with a capacity of 4 MByte. It operates up to 50 MHz in Normal and up to 108 MHz in Fast Read Mode. The size and speed is enough to store and retrieve the data
Motor Driver
Motor control is now an essential feature of any industrial or consumer electronics product. Now a days vert sophisticated motor controller and drivers are available for system designer to develop an efficient motor control sub system with less complicated piece of firmware.
DRV8835 Dual Low-Voltage H-Bridge motor driver (IC 7 on bottom side) is available in tiny 12-pin WSON package for to learn about the control of a stepper motor and also up to two DC motors. It provides 1.5-A Maximum Drive Current Per H-Bridge.
Recommendation 2:
Replace DRV8835 with DRV8825 i.e., Micro-stepping Stepper Motor controller with more functionality but also associate with the issue of 4-layer PCB as Heat Sink.
Interactive User Input/Out Interface (HMI) Block:
Display and User Input components are very important in the process of embedded system development in both ways i.e., as Debugging tool or as Human machine interface. No doubt , manufacturer has tried to include all basic optical displays from LED to Character LCD. Similarly, there is a Potentiometer, 5 Push buttons and 7 Rocker switches to take certain user input.
Recommendation 3:
The manufacturer should replace fragile Rocker switches and Potentiometer with better quality and industrial grade alternatives. Because, these components are not as per price of the BASYS MX3 Trainer Board. Because, low quality switches and POT are damaged after some time and such issue causes not only a bad name for the product but also for the manufacturer. An example of goog Potentiometer is PmodENC.
Recommendation 4:
LCD and 7-Segment Display can also be replaced with SPI based small This revision will cause to available more than 10 GPIO for other purpose.
Audio Signal Processing Block:
The excellent feature of this Board is its Audio block that is comprised of a Microphone, Speaker and Line out connection. The presence of good quality audio components i.e., Audio Amplifier IS31AP4991 and Analog Microphone Knowles SPA2410LR5H with volume control is helpful to any new learner and as well as to the student to learn about basic of Digital signal processing with fundamentals of Audio Signal processing. User can easily learn out the audio signal acquisition and audio generation.
Recommendation 5:
The manufacturer of the board can also introduce the Array of 4/8 Microphone and also Array of 4/8 Micro-Speaker to in additional bundle or as a separate module to not only to give an opportunity to learners to understand about Array Signal Processing but also for value addition of the Kit.
Connectivity and Expansion Connectors:
There are lots of possibilities for the addition of external interfaces and module thorough different on chip communication peripherals i.e., UART, I2C and SPI; and on-board necessary circuitry like FDTI USB-UART Chip, IRDA Tranceiver. in addition, several Analog and Digital Pins are available on PMOD A, PMOD B and Analog Discovery Connectors.
Recommendation 6:
J6 (SPI) and J7 (I2C ) connectors should be route to relatively at better position for better accessibility for expansion. Now J6 is just below the PMODA and J7 is at near to the middle of board. Both of connectors are not an easy to use without any disturbance of connectivity and placement of attached module.
Development Tools and Libraries:
The following web links are much useful for to start to learn this Trainer board with lots of resources and guidelines. These blogs and reviews are published by one of active participant "14rhb " of Element 14 to provide easement to other learners.
BASYS MX3 Trainer Board - Review
https://www.element14.com/community/roadTestReviews/3174/l/basys-mx3-trainer-board-review
Digilent BASYS MX3: #2 The LibPack Demo Projects
A Big Disappointment Arduino
First, I wanted to avoid the heavy installation of a complete tool chain of MPLAB and other tools. So I decided to upgrade the Arduino with Digilent Core for Arduino for Basys-MX3 after reading following weblink.
Installing the Digilent Core for Arduino
https://reference.digilentinc.com/learn/software/tutorials/digilent-core-install/start
I came to know after installation that, Arduino Bootloader should be flashed on the Basys-MX3. So, I had decided to install a full tool chain of MPLAB to program the bootloader that is available on following link
Basys-MX3-library/Arduino Bootloader/
https://github.com/Digilent/Basys-MX3-library/tree/master/Arduino%20Bootloader
After uploading the Arduino Bootloader, I tried many times to program simple code on the Basis MX3 but always I got a message on the screen about errors in bootloader. I spent 2-3 days to sort out this issue but failed. So I decided to use conventional methods of software development by using MPLAB tool chain.
A SIGH OF RELIEF (MPLAB Tool Chain and Basys-MX3 library master):
Basys-MX3 library master
I have explored the Basys-MX3 library master before starting to execute given sample programs on the board by using the MPLAB XIDE, IPE and XC32 on the backend. The documentation and structure of library code are much helpful to learn about the functions and its uses. Moreover, this library not only contains the basic function, but also all necessary higher abstraction functions as well that helps user to rapidly develop the desired application or further evaluation of the specific module or component.
MPLAB Tool Chain
I am interacting with Microchip development tools after many years. Now they are not less than their competitors. The addition of Harmony plugin that is similar to the Processor expert of Codewarrior or CubeMX of STM32 is a big advantage for user to rapid configuration of basic and advanced features of peripheral before starting of application development.
BASYS MX3 Trainer Board as Rapid Development Platform:
As I have earlier mentioned that my core objective to evaluate this board to estimate the probability to use it as an standalone commercial or industrial electronics system.
As per
The Sample Applications:
I have developed three different tasks by taking advantage of Accelerometer presences on the board and also Rocker switches/Push Buttons/Potentiometer. I have customized the demo project "ACLDemo.X" by adding files and code. The following tasks are included in the attached project.
Further Plan and Conclusion:
I have decided to discuss in detail about the theory, mathematical calculation and further enhancement above mention application tasks as separate blogs. Conclusively it is a very good product but still some margin of improvement.Further, the issue of Arduino core must be consider to be solve as soon as possible.