Close

Big progress on the background

A project log for TestLogger Collector

Datalogging device for designed RC car racing

jussi-luopajrviJussi Luopajärvi 02/07/2020 at 06:511 Comment

Finally I got my act together and write some update about the project. Even though I haven't written any updates, the project has progressed quite much, so here is an overview of the all the components.

Software

The software for desktop has been completely done from scratch to have more functionality, better user experience and to work cross platform. Previously the desktop app was just simple CLI app for Windows.

Because web technologies are close to my heart and from those I have the best understanding (still not good I would say), I decided to give a try for Electron to create the desktop application as it's Node.js based (First time using Node.js) and allows compiling for Mac, Windows and Linux from the same source code. This is a big benefit for me as I'm doing everything by myself.

So far I've had good experience with Electron and only downside has been the large application size (over 100MB). See https://www.electronjs.org for more info. If you quickly need to make simple desktop app, I definitely recommend to have a look. I'm not sure if it is enough for applications where high performance is needed, but looks really good for my use case.

So I made app called Connector which has two main features. First one is the data import from memory card and converting it to Motec i2 or CSV file format. Second feature is the configuration of logger. In the configuration section you can generate the config file via UA but you can also calibrate the device. In other words you connect the device via USB and it sends the current measurement values to the configuration application where you can use the numbers for calibration purposes.

Here is a video how it works.

Analysing too for the data is the tricky part. As mentioned I'm using Motec i2 which I think is a brilliant piece of SW, but no one else can use the file converter except myself. I have now contacted multiple tool vendors and asked if they have any interest to start co-operation with my project. Let's see if that brings any results.

Mean time I've been preparing for the worst which means I need to develop my own analysing tool. Probably I will create some simple prototype with Electron, Vue-grid-layout (see https://github.com/jbaysolutions/vue-grid-layout) and LightningChart (see https://www.arction.com/lightningchart-js/) to see if I could create my own analysing tool. But this is just an idea in my brains for the moment to get something done quickly and probably proper developers would kill me for this idea. Benefit of this would be to have both desktop and web interface for the analysing tool. Of course the possibility to use data either from remote DB or locally generated files. One thing I would like to achieve is easy sharing of data.

Firmware

As the base of the firmware was copied from the internet with my own additions on top of it, I felt that I needed to rebuild it from scratch. Also the original FW had its flaws. For example I had separate config files for the logger and data processor. Other problems were that you had one logging rate for all channels (not sensible to measure temperature with 2ms logging rate) and it file was in CSV format, which is not good from performance point of view.

So I have completely reworked the FW. It's still based on Chibios (see http://www.chibios.org) as I have now started to learn the way it works and the performance is good. Architecture of the FW is my own and of course still evolving when the time goes on. The main highlights are as follows.

I still have some challenges to sort out and mainly these are related how to handle the USB connection and config files. Also the FW doesn't handle error situations very well.

Data is written in binary format and I made a simple format how to write the data to SD card. Each measured sample is own package where the package size is 8 bytes. First four bytes includes header, channel id and data length. Last four bytes includes the data in integer format.

Hardware

So there is two different versions from the logger which are Mini and Full. Mini was completely redesigned at the end of last year. Main target was to minimise the footprint and still to have necessary channels to analyse driver behaviour. Assembled PCB weighs only 4.5 gramms and foot print is 21 x 26mm. It is logging steering, throttle, laptimes, motor RPM, G forces and angular speeds.

All the sensors are now modular. In other words this means that logging unit has JST-SH connectors for all external sensors and similar connector can be found from the sensor side. This allows to change the connecting wire very easily depending on the car used and needed cable length. it's easier to keep the wiring neat and tidy without making custom wiring looms for each car model.

But in general the hardware starts to be pretty stable and it's only minor tweaks and improvements I have done lately. More development would be needed on device cases and sensor brackets. 


That's all for this time, thanks for reading the update :)

Discussions

rmunday76 wrote 04/10/2020 at 02:11 point

Hi mate this is amazing!  I race in Australia and have been involved in full size racing in the past and we are lacking data capability in RC. I look forward to seeing more of your work and hope it can become available to the public someday!

  Are you sure? yes | no