ClioSport.net

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

  • When you purchase through links on our site, we may earn an affiliate commission. Read more here.

Home Coding/Software Projects

SharkyUK

ClioSport Club Member
I don't know if there are many coders/programmers/software engineers on here but I thought I'd stick up a thread where said people might be interested in sharing stuff they are working on at home. I have seen similar threads on other forums and thought I'd try it here.

Anyone? Anything interesting to share? Any tech stack goes, projects big or small. (y)





I'll kick things off with a project I started on a month or two ago. With time currently on my hands I decided to make a prototype framework and application for command and control, tactical/mission planning, wargaming, modelling & simulation, situational awareness, and some other bits. It's a very early prototype and - naturally - I started on the fun bit (the renderer) once I had laid down the architecture for the core system.

It's a Windows desktop application and the application framework is C# (.NET10) and the UI uses WinUI3 (WindowsAppSDK). Everything else (rendering, streaming, geo-processing, entity processing, etc.) is C++ for optimal performance.

The 3D (and 2D) map views are fully and accurately geo-located, support various projects/datums and ellipsoid model conversions, and render on a dedicated render thread (so as not to block the UI and/or worker threads). It runs a DirectX12 renderer at present, although the system will be renderer agnostic. I have a Vulkan renderer in the pipeline but that will take a little while because Vulkan is a pain in the ass. The renderer supports map data layering and elevation data layering. I also implemented atmospheric scattering and aerial perspective to model atmosphere/particulate interaction; basically to make things look pretty. As the sun moves through the sky, it creates nice sunsets and sunrises as we see courtesy of real-world phenomena.

55561858746_d07b460f7e_o.jpg


55562258610_aaededafc4_o.jpg


I inadvertently ended up with a full planet renderer! :ROFLMAO: I can fly from outer space down to the ground with millimetre accuracy (although the rendered view fidelity very much depends on the resolution of the layered map and elevation data available). Map data (elevation and imagery) is streamed on demand and intelligently cached. The streaming, loading, and conversion of data is handled by separate worker threads that do not impact on the renderer or UI threads. Once the workers have prepared the data, they make it available for consumption by the renderer/GPU. All this is done with balancing and level-of-detail taken into account.

55562019969_e80c8027a0_o.jpg


55562258600_45f6d19628_o.jpg


I have a coarse worldwide data set in use for elevation data and imagery, but higher fidelity data sets for the UK. At present, I am using ~1m per pixel resolution LIDAR derived elevation data across the UK, and various imagery sets of different resolutions draped over the terrain (down to 1m street level in some cases). I am limited to what is freely available in the public domain.

The renderer can happily handle hundreds of thousands of entities displayed on the map, although that many is overkill in terms of real world use.

55560838707_6a6ae1936e_o.jpg


55561961603_058a0542bc_o.jpg


More recently, I have started to add the text/glyph rendering. A vector font is rendered into a high-resolution bitmap mask and a distance field computed. I can then render text/glyphs using a signed distance field texture on the GPU.

55565482753_3850257587_o.jpg


55565783835_8c022ce39a_o.jpg


Performance is solid and the technique keeps vector-like edges nice and crisp and text anti-aliased at arbitrary scales.

The prototype is designed so as not to be reliant on an Internet connection, and needs to be quickly deployable, scalable and flexible. Right now I am keeping everything running within an ~8ms frame time (120 FPS) but don't expect that to remain the case.

EDIT: All the APP-6 symbols are correctly built and rendered based on NATO Joint Military Symbology standards.
 
Very nice! Sun cast shadows and atmosphere look amazing.

What do you think will take up most of the frame time with further development?

Thank you mate. (y)

I think it's more a case of the underlying hardware. I am developing and running this on my RTX 5090 (ROG Astral OC) with 128GB of quad channel RAM, which is not going to be typical of the target hardware upon which it would likely to be deployed. This is largely theoretical at present, of course, I don't have a client or project lined up for this!

I have various features planned that can become pretty heavy at scale, and would easily cause the 5090 to exceed the 8ms frame time for sure! For example, some of the features require line-of-sight and sensor range sweeps, real-time generation of areas of influence or effect, that sort of thing. Or real-time visualisation of sensor range of radio nets and optimising Tx/Rx stations for best coverage, based on whether or not they can see each other. I would like to try and offload as much as I can to the GPU but, at some point, there will be CPU <-> GPU transfer of data that will need keeping in check. I have various ideas to explore here so it will be fun experimenting if nothing else.

For rendering, the current symbols are quite cheap as they are instanced geometry. As are the glyphs and text rendering. They scale comfortably into the thousands and tens of thousands. Or hundreds of thousands and 1 million plus on my 5090! 🫣 However, the symbols are only one of the possible representations of an entity or unit (or aggregation of entities). I have preliminary support for full 3D objects (non-animated at present, no need to make this a game engine just yet!) which can be rendered at real-world scale if needed, and accurately geo-located.

I just have to be careful to stop myself from turning this into another heavily-focused rendering project! 🫣:ROFLMAO:
 
Thank you mate. (y)

I think it's more a case of the underlying hardware. I am developing and running this on my RTX 5090 (ROG Astral OC) with 128GB of quad channel RAM, which is not going to be typical of the target hardware upon which it would likely to be deployed. This is largely theoretical at present, of course, I don't have a client or project lined up for this!

I have various features planned that can become pretty heavy at scale, and would easily cause the 5090 to exceed the 8ms frame time for sure! For example, some of the features require line-of-sight and sensor range sweeps, real-time generation of areas of influence or effect, that sort of thing. Or real-time visualisation of sensor range of radio nets and optimising Tx/Rx stations for best coverage, based on whether or not they can see each other. I would like to try and offload as much as I can to the GPU but, at some point, there will be CPU <-> GPU transfer of data that will need keeping in check. I have various ideas to explore here so it will be fun experimenting if nothing else.

For rendering, the current symbols are quite cheap as they are instanced geometry. As are the glyphs and text rendering. They scale comfortably into the thousands and tens of thousands. Or hundreds of thousands and 1 million plus on my 5090! 🫣 However, the symbols are only one of the possible representations of an entity or unit (or aggregation of entities). I have preliminary support for full 3D objects (non-animated at present, no need to make this a game engine just yet!) which can be rendered at real-world scale if needed, and accurately geo-located.

I just have to be careful to stop myself from turning this into another heavily-focused rendering project! 🫣:ROFLMAO:

Look forward to more updates! I'll have a couple images to post soon of my cad project.
 
Well that is coming along nicely mate, someone has been busy! :cool: Fair play! Are you still using the same library as before?
Thanks!! It's taking shape but I struggle with the code architecture a lot and sometimes don't make any progress for a while, I had the great idea of wanting it to be a SDK and go to Vulkan 😅 Very appreciative of the work you did not that long ago that helped start things off mate!

Screenshot 2026-10-07 195934.webp


Screenshot 2026-10-07 200316.webp


Screenshot 2026-10-07 200555.webp
 
Thanks!! It's taking shape but I struggle with the code architecture a lot and sometimes don't make any progress for a while, I had the great idea of wanting it to be a SDK and go to Vulkan 😅 Very appreciative of the work you did not that long ago that helped start things off mate!

View attachment 1802978

View attachment 1802981

View attachment 1802980

:ROFLMAO: Vulkan and in the form of an SDK... sucker for punishment! Vulkan is an absolute pain in the a$$. So much boilerplate code... hundreds and hundreds just to get the GPU initialised and something rendering on screen! I hate it, hence why I've gone DirectX12 for now. Hahaha, no worries - glad to help if just a little bit to try and give you a steer!
 
:ROFLMAO: Vulkan and in the form of an SDK... sucker for punishment! Vulkan is an absolute pain in the a$$. So much boilerplate code... hundreds and hundreds just to get the GPU initialised and something rendering on screen! I hate it, hence why I've gone DirectX12 for now. Hahaha, no worries - glad to help if just a little bit to try and give you a steer!

This picture is an accurate representation of the 2 😅

maxresdefault.jpg
 
After playing about with Ai and coding, I really wanted to tackle something more challenging. A silly amount of prompts, nights and hours and I now have a viable Lightroom alternative with masks, Ai denoise, accepts your previous Lightroom presets, handles raw, makes gifs, converts files etc all really handy. Masks are just editable as as the whole image. So really handy and I don’t have to pay £20 a month and I think this looks better than Lightroom tbh

Then as I’m waiting for Apple to finish their thing I thought I’d try at photoshop too. Came out well.

My eyes are burning now but if anyone wants to try it I’ll send you a 100% off code. I’m not doing sorting windows yet but the Mac and iOS apps are built.

Save monies

Sablefilm 1 - library_1.webp
Sablefilm Layers 2 - subject mask.webp
Sablefilm 4 - before and after_1.webp
Sablefilm 5 - print and export.webp
 

Attachments

  • Sablefilm iPhone.webp
    Sablefilm iPhone.webp
    65.5 KB · Views: 4
@SharkyUK What cpu do you have? I'm thinking of upgrading my 7800x3d to a 9950x3d as I won't be upgrading to a 5090 for a while with their prices currently.

I am currently back on my "old" CPU! :cry: I ordered an AMD Ryzen 9 9950X3D2 but it was DOA!!!! Since then, with the prices of RAM/hardware and still being out of work, I have put the upgrade on hold. The price of 128 or 256GB of DDR5 is eye-watering! Hence, I'm back on my quad-channel DDR4 X299 system with 128GB RAM, running an engineering sample Intel I9 7990X on X299 motherboard. It actually works phenomenally well for a 10 year-old CPU but it is a bottleneck when paired with my 5090 in some cases (mainly gaming). That said, a lot of my work is on the GPU anyway so it's not a big deal for professional stuff.

For purely professional and multicore tasks, the 9950X3D represents a significant performance leap. But only if you truly have tasks that utilise those extra cores and threads! For things like gaming, there isn't much difference at all and the 7800X3D is still a very capable CPU.
 
After playing about with Ai and coding, I really wanted to tackle something more challenging. A silly amount of prompts, nights and hours and I now have a viable Lightroom alternative with masks, Ai denoise, accepts your previous Lightroom presets, handles raw, makes gifs, converts files etc all really handy. Masks are just editable as as the whole image. So really handy and I don’t have to pay £20 a month and I think this looks better than Lightroom tbh

Then as I’m waiting for Apple to finish their thing I thought I’d try at photoshop too. Came out well.

My eyes are burning now but if anyone wants to try it I’ll send you a 100% off code. I’m not doing sorting windows yet but the Mac and iOS apps are built.

Save monies

View attachment 1803095View attachment 1803096View attachment 1803097View attachment 1803098
This looks really cool. Does it allow you to load in any previous Lightroom catalogues and keep any edits etc ?
 
I don't know if there are many coders/programmers/software engineers on here but I thought I'd stick up a thread where said people might be interested in sharing stuff they are working on at home. I have seen similar threads on other forums and thought I'd try it here.

Anyone? Anything interesting to share? Any tech stack goes, projects big or small. (y)





I'll kick things off with a project I started on a month or two ago. With time currently on my hands I decided to make a prototype framework and application for command and control, tactical/mission planning, wargaming, modelling & simulation, situational awareness, and some other bits. It's a very early prototype and - naturally - I started on the fun bit (the renderer) once I had laid down the architecture for the core system.

It's a Windows desktop application and the application framework is C# (.NET10) and the UI uses WinUI3 (WindowsAppSDK). Everything else (rendering, streaming, geo-processing, entity processing, etc.) is C++ for optimal performance.

That looks great - can appreciate the time and knowledge that has gone into that 👍 I've never got into any type of WinUI or graphics side of application development... my dotnet (6 > 8 > 10) has always been service/background/console applications, usually cross platform for Windows/Linux (mainly servers)

After playing about with Ai and coding, I really wanted to tackle something more challenging. A silly amount of prompts, nights and hours and I now have a viable Lightroom alternative with masks, Ai denoise, accepts your previous Lightroom presets, handles raw, makes gifs, converts files etc all really handy. Masks are just editable as as the whole image. So really handy and I don’t have to pay £20 a month and I think this looks better than Lightroom tbh

Then as I’m waiting for Apple to finish their thing I thought I’d try at photoshop too. Came out well.

My eyes are burning now but if anyone wants to try it I’ll send you a 100% off code. I’m not doing sorting windows yet but the Mac and iOS apps are built.

Did you have any background of programming beforehand? Which model have you been using? Regardless, looks spot on.

Oddly after I saw your post last night, I got suggested 'ArtCraft', https://github.com/storytold - I rarely use image editing/manipulation, usually video, but either way it's interesting to see rapid development on these sorts of things.



Quite the polar opposite of the above, I'm usually tinkering with embedded devices and development for the automotive use. This is mainly

This is mainly due to many frustrations with (expensive) products not performing as advertised, being vendor locked (Haltech) and missing / corrupting critical log files (engine failures) or simply just being overpriced junk.

At that point I had never done any real electronics or PCB design, so ended up learning the design side as I went. Getting a PCB to function as expected is one thing (as a DIYer), let alone making it suitable for an automotive environment.

Depending on the use case, either ESP32 or STM32 have been used as the MCU. This is then generally interfaced with CAN/LIN and ADCs for signal processing/data capture. The firmware is then built in C, normally using an RTOS (either FreeRTOS or ChibiOS).

Anything that resulted was/is directly in use on my (track/race) cars, friends cars and various other cars scattered around the world. I'll stick to a single example here, but there have been many other 'projects' over the past 5-6 years and each time the designs/functionality get more and more involved.

Generally most aftermarket ECUs are input limited, and if you want more than a handful of sensor inputs you need a way to do that. So this led into an ESP32 based analog signal to CAN interface, allowing the connection of up to 16x analog sensors, which in turn are processed and transmitted directly on to the CAN of the vehicle for other devices to consume as live values (ECU, PDM) or received by a logging device for later review.

1791556404647.webp
1791556418169.webp


With all the projects I generally get the whole thing (apart from the connector/MCU) assembled in China.

1791556955000.webp


These can then easily just go in a 3DP case and be like any other module, in my case sat behind the ECU.

1791556780488.webp


Being an ESP32, it has WiFi that can act as an access point - so it made sense to have a simple web UI for configuring each input, scaling, CAN address, etc. No need to remove it from the car or connect via USB.

1791557026326.webp


There are a number of these in regular use across many different set ups, but some small requests means v3 is already in the pipeline...

Oh, its also open source: https://github.com/f0xxxxxy/esp32-canboard
 
That’s epic.

I was using Claude, sonnet, opus and the fable models with chat gpt but chat gpt was absolute shite.

Edit- Oh I have zero background in software. Like f**k all.
 
Last edited:
That looks great - can appreciate the time and knowledge that has gone into that 👍 I've never got into any type of WinUI or graphics side of application development... my dotnet (6 > 8 > 10) has always been service/background/console applications, usually cross platform for Windows/Linux (mainly servers)



Did you have any background of programming beforehand? Which model have you been using? Regardless, looks spot on.

Oddly after I saw your post last night, I got suggested 'ArtCraft', https://github.com/storytold - I rarely use image editing/manipulation, usually video, but either way it's interesting to see rapid development on these sorts of things.



Quite the polar opposite of the above, I'm usually tinkering with embedded devices and development for the automotive use. This is mainly

This is mainly due to many frustrations with (expensive) products not performing as advertised, being vendor locked (Haltech) and missing / corrupting critical log files (engine failures) or simply just being overpriced junk.

At that point I had never done any real electronics or PCB design, so ended up learning the design side as I went. Getting a PCB to function as expected is one thing (as a DIYer), let alone making it suitable for an automotive environment.

Depending on the use case, either ESP32 or STM32 have been used as the MCU. This is then generally interfaced with CAN/LIN and ADCs for signal processing/data capture. The firmware is then built in C, normally using an RTOS (either FreeRTOS or ChibiOS).

Anything that resulted was/is directly in use on my (track/race) cars, friends cars and various other cars scattered around the world. I'll stick to a single example here, but there have been many other 'projects' over the past 5-6 years and each time the designs/functionality get more and more involved.

Generally most aftermarket ECUs are input limited, and if you want more than a handful of sensor inputs you need a way to do that. So this led into an ESP32 based analog signal to CAN interface, allowing the connection of up to 16x analog sensors, which in turn are processed and transmitted directly on to the CAN of the vehicle for other devices to consume as live values (ECU, PDM) or received by a logging device for later review.

View attachment 1803119 View attachment 1803120

With all the projects I generally get the whole thing (apart from the connector/MCU) assembled in China.

View attachment 1803122

These can then easily just go in a 3DP case and be like any other module, in my case sat behind the ECU.

View attachment 1803121

Being an ESP32, it has WiFi that can act as an access point - so it made sense to have a simple web UI for configuring each input, scaling, CAN address, etc. No need to remove it from the car or connect via USB.

View attachment 1803123

There are a number of these in regular use across many different set ups, but some small requests means v3 is already in the pipeline...

Oh, its also open source: https://github.com/f0xxxxxy/esp32-canboard
What does worry me about the things like electronics and mechanical design is the potential f**k ups that people let AI make without the knowledge or experience to know its made them. This is especially true in a harsh automotive type environment.

Your PCB for example may work but it wouldn't pass design review in my company for example. Software is very interesting but again there are genuine security concerns and I'm not 100% people know to check or even where to check.

I think the industry will move more and more towards having senior people in positions who are able to check the output, which is something juniors generally can't do, and that might work for a while but then there won't be any juniors moving into senior positions so its a bit of a mid/long term worry.

I did a small home project recently and thought I would try out the Kicad/GPT6 work flow, i've been a mix of really impressed and equally really frustrated by the output. It did a dog s**t job of the PCB layout and schematic but a really great job picking components and component values.
 
That looks great - can appreciate the time and knowledge that has gone into that 👍 I've never got into any type of WinUI or graphics side of application development... my dotnet (6 > 8 > 10) has always been service/background/console applications, usually cross platform for Windows/Linux (mainly servers)



Did you have any background of programming beforehand? Which model have you been using? Regardless, looks spot on.

Oddly after I saw your post last night, I got suggested 'ArtCraft', https://github.com/storytold - I rarely use image editing/manipulation, usually video, but either way it's interesting to see rapid development on these sorts of things.



Quite the polar opposite of the above, I'm usually tinkering with embedded devices and development for the automotive use. This is mainly

This is mainly due to many frustrations with (expensive) products not performing as advertised, being vendor locked (Haltech) and missing / corrupting critical log files (engine failures) or simply just being overpriced junk.

At that point I had never done any real electronics or PCB design, so ended up learning the design side as I went. Getting a PCB to function as expected is one thing (as a DIYer), let alone making it suitable for an automotive environment.

Depending on the use case, either ESP32 or STM32 have been used as the MCU. This is then generally interfaced with CAN/LIN and ADCs for signal processing/data capture. The firmware is then built in C, normally using an RTOS (either FreeRTOS or ChibiOS).

Anything that resulted was/is directly in use on my (track/race) cars, friends cars and various other cars scattered around the world. I'll stick to a single example here, but there have been many other 'projects' over the past 5-6 years and each time the designs/functionality get more and more involved.

Generally most aftermarket ECUs are input limited, and if you want more than a handful of sensor inputs you need a way to do that. So this led into an ESP32 based analog signal to CAN interface, allowing the connection of up to 16x analog sensors, which in turn are processed and transmitted directly on to the CAN of the vehicle for other devices to consume as live values (ECU, PDM) or received by a logging device for later review.

View attachment 1803119 View attachment 1803120

With all the projects I generally get the whole thing (apart from the connector/MCU) assembled in China.

View attachment 1803122

These can then easily just go in a 3DP case and be like any other module, in my case sat behind the ECU.

View attachment 1803121

Being an ESP32, it has WiFi that can act as an access point - so it made sense to have a simple web UI for configuring each input, scaling, CAN address, etc. No need to remove it from the car or connect via USB.

View attachment 1803123

There are a number of these in regular use across many different set ups, but some small requests means v3 is already in the pipeline...

Oh, its also open source: https://github.com/f0xxxxxy/esp32-canboard
Oh hello!

I wrote something similar with my teensy device and log 70 can channels are varying speeds upto 100hz to a SD card for later analysis. Mine didnt pass Robs scruntineering either :

1791567647186.webp

1791567667788.webp
 
100Hz - phff

Do 70 channels at 1Khz and it might pass.

But more seriously, you're just logging temporality, its very different to designing a PCB and having it hardwired to your car. I know f**k all about software so what it can do is still magical to me but I've seen some proper dog shite churned out over the past few weeks by people that frankly shouldn't even turn a computer on.

You point out an obvious mistake its made and they go "Yea, but AI said it was ok" and look at you like a mongo.
 
That’s epic.

I was using Claude, sonnet, opus and the fable models with chat gpt but chat gpt was absolute shite.

Edit- Oh I have zero background in software. Like f**k all.
I've said this to you separately but I can't believe how greedy the new GPT 6 is! STOP USING MY CREDITS YOU c**t.

Nerd in the office has Claude hooked upto GPT and Gemini, he gets one to write some code and then the other two review it, they all got into a proper argument the other day "I strongly disagree with this approach" 😂 Then went round in circles for a while. Was impressive none the less and what came out was better than using just one.
 
100Hz - phff

Do 70 channels at 1Khz and it might pass.

But more seriously, you're just logging temporality, its very different to designing a PCB and having it hardwired to your car. I know f**k all about software so what it can do is still magical to me but I've seen some proper dog shite churned out over the past few weeks by people that frankly shouldn't even turn a computer on.

You point out an obvious mistake its made and they go "Yea, but AI said it was ok" and look at you like a mongo.
You make a fair point on AI. It cant replace knowledge. You have to have an idea about what you want to achieve and how to achieve it. Otherwise how can you quantify that its correct?
 
What does worry me about the things like electronics and mechanical design is the potential f**k ups that people let AI make without the knowledge or experience to know its made them. This is especially true in a harsh automotive type environment.

Your PCB for example may work but it wouldn't pass design review in my company for example. Software is very interesting but again there are genuine security concerns and I'm not 100% people know to check or even where to check.

I think the industry will move more and more towards having senior people in positions who are able to check the output, which is something juniors generally can't do, and that might work for a while but then there won't be any juniors moving into senior positions so its a bit of a mid/long term worry.

I did a small home project recently and thought I would try out the Kicad/GPT6 work flow, i've been a mix of really impressed and equally really frustrated by the output. It did a dog s**t job of the PCB layout and schematic but a really great job picking components and component values.

Yes, works absolutely fine, but exactly why I'm not an electrical designer nor ever intend to be. I don't use AI personally, for design or code. Interested to hear some actual context on the 'security concerns'....

I just use KiCad, reading data sheets for component sizing and then trial/error. I want to know what its doing and how it works, thats where the interest lies. It's a hobby, not product for sale or a business. Aside from that, GPT can't even generate a basic flow diagram at the best of times, let alone a schematic or PCB.

The unfortunate thing is, this 'hobby' stuff works 50x better than stuff I've paid £1000s for in aftermarket automotive sector, and has for 5-6 years now, before AI was even a necessity for a lot of people... but half the commercial kit out there people arent using to the full extent, and never 'notice' problems anyway, so they never get fixed.

The fact is the majority aftermarket ECUs CAN output is fixed 50hz as a median value (Maxx, EMU, Haltech, etc), so for a general persons use case you'll never be logging quicker than that unless you just want duplicate rows. Sure, the firmware can sample as quick as you like, the basic ADS7830 and ESP32 will sample at 1khz without much effort, but it's wasted processor time when the primary measuring points are NTCs and pressure transducers, nothing changes that quick - that's the main reason behind the 8bit ADCs too, rather than 12bit, ultimate precision isn't required for those type of sensors.

Basic signals are one thing, but the more worrying is the explosion of PDMs with very high claimed currents into the automotive space over the past 12 months, obviously all AI slop without real testing in any capacity, no doubt using some form of automatic electrical/PCB layout design. Then to go with it some AI generated configuration software with bugs left right and center... it's just a real fire waiting to happen... On the flip side, ive been running commercial PDMs up to at and their current limits for years without a single issue, but they were developed by real people....

Its opened up a whole new world for a lot of things, but people don't realise when to leave things alone. Just the other day I've seen AI being used to decompile ABS firmware, letting it attempt to strip, comment and document the code, suggesting patches to the raw firmware, then mechanism to be recomplied with the signing key to be flashed back on to the unit. How stupid do you have to be to start messing with critical control software that Bosch/Conti have spent millions developing...?
 
Oh hello!

I wrote something similar with my teensy device and log 70 can channels are varying speeds upto 100hz to a SD card for later analysis. Mine didnt pass Robs scruntineering either :

View attachment 1803139
View attachment 1803140
🤣 If it works for what you need, it works.

I log circia ~370 channels at 100hz to SD in binary from ECU, 2x PDMs and a few other CAN devices, which has been reliable for many years. Yes it's had many iterations of the firmware... but it works. The same can't be said for the various commercial loggers I've bought over the years, with corrupt files, missed log starts or out of sync data - so in any case you would speak to the manufacturer... but its always the end users fault, right?
 
Yes, works absolutely fine, but exactly why I'm not an electrical designer nor ever intend to be. I don't use AI personally, for design or code. Interested to hear some actual context on the 'security concerns'....

I just use KiCad, reading data sheets for component sizing and then trial/error. I want to know what its doing and how it works, thats where the interest lies. It's a hobby, not product for sale or a business. Aside from that, GPT can't even generate a basic flow diagram at the best of times, let alone a schematic or PCB.

The unfortunate thing is, this 'hobby' stuff works 50x better than stuff I've paid £1000s for in aftermarket automotive sector, and has for 5-6 years now, before AI was even a necessity for a lot of people... but half the commercial kit out there people arent using to the full extent, and never 'notice' problems anyway, so they never get fixed.

The fact is the majority aftermarket ECUs CAN output is fixed 50hz as a median value (Maxx, EMU, Haltech, etc), so for a general persons use case you'll never be logging quicker than that unless you just want duplicate rows. Sure, the firmware can sample as quick as you like, the basic ADS7830 and ESP32 will sample at 1khz without much effort, but it's wasted processor time when the primary measuring points are NTCs and pressure transducers, nothing changes that quick - that's the main reason behind the 8bit ADCs too, rather than 12bit, ultimate precision isn't required for those type of sensors.

Basic signals are one thing, but the more worrying is the explosion of PDMs with very high claimed currents into the automotive space over the past 12 months, obviously all AI slop without real testing in any capacity, no doubt using some form of automatic electrical/PCB layout design. Then to go with it some AI generated configuration software with bugs left right and center... it's just a real fire waiting to happen... On the flip side, ive been running commercial PDMs up to at and their current limits for years without a single issue, but they were developed by real people....

Its opened up a whole new world for a lot of things, but people don't realise when to leave things alone. Just the other day I've seen AI being used to decompile ABS firmware, letting it attempt to strip, comment and document the code, suggesting patches to the raw firmware, then mechanism to be recomplied with the signing key to be flashed back on to the unit. How stupid do you have to be to start messing with critical control software that Bosch/Conti have spent millions developing...?
My 1Khz comment was a tongue in cheek reply to Andy. I don't understand your 50hz median comment. Maxx ecu can do 500 kbps and can be set at 1000kbps. And of course if you're sampling at 50Hz that doesn't mean you can measure a signal at 50Hz, more like 10Hz and there's lots of good info from a pressure traducer you miss out on depending on application.

Like I said I am not a programmer, I work with a lot of programmers though and they have various daily security concerns over programs written using Ai running on our network (in the office), for example anything which is sending or receiving data from 'the cloud', or even a cloud application - what data is being send and received, exactly? How is that information being stored? How secure is it really? Most times non programmers are unable to answer the question, they have to go away for a chat, half the time GPT or whatever goes "Oh yea, good point, instead lets do xyz".

I've written various programs using GPT and i'm amazed by the quality of the output but I am the first to admit I know nothing deeper than telling it what I want to achieve.

I'm sure your PCB works fine, I've looked over the schematic and there are a number of issues which don't stop it functioning under normal conditions, but various that would absolutely stop it working under abnormal conditions, one which will release the magic smoke and possibly burn wires.

If you have any interest, or would sincerely like to learn more as you say then you are welcome to PM me and I would be happy to spend an hour listing and explaining how and why, everyone starts somewhere and I've learnt more from experienced people over the past 20 years than I could ever repay.
 
PS fully agree with the PDM comment. I know several new ones (probably the ones you are thinking of) and would have very little faith in them. None of them are compliant to anything either, they aren't emc tested or stress tested or anything that an OEM would be required to do.

The sad bit is they are cheap, so if someone popped along with a genuinely good bit of kit that was properly tested and totally fit for purpose then it would just be shadowed by all the cheap ones with all the FB marketing.
 
🤣 If it works for what you need, it works.

I log circia ~370 channels at 100hz to SD in binary from ECU, 2x PDMs and a few other CAN devices, which has been reliable for many years. Yes it's had many iterations of the firmware... but it works. The same can't be said for the various commercial loggers I've bought over the years, with corrupt files, missed log starts or out of sync data - so in any case you would speak to the manufacturer... but its always the end users fault, right?
I dont have that many channels to log! I dont log in binary , I dump it to CSV so its easier to read. This one appears solid too. I need to increase the GPS refresh mind. Ill tweak that.

I had a bit of a poor show from a company who wouldnt explain a few things so I did a big FU and build and wrote my own software with hardware.
 
I am currently back on my "old" CPU! :cry: I ordered an AMD Ryzen 9 9950X3D2 but it was DOA!!!! Since then, with the prices of RAM/hardware and still being out of work, I have put the upgrade on hold. The price of 128 or 256GB of DDR5 is eye-watering! Hence, I'm back on my quad-channel DDR4 X299 system with 128GB RAM, running an engineering sample Intel I9 7990X on X299 motherboard. It actually works phenomenally well for a 10 year-old CPU but it is a bottleneck when paired with my 5090 in some cases (mainly gaming). That said, a lot of my work is on the GPU anyway so it's not a big deal for professional stuff.

For purely professional and multicore tasks, the 9950X3D represents a significant performance leap. But only if you truly have tasks that utilise those extra cores and threads! For things like gaming, there isn't much difference at all and the 7800X3D is still a very capable CPU.

I would have laughed if someone had said that ram will start to cost around 1k for 64gb and for 256gb of ECC ram easily over 10k. What a joke..
 
My 1Khz comment was a tongue in cheek reply to Andy. I don't understand your 50hz median comment. Maxx ecu can do 500 kbps and can be set at 1000kbps. And of course if you're sampling at 50Hz that doesn't mean you can measure a signal at 50Hz, more like 10Hz and there's lots of good info from a pressure traducer you miss out on depending on application.

Sorry OK - So not CAN transciever speed, they'll all do 250/500/1000kbps, some even down at 125kbps - which I actually use in the Porsche as the comfort network runs at this (Electric windows, cluster, body, etc), but that isn't actually true differential CAN per se, its FTCAN that can operate in single wire mode, however same 11bit identifiers. For context, I have to emulate OE messages on this low speed bus, so the electric windows actually function, as the rest of the OE car does not exist. If I do not send these messages, the windows are stuck fully down.

These level of ECUs (£1-3k) generally have a standard output CAN stream of critical data that you don't have to configure, irrespective of configured bus speed. Most of them fix important fields (RPM, Ignition, Fuel, Lambda) loop transmission at 50hz output rate, and most other fields at 10hz (Temperatures, Pressures). Some output the critical fields quicker, for example EMU will do a handful at 100hz, and some as low as 5hz. But generally, the median comes out around 50hz across all of these "default stream" fields.

1791580225842.webp


Outside of that, you can add whatever you want that isn't included in the "standard" set of data, up to a certain limit. On all of these ECUs there are hard memory and CPU constraints, and you can usually only configure 32 or 64 "custom" CAN outputs, that number sometimes depends on what output rate you select at the time (anywhere from 1hz > 200hz).

I have no OE modules on the car, but have around ~110 messages on the bus, at various transmission rates, containing around ~460 signals. Some are things I have no interest or need in logging, I just log whatever I think may be useful in case of an issue or later review. Most ECU/PDM will show you the loading at the current bus speed, in my case 500kbps it hovers around 60-65% loaded... so running at 1000kbps would just halve that load, giving you more bus capacity for more signals. The transmitters set the signal frequency, the bus speed is arbitrary to contain them.

So as an example of missing data due to low rate would be the crankcase pressure on the Porsche... I monitor and log the crankcase pressure in three locations with three identical sensors. One in the actual crankcase, one after the first oil seperator, and one after the second oil seperator. The second seperator leads to the airbox (atmosphere). I had a small restrictor in the final stage, to limit the draw against the crankcase, so I don't lose efficiency in the seperators, but wanted to "tune" the optimal size of it. At the time I was sampling those three sensors at 100hz, but only transmitting them at 25hz. The values followed each other, but without much detail. I increased this to 50hz, and saw on some occasion the primary (block) sensor would spike momentarily, but not every time. I increased the rate again to try and catch it every time (i.e transients in the crankcase on harsh throttle off), but it made no difference - at that point the cheap Bosch/OE sensor was the bottleneck, not the sample rate... hey ho.

Like I said I am not a programmer, I work with a lot of programmers though and they have various daily security concerns over programs written using Ai running on our network (in the office), for example anything which is sending or receiving data from 'the cloud', or even a cloud application - what data is being send and received, exactly? How is that information being stored? How secure is it really? Most times non programmers are unable to answer the question, they have to go away for a chat, half the time GPT or whatever goes "Oh yea, good point, instead lets do xyz".

I've written various programs using GPT and i'm amazed by the quality of the output but I am the first to admit I know nothing deeper than telling it what I want to achieve.

This isn't a dig at you - but generally this is the "real" AI coding problem. You should really understand programming, at least at a basic level, rather than letting it write whatever (good or bad) code and just letting it run free. If you understand the logic, and review it - you've both saved (a lot) of time, and got something good from it. Otherwise, it could literally be anything. I've been programming for over 20 years - C/C++ was never something I really needed across that time, but I understand it and the same principals apply.

I run a business in tech - managing hundreds of other businesses IT infrastructures, with hundreds of users in some of those. In the past 18-24mo I see what you have described day in day out - questioning things that should not be questioned, and never would have been before AI. In reality, if someone is asking those questions regarding security, especially with company data, they shouldn't be doing what they are attempting without knowing the best practices first. But that principal has never changed, it's just got a whole load worse, very quickly, with open access to the platforms.

We've even had multiple cases where an internal developers have "wrote some code with AI" to analyse/report on a companies data, and because they didn't understand it, assumed it was read only and just ran it - in turn actually removed data and took live production offline... then we get asked how did it happen!

I'm sure your PCB works fine, I've looked over the schematic and there are a number of issues which don't stop it functioning under normal conditions, but various that would absolutely stop it working under abnormal conditions, one which will release the magic smoke and possibly burn wires.

If you have any interest, or would sincerely like to learn more as you say then you are welcome to PM me and I would be happy to spend an hour listing and explaining how and why, everyone starts somewhere and I've learnt more from experienced people over the past 20 years than I could ever repay.

Like I say, it's a hobby and what you see is all DIY and reading. It's not something I've been taught... so sure if you have some time, any help would be welcome. No rush at all.

PS fully agree with the PDM comment. I know several new ones (probably the ones you are thinking of) and would have very little faith in them. None of them are compliant to anything either, they aren't emc tested or stress tested or anything that an OEM would be required to do.

The sad bit is they are cheap, so if someone popped along with a genuinely good bit of kit that was properly tested and totally fit for purpose then it would just be shadowed by all the cheap ones with all the FB marketing.

I've primarily used LifeRacing and ECUM PDM16. Flawless operation and continual feature additions/upgrades still to this day. But there are too many on the market now - you know if they are running social media promotions for a product like that it has to be total junk, the real players in the game are already established and don't need to push advertisement.

The sh*t will hit the fan when someones car sets on fire and they post on social media. It's the same as one ECU manufacturer developing their own aftermarket "affordable" ABS solution (attempting to replicate Bosch M4/M5) and in turn someone having a huge accident due to a problem with the unit...

I dont have that many channels to log! I dont log in binary , I dump it to CSV so its easier to read. This one appears solid too. I need to increase the GPS refresh mind. Ill tweak that.

A little different but for GPS we use a commercial "off the shelf" automotive GPS to CAN module on a number of cars as they just work. We know the data sitting on the bus is always going to be there and accurate, and it's just down to logging it.

We got to a point where the log files were getting quite large in CSV with that many channels (over 40-50 minutes on track), that the log analysis software we were using wasn't having any of it (old but gold). I then found this software would accept many file types, so just switched to one of the binary formats it supported, and literally reduced the file sizes by 8-9x.

Hindsight we don't use it anymore, and I just created a little helper application to drag and drop the files on to in Windows that converts the files to CSV (or whatever format you wish) on the computer side instead.

I never need all the channels, but useful to have in case of an engine failure or issue to cross correlate against everything to find the cause...

I had a bit of a poor show from a company who wouldnt explain a few things so I did a big FU and build and wrote my own software with hardware.

Exactly the same as us, but not just one company - multiple over the years. We're not running £500k race teams or £250k racing cars. It's a hobby for us and we just want reliable data/information as to what is going on - yes it's more than your normal average Joe, but it's why we can do 10-15 days a year and drive them flat out without issue...
 
A little different but for GPS we use a commercial "off the shelf" automotive GPS to CAN module on a number of cars as they just work
Any suggestions? I use one thats powered by my 3.3v output on the teensy. Max I cad do is 5hz.
We got to a point where the log files were getting quite large in CSV with that many channels (over 40-50 minutes on track), that the log analysis software we were using wasn't having any of it (old but gold).
I have this. Its about 20MB for 15 minutes but I cheat and wrote my own tool to review the logs and also a judicious amount of ClaudePilotGPT helps!

I have written several variants that do snippets if I am on a dyno so look for WOT pulls , or circuit

WOT analysis
1791585139154.webp


Track analysis
1791585023925.webp
 
Any suggestions? I use one thats powered by my 3.3v output on the teensy. Max I cad do is 5hz.

https://www.ecumaster.com/products/gps-to-can-v2/ - Keep an eye out on eBay, they come up from time to time second hand. Regardless, they just work and has been perfect, 25hz. It's acelleration data is also comparable to the accel directly inside my ABS pump, it's just a fit and forget solution really.

I have this. Its about 20MB for 15 minutes but I cheat and wrote my own tool to review the logs and also a judicious amount of ClaudePilotGPT helps!

I have written several variants that do snippets if I am on a dyno so look for WOT pulls , or circuit

WOT analysis
View attachment 1803170

Track analysis
View attachment 1803169

Nice - I'm into around 100MB for 30 minutes give or take in CSV. Usually a 30-40 minute session on circuit is anywhere 100-120MB, but thats down about 8-9x in binary. The ESP32 can do the SD writes and processing in CSV no issue at that speed, it was just the review side was the issue at the time.

I have always used MegaLogViewer for a very very long time for the scatter plots mainly, it's properly old school but just works. However it's showing its age now. I've been using TS Log View more recently, which is no doubt AI coded - but has a much better UI for quick review. Problem is, it was all free to begin with, and now they've started locking out features for "subscription only", albeit stuff I'd never use.

1791585965888.webp


Anywhere I can set up pre-set graphs and know what I am looking for quickly "on the day" is good for me, because once I have checked X Y Z it gets shut again until after the fact, unless there is a problem.

I could no doubt put something together, but just need the time to do it 🤦‍♂️
 
https://www.ecumaster.com/products/gps-to-can-v2/ - Keep an eye out on eBay, they come up from time to time second hand. Regardless, they just work and has been perfect, 25hz. It's acelleration data is also comparable to the accel directly inside my ABS pump, it's just a fit and forget solution really.
Interesting. I am toying with a racebox mini and a bluetooth for my dash to see how that goes. However Ill certainly look out for this and see what I can do.

Anywhere I can set up pre-set graphs and know what I am looking for quickly "on the day" is good for me, because once I have checked X Y Z it gets shut again until after the fact, unless there is a problem.
Exactly what I use mine for! Not for the good stuff just for when things arent working as they should or I change something!
 
Interesting. I am toying with a racebox mini and a bluetooth for my dash to see how that goes. However Ill certainly look out for this and see what I can do.

If you can get the data at a reasonable rate, anything is possible really. I've been using the GPS module for a number of years, and at the end of last year started to experiment with using the data to produce timing data on the logger, live in firmware.

I don't see it as I'm driving - but I get an additional log file along side my normal data log with the lap data in it now, and it's essentially exactly the same as my actual circuit transponder.

1791587337240.webp


Interesting to learn how the lap timing devices actually work, and how relatively simple it is (time and heading) to calculate the lap data.
 
😂Sorry OK - So not CAN transciever speed, they'll all do 250/500/1000kbps, some even down at 125kbps - which I actually use in the Porsche as the comfort network runs at this (Electric windows, cluster, body, etc), but that isn't actually true differential CAN per se, its FTCAN that can operate in single wire mode, however same 11bit identifiers. For context, I have to emulate OE messages on this low speed bus, so the electric windows actually function, as the rest of the OE car does not exist. If I do not send these messages, the windows are stuck fully down.

These level of ECUs (£1-3k) generally have a standard output CAN stream of critical data that you don't have to configure, irrespective of configured bus speed. Most of them fix important fields (RPM, Ignition, Fuel, Lambda) loop transmission at 50hz output rate, and most other fields at 10hz (Temperatures, Pressures). Some output the critical fields quicker, for example EMU will do a handful at 100hz, and some as low as 5hz. But generally, the median comes out around 50hz across all of these "default stream" fields.

View attachment 1803161

Outside of that, you can add whatever you want that isn't included in the "standard" set of data, up to a certain limit. On all of these ECUs there are hard memory and CPU constraints, and you can usually only configure 32 or 64 "custom" CAN outputs, that number sometimes depends on what output rate you select at the time (anywhere from 1hz > 200hz).

I have no OE modules on the car, but have around ~110 messages on the bus, at various transmission rates, containing around ~460 signals. Some are things I have no interest or need in logging, I just log whatever I think may be useful in case of an issue or later review. Most ECU/PDM will show you the loading at the current bus speed, in my case 500kbps it hovers around 60-65% loaded... so running at 1000kbps would just halve that load, giving you more bus capacity for more signals. The transmitters set the signal frequency, the bus speed is arbitrary to contain them.

So as an example of missing data due to low rate would be the crankcase pressure on the Porsche... I monitor and log the crankcase pressure in three locations with three identical sensors. One in the actual crankcase, one after the first oil seperator, and one after the second oil seperator. The second seperator leads to the airbox (atmosphere). I had a small restrictor in the final stage, to limit the draw against the crankcase, so I don't lose efficiency in the seperators, but wanted to "tune" the optimal size of it. At the time I was sampling those three sensors at 100hz, but only transmitting them at 25hz. The values followed each other, but without much detail. I increased this to 50hz, and saw on some occasion the primary (block) sensor would spike momentarily, but not every time. I increased the rate again to try and catch it every time (i.e transients in the crankcase on harsh throttle off), but it made no difference - at that point the cheap Bosch/OE sensor was the bottleneck, not the sample rate... hey ho.



This isn't a dig at you - but generally this is the "real" AI coding problem. You should really understand programming, at least at a basic level, rather than letting it write whatever (good or bad) code and just letting it run free. If you understand the logic, and review it - you've both saved (a lot) of time, and got something good from it. Otherwise, it could literally be anything. I've been programming for over 20 years - C/C++ was never something I really needed across that time, but I understand it and the same principals apply.

I run a business in tech - managing hundreds of other businesses IT infrastructures, with hundreds of users in some of those. In the past 18-24mo I see what you have described day in day out - questioning things that should not be questioned, and never would have been before AI. In reality, if someone is asking those questions regarding security, especially with company data, they shouldn't be doing what they are attempting without knowing the best practices first. But that principal has never changed, it's just got a whole load worse, very quickly, with open access to the platforms.

We've even had multiple cases where an internal developers have "wrote some code with AI" to analyse/report on a companies data, and because they didn't understand it, assumed it was read only and just ran it - in turn actually removed data and took live production offline... then we get asked how did it happen!



Like I say, it's a hobby and what you see is all DIY and reading. It's not something I've been taught... so sure if you have some time, any help would be welcome. No rush at all.



I've primarily used LifeRacing and ECUM PDM16. Flawless operation and continual feature additions/upgrades still to this day. But there are too many on the market now - you know if they are running social media promotions for a product like that it has to be total junk, the real players in the game are already established and don't need to push advertisement.

The sh*t will hit the fan when someones car sets on fire and they post on social media. It's the same as one ECU manufacturer developing their own aftermarket "affordable" ABS solution (attempting to replicate Bosch M4/M5) and in turn someone having a huge accident due to a problem with the unit...



A little different but for GPS we use a commercial "off the shelf" automotive GPS to CAN module on a number of cars as they just work. We know the data sitting on the bus is always going to be there and accurate, and it's just down to logging it.

We got to a point where the log files were getting quite large in CSV with that many channels (over 40-50 minutes on track), that the log analysis software we were using wasn't having any of it (old but gold). I then found this software would accept many file types, so just switched to one of the binary formats it supported, and literally reduced the file sizes by 8-9x.

Hindsight we don't use it anymore, and I just created a little helper application to drag and drop the files on to in Windows that converts the files to CSV (or whatever format you wish) on the computer side instead.

I never need all the channels, but useful to have in case of an engine failure or issue to cross correlate against everything to find the cause...



Exactly the same as us, but not just one company - multiple over the years. We're not running £500k race teams or £250k racing cars. It's a hobby for us and we just want reliable data/information as to what is going on - yes it's more than your normal average Joe, but it's why we can do 10-15 days a year and drive them flat out without issue...
Ahh ok, I've never used this standard can output stream on anything, I've seen it but had nothing to use it with. Tbh all the ecu stuff I've done has been either on older race cars or classic cars so I'm not integrating with any of the oem can stuff. I've used the LINK can lambda on a hnadfull of cars which samples at 100hz by default but otherwise really haven't needed it on much.

I guess the 50Hz standard(?) would be used for things such as a dash? Not sure how wheel slip for example is particularly useful if you're only sampling at 50Hz, but a dash can't display it any faster so 🤷‍♂️ My VX will end up with a digi dash so I'll likely have to learn all about it sooner or later.



You have made my point regarding Ai coding tbh. I don't refer to myself as a programmer but have been creating code for 15+ years, mostly firmware in C or C++ but also some VHDL for fpga use however I am an electronics engineer not a software engineer/computer scientist. I know enough to know I don't know enough. The things that @SharkyUK does are amazing to me. So I am more than happy to be schooled by a programmer when discussing code.

Before my current job I was involved quite heavily in automotive electronics, designed 3 ecus and sold the design of the last to an oem.

Interested to hear some actual context on the 'security concerns'....

Not sure why you asked about context tbh, the issues you have described are exactly what I was eluding to. Its not much to do with me but we are having issues with it at work, take a team of 10 programmers, you need someone at the top to act as architect and when that person (our md in this case) asks a security based question and a programmer can't answer without asking an LLM what it did... then there's an issue imo. I have wider concerns that as more Ai generated code creeps into larger applications or systems that the developers won't always have a grip on how secure a system and will depend on Ai written automated tests more and more, I also don't think many people are fully aware of how much data these Ai companies are taking and training on.

Codex for example, people generally tick the 'do not train on my data' box in GPT then later install Codex assuming the same is true but its not at all, you have to go through it again... ideally before loading all of your companies top secret code into it 😂

Would be happy to point out some things on your PCB, but will do so via PM.
 
That looks great - can appreciate the time and knowledge that has gone into that 👍 I've never got into any type of WinUI or graphics side of application development... my dotnet (6 > 8 > 10) has always been service/background/console applications, usually cross platform for Windows/Linux (mainly servers)

Cool project mate, thanks for sharing and the overview! :cool: I don't understand most of it as I know f**k all outside of software, but it was still an interesting read!

Thanks for the kind words. It was gaming and, specifically, computer graphics that hooked me as an 8 year-old kid all those years ago. All I wanted to do was write code and make pretty things do stuff on the screen. Most of that work has been on Windows or consoles from the likes of Nintendo, Sony, etc. I have worked on Linux too but nowhere near as much. C/C++ was/is my thing, although I use C# more than anything else when it comes to non-rendering and general application development. Webdev and web tech is another string to the bow (so many tech stacks these days!) but they don't interest me anywhere near as much.

You make a fair point on AI. It cant replace knowledge. You have to have an idea about what you want to achieve and how to achieve it. Otherwise how can you quantify that its correct?

That's great, and I totally agree. But businesses are absolutely not doing this and it scares the hell out of me. It is all about pushing the product. So much potentially sensitive/critical code is not being reviewed properly, if at all. That "human with the knowledge in the loop" is redundant.

You have made my point regarding Ai coding tbh. I don't refer to myself as a programmer but have been creating code for 15+ years, mostly firmware in C or C++ but also some VHDL for fpga use however I am an electronics engineer not a software engineer/computer scientist. I know enough to know I don't know enough. The things that @SharkyUK does are amazing to me. So I am more than happy to be schooled by a programmer when discussing code.

Thanks Rob. I know a little bit, which is good... because I don't know how to do anything else! 🫣
 
Ahh ok, I've never used this standard can output stream on anything, I've seen it but had nothing to use it with. Tbh all the ecu stuff I've done has been either on older race cars or classic cars so I'm not integrating with any of the oem can stuff. I've used the LINK can lambda on a hnadfull of cars which samples at 100hz by default but otherwise really haven't needed it on much.

I guess the 50Hz standard(?) would be used for things such as a dash? Not sure how wheel slip for example is particularly useful if you're only sampling at 50Hz, but a dash can't display it any faster so 🤷‍♂️ My VX will end up with a digi dash so I'll likely have to learn all about it sooner or later.

Yes exactly, the ECUs are internally sampling way way higher, just the default output stream (for dashboards, PMU control logic etc) is generally around 50hz. This is ample for most use cases, and means your average user does not have to configure anything to use a digital dash, seperate logger, etc. Just plug in, set the base starting ID and away you go. There is nothing stopping you just defining your own CAN outputs, at higher transmission frequency, even if they are the same source data as the standard stream. Like in the screenshot above, if I wanted to receive/log wheel slip at 200hz from Maxx, I'd not bother using the signal in their standard stream, and just configure a custom output message instead.

The OEM integration is a big selling point now, most of them have many defined vehicles so literally everything works like OEM, down immobiliser emulation. If someone can drop in a standalone ECU and pick their car model from a dropdown and everything just work... it's an easy sale

The bus speed is not a factor in the rate each device sends its message packets out at, it just defines overall capacity as such. The same principal as computer networking really. That transmission frequency rate (for each message) is decided by the sending device. It's up to the receivers if they bother using it or not - a lot of devices have filtering enabled (at transciever level) so the majority of bus traffic is ignored and only defined IDs are actually received and processed.

For example - the ABS unit transmits it's wheel speeds and wheel distance counters at 100hz (Bosch/Conti), on a low numerical message ID (higher priority) because it's receivers need that data at a higher rate for say, traction and torque control. However it transmits the rest of its data (brake pressure, status bits) at 50hz and even lower, on much higher numerical message IDs (lower priority) to trigger dashboard warnings, and whatever else.

You have made my point regarding Ai coding tbh. I don't refer to myself as a programmer but have been creating code for 15+ years, mostly firmware in C or C++ but also some VHDL for fpga use however I am an electronics engineer not a software engineer/computer scientist. I know enough to know I don't know enough. The things that @SharkyUK does are amazing to me. So I am more than happy to be schooled by a programmer when discussing code.

Yes so you understand it - basic principles and how things are structured etc.. not like someone who has never seen any code before, which we are seeing more of now, and just trust whatever a model spits out > save > run!

I'm not a "programmer" either, I've never had a sole job doing that, but have been/still involved with some huge code bases across many different languages. None of which are C/C++/C# but that's just become useful for other things along the way

Before my current job I was involved quite heavily in automotive electronics, designed 3 ecus and sold the design of the last to an oem.

How long ago was that? Petrol/diesel?

Not sure why you asked about context tbh,

It was just the way this came across... "Software is very interesting but again there are genuine security concerns", I thought you were referring to the Github code for the board 🤣

The issues you have described are exactly what I was eluding to. Its not much to do with me but we are having issues with it at work, take a team of 10 programmers, you need someone at the top to act as architect and when that person (our md in this case) asks a security based question and a programmer can't answer without asking an LLM what it did... then there's an issue imo. I have wider concerns that as more Ai generated code creeps into larger applications or systems that the developers won't always have a grip on how secure a system and will depend on Ai written automated tests more and more.

This is the main issue we see - yes they may get some fantastic features rapidly added, but then when it comes down to getting an ISO27001 audit/review through, no one has a clue how to answer anything regarding how this new data is structured or stored. Then if there is a problem with said feature, they go back to AI as they have no idea how it was integrated, which then generates more features to fix the previous feature, and the snowballing begins...

, I also don't think many people are fully aware of how much data these Ai companies are taking and training on.

Codex for example, people generally tick the 'do not train on my data' box in GPT then later install Codex assuming the same is true but its not at all, you have to go through it again... ideally before loading all of your companies top secret code into it 😂

There will be so much out there across all the providers and models - we deal with a few places running internal local models, but things are moving so fast they can't upgrade to newer models as their hardware is now the bottleneck. Essentially cost prohibitive to even consider upgrading at current prices when it will be out of date again in quick succession. So what do you do - move online and pay the subscription, leaving the end users to risk your data instead 😂

Would be happy to point out some things on your PCB, but will do so via PM.

Will reply later 👍👍
 
Back
Top