Summary:
Target is to create a datalogging device for RC car racing and learn electronics at the same time. Main reason for this project to get started was the fact there is no datalogging device for RC cars. Hopefully some day this device is so good that it could be actually made as a commercial product.
Current prototype logs with 2ms and it can log transmitter signals (like steering, throttle), wheel speed with hall-effect sensors, temperature, battery voltage, damper movements, laptimes with splits, 3-axis accelerometer, 3-axis gyro.
Hardware:
First prototypes were being built on top of Python board 1.1 and I just made shields on top of that board with necessary connectors etc. This combination is a little bit too big for RC car racing but it's good enough prototyping things.
Second phase was to design a completely own board. I have already found out that I need to make different version for different types of cars. For example it's difficult to fit full scale device from 1/8th scale car to 1/12th scale car which has limited space and actually it doesn't need that many channels. Currently there is two versions called Base with limited amount of channels and Full with all possible channels.
To get laptimes I made a IR beacon with 555 IC and it sends IR signal with 38kHz and receiver is connected to the datalogging device. First version was simple transmitter with constant 38Khz pulse powered by AAA batteries. Second generation beacon has LiPo battery which can be charged via micro USB cable. Biggest change in second gen beacon is the ability to change how long 38Khz pulses will be sent and this allows split times as main laptime is using different pulse length than split points
HW is not only about the electronics and PCB. The system also needs brackets for sensors so the measurement quality can be ensured. For the moment these have been designed with Fusion 360 and 3D printed. My friend promised to help on this topic and I'll try to write a project update from this topic.
Firmware
Firmware is based on ChibiOS and current version of the firmware is based on this project but it's heavily modified from that with trial and error method :)
Completely new firmware is under work as now the requirements are known, so it makes sense to build something from scratch. Also my experience and knowledge with C is a bit better. Still a new firmware from scratch is a massive job.
Software
Current FW logs the data in CSV format so it can be used for example in excel, but I have also created a tool to convert CSV file to Motec i2 format. Unfortunately that is not a long term solution as it's violating Motec license agreement and it's not possible to share with anyone. One of the tools I'm using at work is Motec i2 Pro and I really like to UI of that tool. Additionally it's very capable tool do the analysing. Check their website for more info https://www.motec.com.au/i2/i2highlights/.
In the longterm I want to have a configuration tool with UI which does the data file conversion, calibration/configuration of the logging device and is connected to TestLogger to input the data. Additionally the data analysing is handled in testlogger.info.
Jussi,
Thanks, Looking forward to it. I suggest using tab separated, linefeed terminated lines. That goes into Excel and Sheets for quick looks of up to a million readings, and is easy to program. You have probably tried to program all the variations of comma separated or binary files and pulled out your hair.
One small adjustment I make to a tab separated file, is to put lines at the beginning to document the fields. Say you have five columns of data, then you would start the file with five rows of three columns each for the name of the field (tab) units for the field (tab) description of the field (linefeed) --- then a blank line and the tab separated data.
Parsing is trivial, and tab separated is the default for Excel and Sheets copy and paste or open.
As soon as you get some data, send me a message, and I will take a look. If I make a spreadsheet I can post that back to you. Or if I write a Javascript program that anyone can use. There does not seem to be a common data/content/reference area on HackaDay.IO, so everyone recreates the wheel and things do not get shared with the whole community. I would like to re-write their software so it enables, and does not slow down, group sharing and collaboration.
Richard Collins, The Internet Foundation