Fast opto SOIC 8 2 CHANEL VO2630-X007T
Steps to develop a cheap ESP32-based ARINC 429 reader using two optocouplers for bit-banged reception + a simple web page for text output.
1. Understand the signal and safety constraints
- Differential levels (A – B):
- Logic 1 (HI): ~+6.5 V to +13 V
- NULL: ~–2.5 V to +2.5 V
- Logic 0 (LO): ~–6.5 V to –13 V
2. Hardware design (cheap discrete front-end)
- Series current-limiting resistors (a few mA).
- series protection resistors + TVS diodes or clamping for transient robustness.
- Two optocouplers6N137 / TLP2361 / similar high-speed optos if you target 100 kbps).
- On the ESP32 side: pull-ups (external 4.7–10 k?)
- Power the opto output side from the ESP32 3.3 V rail; keep grounds separate (true isolation).
Sketch the circuit, calculate LED current, verify rise/fall times on a scope with a real or simulated ARINC source, and add decoupling. Keep the analog/high-voltage side physically separated from the digital side.
Alternative low-cost approaches (if pure optos prove too slow or awkward): discrete comparators (e.g., LM393 or better) followed by digital isolators, or the op-amp + logic circuits used in some open ESP32 ARINC boards. Stick to two optos if that is the design goal.
3. ESP32 platform and pinout
- (dual-core is helpful).
- GPIOs for the opto outputs (e.g., GPIO 18 / 19).
- Power from USB or a clean 5 V ? 3.3 V regulator.
- Optional: status LEDs, a small display, or Ethernet if Wi-Fi is unreliable.
4. Software – bit-banged receiver
Use Arduino-ESP32 or ESP-IDF + FreeRTOS.
High-level approach:
- Configure the two GPIOs as inputs with pull-ups.
- Use pin-change / edge interrupts (or a high-priority FreeRTOS task + polling) to capture transitions on either line.
- Measure pulse widths with micros() or a hardware timer.
- State machine that recognizes:
– Start of a word (first HI or LO pulse after a long NULL gap).
– Each bit: first half active (HI = 1, LO = 0), second half NULL.
– End of word after 32 bits + inter-word gap. - Assemble the 32-bit word (label is bits 1–8, usually octal; data, SDI, SSM, parity).
- Check odd parity (bit 32).
- Buffer received words (circular queue or FreeRTOS queue) so the web server can read them without blocking the decoder.
- Optionally auto-detect speed by measuring bit period, or hard-code 12.5 / 100 kbps.
- Run the decoder on one core; keep Wi-Fi / web server on the other.
Start simple: capture raw HI/LO events and print timings to Serial. Then add word assembly and label filtering.
5. Web interface for simple text output
- Use the built-in WebServer or better ESPAsyncWebServer (non-blocking).
- Create an Access-Point mode or join an existing Wi-Fi network.
- Serve a minimal HTML page (plain text or a simple table) that:
– Shows the latest words (label in octal, raw hex, decoded fields if you implement a basic BNR/BCD parser).
– Optionally auto-refreshes via meta-refresh or a tiny JavaScript fetch every second. - Optional: WebSocket for live streaming of new words.
6. Development and test sequence
- inject known ±5–10 V
- Write a minimal interrupt logger that timestamps every edge.
- refine the timing state machine until you reliably get 32-bit words with correct parity.
- Add the web server and confirm the page updates.
- Stress-test with continuous traffic, noise, and both speeds.
- Add basic error counters (parity fails, framing errors, gaps too short).
- Open-source references worth studying: low-cost ESP32 ARINC boards that use op-amps/logic (search “ARINC 429 TX-RX Board ESP32”), RP2040 PIO-based designs, and classic Holt HI-8588 receiver + AVR interrupt examples (the software structure is transferable).
Once the hardware front-end produces clean HI/LO digital signals, the rest is mostly careful timing and a lightweight web UI. Start with low-speed, get solid word capture on the serial console, then add the web page.
================================================
Here is a wonderfull 429 overview
airinc_429TheAvionicsHandbook_Cap_2
https://batchpcb.com/pcbs/73951 ia a universal converter project.
The fellows name is AllThumbs on VAF http://www.vansairforce.com/community/showthread.php?t=95229
http://www.vansairforce.com/community/archive/index.php?t-82604.html thread about the SL30 to Dynon HSI
http://www.instructables.com/id/Interfacing-Electronic-Circuits-to-Arduinos/ is a very nice explanation of a 429 to 232 converter
Here is the data from Niel on the frankenverter
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
here is a nice blurb on using a parallel port to test AIRINC 429 equipment
here is some detail abouthe labels
Here is the first Distillation of equipment labels
=============================================
2024 revival project
https://github.com/ncormia/FrankenVerter
https://github.com/ncormia/FrankenVerter/blob/master/a429.h
https://github.com/ncormia/FrankenVerter/blob/master/FrankenVerter.ino
Explanation with scope





