During the first stages of choosing the prototype´s components we stayed with the controller esp32 as it´s a powerful dual core mainstream controller with excellent support and wide community. To ensure interaction on the radio channel we tested our esp32 controller together with SIMCOM and A9G modems working on UART.
After researching and testing the possibility of our own firmware upgrade of the A9G modem we decided to avoid using a separate microprocessor and got two clear benefits
controller doesn’t occupy space and we can make our tracker smaller
we shouldn’t pay for the controller and it makes our tracker cheaper
However this decision led to some disadvantages as well. Working stability needed some checking and A9G manufacturer’s support was limited to outdated fan written SDK based on a pure C+ MicroPython port. It was probably possible (long struggling with memory leaks) to create more or less stable software in C language and official SDK, but it required significant time investments. So the first prototype was updated in MicroPython.
Our routine tests drew out an insecure flash-memory work of an A9G integrated controller and periodical freeze-ups. Moreover the built-up unit of satellite navigation is able to work only with GPS, taking in consideration that there are a lot of receivers in the market compatible with all systems available right now - GLONASS, BeiDou, Galileo. And working with different systems notably accelerates the cold start and positioning accuracy.
As a result we decided to develop a new tracker model based on esp32 mini and SIMCOM or Quelcom modems. We already chose a couple of models and will continue testing them. Along with that we have an idea of connecting to the scooter’s data bus line to be able to read the speed, battery level and the other data and also to block the scooter sending signals to the scooter’s ECU instead of power breaking.
We will update you about all the results of our experiments in future articles. So, stay tuned