This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Questions when mass producing a custom PCB and firmware that has similar functionality and different device info

Hi there~. This is Matthew! I saw a thread explaining that the production variants of the nRF52840 will first be available Q4 2017 at this link.

I was planning for BLE RC Car mass production that uses nRF52840 in the next year 2018. This RC Car uses the USB to store user's custom data so I chose the nRF52840. Also, the car will be controlled by a mobile BLE app. The app is also used for OTA firmware upgrade.

This is my concern; I have to produce RC cars that have 40 different covering cases.

All RC cars will have the nRF52840 on it to control motors but as shown from the example images,

Red

Blue

on top of the PCB, a red case, orange case, blue truck case will be mounted on each PCBs. Although the outer cases are different, each RC Cars will use the same battery input (4 AA batteries in series). After the RC car pairs with the BLE mobile app, the app is planned to distinguish what car cover is used.

The point is that the control part or the BLE service part of the firmware is identical, regardless of covering cases.

The problem is what trick or technique is needed to make the firmware/mobile app to distinguish what case it is using.

This is my first idea. Since I have 40 different covering cases, I have chosen 6 GPIO input pins (2^6=64 > 40) and connected them to 3V and GND.

The firmware reads the GPIO pins and sends the read value using BLE's NUS or DIS (Device Info Service, set the system id or HW revision string as the GPIO value).

However, I expect that this forces to make me take 40 times of FCC/CE certifications due to different HW connections. Even worse, if my client asks me to add extra series of covering cases, 6 GPIO pins will not be enough!

Will there be a better way to solve this problem like using CRYPTOCELL or flashing an ID into a place that is not affected by OTA firmware update?

I just want to create one Keil/SES project, not 40 or more!

Or is it not possible to create multiple projects or bypass multiple certification processes?

THANKS FOR READING THIS!

Parents
  • Hi there~. My client doesn’t want that scenario; the user has to scroll/search 40 items to choose the purchased car, an inconvenient scenario for the user.

    If the user bought 5 different types of RC cars, the user have to choose the covering case 5 times with the mobile app!

    Maybe creating a custom jig that reads the nRF52840’s 64-bit chip id with UART and sends it to a database is my next idea.

    Is there a better solution?

Reply
  • Hi there~. My client doesn’t want that scenario; the user has to scroll/search 40 items to choose the purchased car, an inconvenient scenario for the user.

    If the user bought 5 different types of RC cars, the user have to choose the covering case 5 times with the mobile app!

    Maybe creating a custom jig that reads the nRF52840’s 64-bit chip id with UART and sends it to a database is my next idea.

    Is there a better solution?

Children
No Data
Related