
Apppd
chithigun23/ANUFS-APPPD
An update to the Accelerator Pedal Position Plausibility Device to remain compliant with the use of a paddle shift system.

An ESP32-S3 CAN-to-BLE bridge for an iPad vehicle dashboard. The firmware discovers each ECU's supported current-data PIDs and forwards complete raw responses through a versioned BLE GATT stream.
Obd2dash is an open-source printed circuit board by EthanPope07, from the EthanPope07/obd2dash repository on GitHub. It is a 2-layer board of 82.5 × 49 mm with 22 parts on 57 nets, routed with 188 tracks and 28 vias.
It is built around the ESP32-S3-WROOM-1-N8, TCAN337D and TSR 1-2433, with the AP2112K-3.3 and MAX40200AUK among its other parts. Its parts include 7 resistors, 5 ICs, 3 capacitors, 2 diodes and 2 connectors. It belongs with the ESP32 boards of this library.
An ESP32-S3 CAN-to-BLE bridge for an iPad vehicle dashboard. The firmware discovers each ECU's supported current-data PIDs and forwards complete raw responses through a versioned BLE GATT stream.

The original reader was a breadboard diagnostic sketch. This revision replaces its receive path and adds supported-PID discovery, ISO-TP reassembly and BLE. The new firmware has host regression tests; vehicle and iPad integration testing are still required. Do not represent the new implementation as vehicle-validated yet.
The PCB is a compact prototype, not a fabrication-qualified automotive module. See hardware/Review.md for the supplied review and its unresolved decoupling, component-selection and power-protection findings. That report is preserved as source evidence, not a new electrical signoff.
A vehicle cannot return a PID it does not implement. A discovery timeout is reported as incomplete, not silently interpreted as no support.
CAN request -> ECU response -> ISO-TP reassembly -> timestamped raw PID record -> 20-byte BLE fragments -> iPad reassembly and decoding.
There is one outstanding physical request at a time. All supported data PIDs are polled round-robin; support pages are refreshed between sweeps after at least 60 seconds. Requests have a 50 ms minimum gap, 300 ms inactivity timeout and 5-second absolute deadline. Discovery retries transient failures up to three times. Sample failures produce status records and are retried on later sweeps.
This prioritizes coverage rather than high-rate gauges: polling many PIDs or offline ECUs makes a sweep longer. No fixed update-rate guarantee is claimed.
The supplied PCB identifies ESP32-S3-WROOM-1 and TI TCAN337:
Confirm the external connector cable pinout and power design before connecting hardware. The firmware sends only Mode 01 requests and ISO-TP flow control; BLE provides no arbitrary CAN-write interface.
Open firmware/obd2dash/obd2dash.ino in Arduino IDE. Select ESP32S3 Dev Module using the Espressif ESP32 package. BLE and TWAI ship with that package. Configure pins and bitrate in Config.h. No WiFi credentials or cloud services are required.
arduino-cli compile --fqbn esp32:esp32:esp32s3 firmware/obd2dashg++ -std=c++17 -Wall -Wextra -Werror tests/protocol_test.cpp -o protocol_test
./protocol_test
python -m unittest discover -s tests -p "test_*.py"The C++ tests exercise support-map boundaries, independent ECU maps, all 4,088 ISO-TP multi-frame lengths from 8 to 4,095 bytes, sequence rollover/errors, negative responses and maximum-length BLE serialization. Tests do not replace CAN simulator, vehicle or radio testing.
Compiled successfully with Espressif Arduino-ESP32 3.3.11 (bundled BLE 3.3.11), target esp32:esp32:esp32s3, board defaults.
No device was flashed. These compile figures do not measure peak runtime RAM. Vehicle/CAN simulator tests and iPad integration remain outstanding; follow docs/VALIDATION.md.
The native SwiftUI receiving app is in ipad. Open ipad/OBD2Dash.xcodeproj on a Mac, select your signing team and run on an iPad with iPadOS 17+. It automatically connects while foregrounded and displays RPM, speed and coolant gauges alongside a searchable list of supported/observed PIDs.
Unknown PIDs are shown as raw bytes, not guessed numbers. The app has an explicitly labeled --demo mode for UI previews. See the app README for build and physical-device validation instructions.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R4, R5, R6, R7 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R2, R3 |
| 2 | SW_Push | Button_Switch_THT:SW_PUSH_6mm_H4.3mm | SW1, SW2 |
| 1 | 0.75A | 1812L075_33DR:FUSE_1812L200_12DR | F1 |
| 1 | 10µF | Capacitor_SMD:C_1210_3225Metric_Pad1.33x2.70mm_HandSolder | C1 |
| 1 | 1µF | Capacitor_SMD:C_0603_1608Metric | C3 |
| 1 | 22µF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C2 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U4 |
| 1 | DE9_Pins_MountingHoles | Connector_Dsub:DSUB-9_Pins_Vertical_P2.77x2.84mm_MountingHoles | J1 |
| 1 | D_Schottky | Diode_SMD:D_SMA_Handsoldering | D2 |
| 1 | D_Zener | Diode_SMD:D_SMB_Handsoldering | D1 |
| 1 | ESP32-S3-WROOM-1 | RF_Module:ESP32-S3-WROOM-1 | U1 |
| 1 | MAX40200AUK | Package_TO_SOT_SMD:SOT-23-5 | U5 |
| 1 | TCAN337 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U3 |
| 1 | TSR_1-2433 | Converter_DCDC:Converter_DCDC_TRACO_TSR-1_THT | U2 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_GCT_USB4085 | J2 |
It measures 82.5 × 49 mm and has 2 copper layers, 1.6 mm thick.
22 parts, built around the ESP32-S3-WROOM-1-N8, TCAN337D, TSR 1-2433 and AP2112K-3.3. 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 EthanPope07/obd2dash repository on GitHub, at the commit this page was made from: the board is hardware/obd2Dash.kicad_pcb and its schematic hardware/obd2Dash.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask EthanPope07 before reusing the design.

chithigun23/ANUFS-APPPD
An update to the Accelerator Pedal Position Plausibility Device to remain compliant with the use of a paddle shift system.

chithigun23/ANUFS-Telemetry
To use custom hardware to measure parameters and dynamics of an ICE Formula SAE car.

Molly-M-Laugh/Senior-Final
A collection of documentation and files for our group's final senior design project



punkfab/pcb-corpus
235 real KiCad boards from open-source hardware repositories, prepared as a placement and routing benchmark

4n3m4i1/Industrial_Control_Dev_Boards
MCU Development Boards for Deeply Embedded Industrial Control Applications

dyu134/ESP-HI-PLUS
The Robot sub-module is a high-performance actuator and sensing expansion board for the ESP-HI-PLUS, designed to transform the device into a mobile or interactive robotic platform.