Have you ever been burned by assuming a new component is a perfect match and seamless replacement for an existing controller?

  • Post author:
  • Post category:Blog

Recently, we encountered a situation involving the customization of the Arduino Nano BLE board. The project requirements were well-defined, documented, and successfully demonstrated on a test setup. We progressed through schematic design, Bill of Materials (BOM) generation, PCB layout finalization, and Gerber file creation. However, when it came to procuring components, we hit a roadblock: the primary IC “NINA-B306-00B” was out of stock.

In response, our procurement team explored alternative parts and settled on the “NINA-B306-01B” as a substitute. The key difference between the two components was the absence of a crystal in the newer version, which led to better low-power performance. This was not a concern since the project’s requirements specified normal power usage from a wall source. With this understanding, the technical team confidently approved the procurement of the alternate part.

Following the manufacturing of PCBs and assembly of components, the boards underwent testing. The client had developed code using the Arduino platform, and our testing involved running the client’s sample code on the boards. However, after each programming attempt, the board’s bootloader was being lost. We eventually identified the root cause: the readily available Arduino libraries were designed for BLE (Bluetooth Low Energy), not standard Bluetooth. As a result, the BLE commands were conflicting with the internal clock, causing crashes. It took nearly a week to diagnose and pinpoint this issue.

Once the problem was debugged, two potential solutions emerged. The first option involved replacing the main controller with the correct component from Chinese vendors. This approach, while viable, would entail ordering new components and waiting for them to arrive, which could take several additional weeks. The second option was to modify the library within a short span of two days. This would involve disabling the low-power commands to prevent clock conflicts.

This scenario serves as a reminder that even minor procurement misjudgments can lead to challenging project experiences. We communicated the situation to the client, who understood the issue and collaborated with us to find a solution. Feel free to share your own experiences related to board design and testing challenges.

PC: Mr.Srinivas, Team Lead, RioSH Technologies