Anything not specifically related to the Speeduino hardware. Eg sensors, bluetooth, displays etc
#54612
Hi! I have started watching "Speeduino live - SpeedyKnock hardware design" which is describing a concept of 52mm gauge. Then I remembered that actually I have done something similar few years back. I got to a point where I had partially populated PCBs and started bringing up the MCU but never got time to finish it (like with everything - I bought a house and been renovating it for ages, still am actually).

I was wondering if anyone would be interested in building upon it / helping in finishing it? Not sure if the concept actually suits majority needs, it might be just my imagination :lol: Anyway, let me shortly describe what was the idea and where we are. You can get schematics and board renders here: https://github.com/DStageGarage/UniGauge

Requirements:

- the goal was to have 3 digit LED display - not that many data as on LCD/OLED screen but much easier to read and usually better visibility in various lightning conditions, so, only the value of a monitored signal displayed,
- additional multi LED "analogue" linear display at the circumference as it can be easier to quickly spot roughly the conditions we are in
- universal inputs that can be used for various sensors and signals,
- fits into standard 52mm case,
- buttons for basic control,
Bells and whistles (nice to have):
- different colours if possible on LEDs and/or LED display,
- some sound capability for warnings and action confirmation,
- stacking few gauge displays together possibly with one control unit?
- USB interface for user programmable options.

It proved itself to be hard fitting all of the above on one board so after a trial (unfinished board included on the repo) I moved to a double PCB concept. Other reason for doing so was also the idea that a different MCU specialised in a particular specific task could be swapped in place of the generic one and also the other way - the display board could be changed from a simpler one to more advanced and perhaps even one with LCD/OLED display in the future.
So, here are the concepts and their status:

1. Full blown display board (PCB prototype manufactured, parts purchased)

- 25 smart LEDs on the circumference allowing for any colour pattern, for example changing "red field" depending on a parameter we are currently displaying. Or simply changing the style for individual preferences. I'm not sure where I came up with 25, probably I wanted to match something I saw on a commercial product with single colour LEDs, packing so many smart LEDs in this limited space was hard I must say and is not very "manual assembly friendly" ;-) Since the board is populated on both sides and automated assembly is easier and cheaper to be done just on one I would probably chose the top for that reason even though there are more components on the other side.

- 3 colour LED display (red/green/yellow), different colour can help in indicating warnings etc. as well they can fit the cars "vibe" if someone is into the looks also. RGB displays can be found but I had troubles with that and they were smaller/costly etc. Also it would be even more challenging to drive them - I have spend few years in LED signs industry and I'm really allergic to multiplexing :lol: All the segments here are driven directly with multi current source shift registers (stuff dedicated for LED driving). This eliminates any unpleasant side effects of multiplexing both on people (and I know a few including myself that can spot multiplexed display in most cases) and video equipment if you chose to record your run. Multiplexing is particularly noticeable when your eyes move quickly, just like when you're in a race etc. All 3 decimal points are also driven from same shift registers even though the right one has a dedicated line on MCU connector - this is due to compatibility with other designs described later. The brightness control can be done using PWM on EN input or the drivers can be swapped for variant with build in individual PWMs for each output - don't see any practical use other then visual show off in demo mode :D

- 3 buttons for changing modes, inputs, perhaps even programming colours. With 3 buttons it can be quite flexible, for example each can be dedicated for easy access to particular value while pushing one for longer can activate some other features where functionality of the buttons changes. On the MCU board there is a line called "SW3" on the connector in theory dedicated for third button but I needed a line for driving smart LEDs so in this case button 1 and 2 is wired directly while the third one has a diode or gate to drive both SW1 and SW2 lines at the same time - 3 switches on 2 lines.

- 2 extra smart LEDs under the buttons for flexible indication of modes and other specific tasks.

- Buzzer also driven from shift register, it can be potentially swapped for a piezo without a generator for creating special sound effects but I guess in most cases it's sufficient to have single tone ;-)

- DCDC converter for driving all the LEDs - this number of LEDs can be quite power hungry so SMPS is a must. I think back in the day I designed it either small DCDC modules were not so popular or I just did not care about those. Now I would rather swap it for such module which would be easier, cheaper and can save space, a lot of space with smart placement.

- level converter for connecting 5V LED logic to 3V3 MCU.

2. MCU board (PCB prototype manufactured and partially populated)

- LPC824 is usually my micro controller of chose for such projects. Yes I know it's out if the "Arduino spectrum" but I only taken a look at this community recently. I think in this case it may be reasonable to take a look at something different as there are serious size limitations. One of the unique features (what I mean by that it is relatively rare in micro controllers) of this one is a pin matrix that is able to swap most of the functions to any pin (excluding analogue parts). This can be really helpful when designing a PCB. Other than that it is a small 20 pin (TSSOP variant) Cortex M0+ with up to 30MHz on-board clock, 32K flash, 8K RAM, 16 GPIO. There are few different timers with quite specific and interesting modes, the normal junk like SPI, I2C, UART etc, and 5 ADC inputs (12bit) and a comparator (helpful for one of the features I had in mind and described later). To be used with MCUXpresso IDE (similar to older LPCXpresso), Eclipse based, rather nice to use.

- FT231XS USB-UART converter mainly used for MCU programming and potentially changing programmable options by user from PC. It's not a vital component and could be dropped if necessary.

- MAX31855 thermocouple interface is an SPI based complete interface for thermocouples. No need to worry about analogue stuff and easy to use from program point of view. Mainly intended as EGT input or any other high temperature sensing.

- 4/5 universal analogue inputs with build in active filters and configurable via tin shorting "jumpers". Each input has an optional pull-up and pull-down so it can be used for various sensors or without pulling connected in parallel with ECU input. There's also a simple diode protection and a voltage divider to match MCU range. Input number 5 shares functionality with a frequency input.

- frequency input intended for sensing VR or Hall sensors. It is to be used optionally in place of analogue input #5 by changing the solder jumper configuration. There's a simple zero crossing detection for VR sensors using the PNP transistor and MCU build in comparator.

- input connectors - the idea was to use a connector style similar to those in Ethernet sockets just for thicker wires. Wire is sliced into fork shaped terminal that splits the isolation. Good thing about those is that they are small and no dedicated wires are needed. Other stuff like mini molex could be considered I guess. Besides the USB only the thermocouple input has a different connector as in this case it's rather crucial. For that there's a flat screw terminal block.

The board connects to the back of LED board and can be further secured with two 2mm bolts. It is square in shape and takes all the available space for that shape in 52mm case, corners could be rounded or cut on 45deg as there;s enough space. Optionally shape can be changed to a full circle to have bigger surface, I've chosen square as it was cheaper to manufacture locally but for JLCPCB or PCBWay it actually doesn't matter. So, there's some room for changes.

3. Simple display board (designed, not manufactured)

- 25 single colour LEDs on the circumference, red field would have to be hard-wired by populating different colour LEDs on certain positions. Driven by current sources from shift registers like above.

- single colour LED display nothing fancy, 3 digits, colour chosen in assembly. Driven from current sources and shift registers as above except for decimal point on the right display as there was not enough outputs. This one is driven with a dedicated line but I don't think it has much use other than some special stuff perhaps during set-up.

- 3 buttons for changing modes, wired individually to 3 lines, otherwise same as above.

- 3 extra LEDs under the buttons for special purposes like mode indication etc. Those are driven with individual lines as there was not enough outputs on shift registers. On the MCU board those are actually connected directly to button lines so some multiplexing between input and output is required.

- analogue brightness control something I developed back when working on LED signs. Not a crucial option but makes less EMC mess. MCU controls brightness via PWM but the signal is then translated for different current setting in LED drivers current source.

- DCDC converter same as above.

- level converter same as above just smaller buffer.

I also attached the unfinished single board design although there's not much to add about that one.


If the community is interested in having something like that and there are volunteers to participate in such development maybe I could get back to that and we can join forces :D PCB design by default would be in CircuitMaker I think, I haven't touched KiCAD but still that might be an option, let's not even mention Eagle ;-). With a bit larger MCU board (round one) perhaps it's worth considering Arduino nano if you think it's beneficial. Also, considering automated assembly there may be an opportunity in going for smaller components like 0603 and TSSOPs or QFNs (not that it's impossible by hand but I'm too lazy for that and those days where I had no choice are long gone hehe.) I'm open to suggestions :-)
Attachments
UniGauge MCU top.jpg
UniGauge MCU top.jpg (223.61 KiB) Viewed 1750 times
UniGauge_ILED_front.PNG
UniGauge_ILED_front.PNG (156.09 KiB) Viewed 1756 times

Hi, I am trying to assign Signed values to the x-a[…]

Vr Conditioner Noise when cranking

New version 202305 don't fix the issue. Now after[…]

blitzbox

I've finally figured out why MAP and Lambda weren'[…]

Hello, I bring news!! Let me tell you that after […]

Still can't find what you're looking for?