obd_zero

Малък OBD-II дисплей за кола: ESP32-C3 Zero + ELM327 BLE адаптерSmall OBD-II car display: ESP32-C3 Zero + ELM327 BLE adapter

Устройството се свързва по Bluetooth LE с ELM327 адаптер в OBD-II букса на колата и показва основните стойности на двигателя, пътен компютър и записаните грешки. Един фърмуер работи с четири различни дисплея и сам разпознава кой е свързан при включване. Няма WiFi, фърмуерът се качва по USB.The device connects over Bluetooth LE to an ELM327 adapter in the car's OBD-II port and shows the main engine values, a trip computer and the stored trouble codes. One firmware runs on four different displays and detects which one is connected at power-up. No WiFi, the firmware is flashed over USB.

Дисплеи и странициDisplays and pages

ДисплейDisplay 1. Стойности1. Live values 2. Пътен компютър2. Trip computer 3. Грешки3. Trouble codes
1.69" ST7789V2
240x280
заоблени ъглиrounded corners
ST7789V2 page 1 ST7789V2 page 2 ST7789V2 page 3
1.28" GC9A01
240x240
кръгълround
GC9A01 page 1 GC9A01 page 2 GC9A01 page 3
1.54" ST7789
240x240
квадратенsquare
ST7789 page 1 ST7789 page 2 ST7789 page 3
1.3" OLED SH1106
128x64
I2C
OLED page 1 OLED page 2 OLED page 3

Снимките са взети направо от паметта на дисплея (кадър по серийния порт), в демо режим. Натисни снимка за увеличение.The screenshots are taken straight from the display memory (frame dump over the serial port), in demo mode. Click a screenshot to enlarge it.

ФункцииFeatures

ФункцияFeatureОписаниеDescription
СтойностиLive valuesТемпература на охладителната течност, натоварване на двигателя в %, напрежение на акумулатора и разход: L/100 km при движение над 5 km/h, L/h на място.Coolant temperature, engine load in %, battery voltage and fuel consumption: L/100 km when moving above 5 km/h, L/h when standing.
Цветни скалиColour gaugesНа цветните дисплеи всяка стойност има скала по ръба на екрана, оцветена по зони: зелено, жълто, червено. При кръглия е дъга, при заобления следва формата на екрана, при квадратния е лента във форма на Г.On the colour displays every value has a gauge along the screen edge, coloured by zones: green, yellow, red. On the round one it is an arc, on the rounded one it follows the screen outline, on the square one it is an L-shaped band.
Пътен компютърTrip computerИзминати km, изгорели литри, среден разход L/100 (след 0.5 km) и време с работещ двигател от включването. Ако разходът липсва, литрите и средният разход показват -- вместо грешно число.Distance in km, litres used, average L/100 (after 0.5 km) and engine running time since power-up. If the fuel rate is missing, litres and average show -- instead of a wrong number.
Грешки (DTC)Trouble codes (DTC)Чете записаните грешки (OBD Mode 03), например P0171, и може да ги изтрие (Mode 04) със задържане на бутона. Работи по CAN и по K-line.Reads the stored trouble codes (OBD Mode 03), e.g. P0171, and can clear them (Mode 04) by holding the button. Works on CAN and K-line.
Разпознаване на дисплеяDisplay detectionПри включване първо търси OLED по I2C, после чете ID-то на SPI дисплея и избира подходящото оформление. Непознат дисплей се води ST7789V2.At power-up it first looks for an I2C OLED, then reads the ID of the SPI display and picks the matching layout. An unknown display is treated as ST7789V2.
СвързванеConnectionСамо търси ELM327 BLE адаптер по името, свързва се и разпознава протокола на колата. Докато няма връзка, екранът показва състоянието: SEARCHING DONGLE, CONNECTING, NO DONGLE.Finds an ELM327 BLE adapter by name, connects and detects the car protocol by itself. Until linked the screen shows the state: SEARCHING DONGLE, CONNECTING, NO DONGLE.

БутонButton

ДействиеActionРезултатResult
Кратко натисканеShort pressСледваща страница: 1 стойности, 2 пътен компютър, 3 грешки, пак 1.Next page: 1 live values, 2 trip computer, 3 trouble codes, back to 1.
Задържане 1 sHold 1 sНаправо към грешките и прочитане от колата.Straight to the trouble codes and read them from the car.
Задържане 3 sHold 3 sПита CLEAR CODES? / RELEASE = NO. Пускане тук не изтрива нищо.Asks CLEAR CODES? / RELEASE = NO. Releasing here clears nothing.
Задържане 6 sHold 6 sИзтрива грешките, чете отново и показва CLEARED.Clears the codes, reads again and shows CLEARED.

ХардуерHardware

ЧастPartДетайлиDetails
ПлаткаBoardESP32-C3 Zero (RISC-V, BLE 5, 4 MB flash)
OBD адаптерOBD adapterELM327 Bluetooth LE
SPI дисплеиSPI displaysSCL=GPIO0, SDA=GPIO1, RES=GPIO2, DC=GPIO3, CS=GPIO4, BLK=GPIO5
OLED дисплейOLED displaySH1106 128x64, I2C 0x3C, SDA=GPIO1, SCL=GPIO0
БутонButtonБутонът BOOT на платката (GPIO9)The board's BOOT button (GPIO9)
ПомощHelp

Изтриването на грешките нулира и готовността на мониторите (readiness). Колата известно време показва "not ready", което има значение преди технически преглед. Затова изтриването иска 6 секунди задържане.Clearing the codes also resets the readiness monitors. For a while the car reports "not ready", which matters before a technical inspection. That is why clearing needs a 6 second hold.

Бутонът BOOT е и бутон за програмиране: ако е натиснат при включване на захранването, платката влиза в режим за качване на фърмуер.The BOOT button is also the programming button: if it is held while power is applied, the board enters firmware download mode.