
Europi surface mount
Allen-Synthesis/EuroPi
EuroPi: A reprogrammable Eurorack module based on the Raspberry Pi Pico

E28 Cluster Driver is (going to be...) an ESP32 based driver board which allows the E28, and possibly E21/E30, cluster to be controlled via custom inputs.
Pcb design is an open-source printed circuit board by dowster, from the dowster/e28-cluster repository on GitHub. It is a 2-layer board of 130.8 × 139.7 mm with 74 parts on 119 nets, routed with 528 tracks and 0 vias.
It is built around the L7805. Its parts include 5 ICs, 3 resistors and 2 connectors. It belongs with the ESP32 boards of this library.
E28 Cluster Driver is (going to be...) an ESP32 based driver board which allows the E28, and possibly E21/E30, cluster to be controlled via custom inputs. For the first version custom input will be done solely via CAN Bus. There won't be any hardcoded message spec, that will be configurable by the user after firmware has been flashed.
Main repository is at https://gitlab.com/dowster/e28-cluster
v4.2
:)
Input to the E28 cluster driver shall be done via CAN Bus and possibly with a web based interface for diagnostics, calibration, and configuration. The CAN input shall be configurable so that any value on a can message may be mapped to any of the outputs, allowing the potential for configuring the driver with custom cluster gauge faces. IE: using the econometer to show watts / mile.
The speedometer of the E28 cluster is pulse driven. Approximately 2Hz for every MPH. IE: 50hz -> 25mph, 280hz -> 140mph. Driving the speedometer will advance the odometer automatically. It will also generate a pulse signal that is output to the SI board and the cruise control hardware.
The speedometer operates on a UAF 2115 IC. This IC is a general purpose speedoemter and mileage indidactor IC by ITT Semiconductors. It provides a constant current source to the output pin(s) 10-13 on the E28 cluster plug C2 (white), these four pins are all bridged together, shorting these to ground will provide a pulse to the speedometer. The UAF 2115 also provides an open collector NPN pulse output to drive things such as cruise control. In order to trigger a pulse the speed sensor in the differential would short to ground as each tooth of the gear passed by, these pulses must be atleast 50 microseconds in duration, the max frequency is 10Khz. On the E28 Pin 11 of UAF 2115 is connected to ground, so the division factor is 2^6, I think this is to configure how the odometer tracks distance.
The temperature guage output will be an open collector NPN output from the E28 cluster driver. The temperature gauge is controlled by varying the current output of pin 12 on connector C1 of the E28 instrument cluster. To control this I'll either use the DAC on the ESP32 or use PWM. I have had some issues with "buzzing" when using PWM but I may just need a higher frequency.
This is pretty much the same as the temperature gauge but with a different calibration. I'll be using a lower value resistor on the gate of this transistor since the fuel gauge requires more current. This signal is also output to the onboard computer by default. See OBC Outputs for information on how I plan to control the OBC.
The tachometer is controleld by a simple voltage input. I'm thinking a PNP driver for this with PWM control should be fine.
No clue how to do this one yet, haven't really looked into it.
The warning lights will be controlled via simple solid state relay circuits. Either PNP or NPN transistors controleld via shift registers to save up some pins on the ESP32, if needed. Some of the warning indicators are built onto the instrument cluster's PCB, others are controlled via lights have external wiring.
Could have many different functions, possibly solid when charging the pack or when the pre-charge resistor is engaged and flashing when a pack error is detected.
TODO
TODO
TODO
TODO
TODO
TODO
TODO
This is probably not needed with an EV so that could be modified to be something else.
TODO
Haven't seen how this wires up yet, It's on the PCB.
Probably used to be used on cars where there was only one lamp to tell you that the turn indicators were on. Could be repurposed with a different logo. Background is green.
There's no graphic on this lamp, it's in the 3rd position from left and just has a yellow or orange color filter.
Not wired up, says "EML" in black letters with a yellow or orange color filter. 4th position from left
No graphic on this indiactor, just a solid green. 6th position from left.
If the stock ABS is kept this can stay here. Not sure if ABS is used on many swaps but I think that if it is this light may want to be used as a way to kill regen and let the motor coast while ABS figures out what to do.
Seems like even the manual clusters include this plate, or my car has been swapped with an automatic cluster.
Shows as a gear with an exclamation mark in the center
Pretty self explanatory
Show up as individual lamps, for indicating if you've manually selected one of these gears I presume.
This is on single indicator, I presume that it indicates you've disabled overdrive.
The method for driving the OBC hasn't been determined yet, two options are to just plug the OBC into the instrument cluster and let it run business as usual. The more involved, and possibly better method is to map out the pins on the OBC and manipulate that with the E28 cluster driver. The main feature I'd like to see out of this is an accuruate range estimate based on pack state of charge and average watts/mile.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 26 | 4700 | Resistor_SMD:R_0805_2012Metric | R_A0_1, R_A0_3, R_A1_1, R_A1_3, R_A2_1, R_A2_3, R_A3_1, R_A3_3, R_A4_1, R_A4_3, R_A5_1, R_A5_3, R_A6_1, R_A6_3, R7, R10 +10 |
| 20 | 2N2222 | Package_TO_SOT_THT:TO-92_HandSolder | Q_A0_1, Q_A1_1, Q_A2_1, Q_A3_1, Q_A4_1, Q_A5_1, Q_A6_1, Q_A7_1, Q_B0_1, Q_B1_1, Q_B2_1, Q_B3_1, Q1, Q2, Q3, Q6 +4 |
| 9 | 22000 | Resistor_SMD:R_0805_2012Metric | R_A0_2, R_A1_2, R_A2_2, R_A3_2, R_A4_2, R_A5_2, R_A6_2, R_A7_2, R9 |
| 9 | 2N3906 | Package_TO_SOT_THT:TO-92_Inline | Q_A0_2, Q_A1_2, Q_A2_2, Q_A3_2, Q_A4_2, Q_A5_2, Q_A6_2, Q_A7_2, Q8 |
| 2 | 470 | Resistor_SMD:R_0805_2012Metric | R1, R3 |
| 1 | 220 | Resistor_SMD:R_0805_2012Metric | R2 |
| 1 | AP1117-33 | Package_SIP:SIP3_11.6x8.5mm | U4 |
| 1 | Conn_02x13_Top_Bottom | pcb-design:Connector_TE_827881-1 | J6 |
| 1 | ESP32-DEVKITC-32D | pcb-design:MODULE_ESP32-DEVKITC-32D | U6 |
| 1 | L7805 | Package_SIP:SIP3_11.6x8.5mm | U7 |
| 1 | MCP23017_SP | Package_DIP:DIP-28_W7.62mm | U2 |
| 1 | MCP2562-E-P | Package_DIP:DIP-8_W7.62mm | U3 |
| 1 | Screw_Terminal_01x02 | TerminalBlock_TE-Connectivity:TerminalBlock_TE_282834-2_1x02_P2.54mm_Horizontal | J4 |
It measures 130.8 × 139.7 mm and has 2 copper layers, 1.6 mm thick.
74 parts, built around the L7805. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the dowster/e28-cluster repository on GitHub, at the commit this page was made from: the board is pcb-design/schematic.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask dowster before reusing the design.

Allen-Synthesis/EuroPi
EuroPi: A reprogrammable Eurorack module based on the Raspberry Pi Pico

peterheinrich/InternetOverSpaghetti
Transmitting IP packages over a pair of spaghetti thus demonstrating how media independent IP really is.


Tircown/ERCF-easy-brd
More informations on how to reset for flashing:\ https://wiki.seeedstudio.com/Seeeduino-XIAO/#enter-bootloader-mode

matthewcieplak/super-sixteen
Code and schematics for the Super Sixteen Eurorack sequencer

NikodemBartnik/Mini-Mars-Rover
Educational robotic platform made to look like a mini mars rover

starlightk7/OpenSFC
OSHW Reproduction Parts related to the Super Famicom / Super Nintendo game console

Redherring32/OpenTendo-TopLoader
An Open Source HardWare (OSHW) recreation of the 1993 toploading NES motherboard (Also known as NES-101)