Thank you for getting back to me. I would like to start off by saying a huge thank you to you and your team for the work you do. Companies like Adafruit and Parallax made a big impact on me while in school and I really appreciate your efforts. With regards to MAXREFDES89#, I would like to point out some features of the shield that may not be apparent at first and if you have any questions please let me know – Justin.

Flexibility of the shield
The design allows the user to evaluate the 3 different methods of current regulation offered by the MAX14871. Adding this flexibility did complicate the design a little, however I did abstract the user from this complication as best as possible by developing an mbed library that allows the user to interface with the shield using ‘set’ and ‘get’ functions relative to the operation of the MAX14871, not the configuration of the additional hardware that was needed to offer this flexibility. The library can be found at the following link.

In an actual application that has a pre-determined mode of current regulation selected, all of the silicon other than the MAX14871 could be replaced by pin-strapping the appropriate pins to their appropriate potentials for the mode.

Current regulation vs. Fault current
I would like to clarify the difference between the ‘fault’ current and the ‘regulation’ current. The ‘fault’ current is a fixed value of 6A typical and is not configurable by the user. This information is documented on page 10 of the MAX14871 datasheet along with the effects an over current condition has on the /FAULT pin.

The regulation current, Ilim, is used to set the current at which the integrated current regulation circuit will take control of the motor terminals. The current regulation is useful during start-up and transients, because the power supply sourcing the motor will not need to provide the additional energy required during those events, which to my knowledge could be 10-15 times the nominal running current of the motor at start-up by rule of thumb. We recommend the use of 25% ripple mode and I have documented the different modes at the following link with data.

When I first looked at the MAX14871, I struggled with the subtle difference between the modes of regulation, and the fault current, so I thought it was worth mentioning.

Power Supply
You can power your platform directly from the shield, there is no need for a USB tether, or an additional power supply for the platform in application. The MAX17501 regulates the P1 supply and provides ~6V at 500mA to Vin pin of the platform being used for revA of the shield which was targeted for mbed platforms.

After revA was released, I continued testing on Arduino platforms which appear to have a larger inrush current at Vin than the mbed platforms I tested on. This caused the MAX17501 to enter hic-up mode and the system wouldn’t come up when powered from the shield. I addressed this by increasing the soft-start cap, C4, to 0.1uF (over iteration of smaller values) which results in a soft-start time of ~20ms. Rev B will have this BOM change along with increasing Vin min at P1 to 8V and the output of the MAX17501 to 7V to comply with the recommended Vin of Arduino platforms. The BOM changes required to achieve this performance are provided in table 1.

Table 1: BOM Changes for MAX17501

PWM Signals
There is a situation where if the micro is held in reset and the MAX7300 IO expander remains powered, the motor driver will remain enabled while the PWM signals are floating because the micro is in reset, and I forgot to add pull-downs to them. Rev B will include these pull downs.

Users can modify revA as shown in Figure 1 with the pull-downs. The recommended mod is down stream of the configuration resistors for selecting which GPIO you would like to use. The default GPIO used for PWM and their alternates are documented at the previous link.

Figure 1: Pull-downs added to PWM signals.

We are angry, frustrated, and in pain because of the violence and murder of Black people by the police because of racism. We are in the fight AGAINST RACISM. George Floyd was murdered, his life stolen. The Adafruit teams have specific actions we’ve done, are doing, and will do together as a company and culture. We are asking the Adafruit community to get involved and share what you are doing. The Adafruit teams will not settle for a hash tag, a Tweet, or an icon change. We will work on real change, and that requires real action and real work together. That is what we will do each day, each month, each year – we will hold ourselves accountable and publish our collective efforts, partnerships, activism, donations, openly and publicly. Our blog and social media platforms will be utilized in actionable ways. Join us and the anti-racist efforts working to end police brutality, reform the criminal justice system, and dismantle the many other forms of systemic racism at work in this country, read more @ adafruit.com/blacklivesmatter

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.