ARINC 429 receiver project - Page 1
Forum section: electronics / projects

author: kyndal
author_rank: Regular Contributor
timestamp: October 10, 2023, 07:07:09 pm
content: Hi Guys. I'm hoping for a bit of help moving forward with an ARINC 429 receiver projectmy plan is to use HOLT inc. HI-8588 receiver chip as the ARINC front end (possibly a discrete comparator circuit)to adapt the +/- 10v differential ARINC 429 data down to two complimentary TTL data lines that I'm hoping to read in with an Arduino (interrupt based?).combine to a complete 32bit "frame" and sort out a couple of discrete ARINC 429 Labels and save their data in variables.I have done extensive googling, but most examples out there use significantly more expensive SPI IC's (100$) where the HI-8588 is in the 10$rangeany suggestions on how I should go about reading in the two data (HI / LO) streams, combine and shift bits around to get the 8 bit Label and 19bits of data sorted out and decoded ?one issue I'm having is picking the right 32bits. relying to the pause between "data bursts" isn't working for meits a fairly well documented protocol, but I'm hitting a bit of a brick wall at the moment.Any suggestions / Arduino code examples would be greatly appreciated.Rune

author: kyndal
author_rank: Regular Contributor
timestamp: October 14, 2023, 08:47:23 pm
content: a bit of a follow up.to simplify my software I have decided to "ADD" the two complimentary TTL data streams into one with an external OR gate.rather than in software. this way i end up with a software agnostic hardware Clock signal.I'm using the clock signal on an interrupt capable GPIO, to clock in the HIGH data only, with the LOW (zeros) being assumed based on the clock.currently I'm using a "time out" timer for the data framing as ARINC 429 should have "atleast" 4 A&B (clock) both LOW data bit periods between data frames (-ie No data or clock)this should work okay...its not ideal to use a fixed time period. but I'm not sure how better to capture the frame?Suggestions welcomed..ARINC 429 differential signalthe two complimentary data streams channel #2 being the "ones" and channel #1 the "zeros" from the differential stream split out and leveled to TTL (DC offset here for visibility)the two complimentary data streams ones and zeros combined with an 75LS32 OR gate into the clock signalthe code is still very dirty, but I'm getting Valid binary frames, decoding valid Labels and in this case valid BNR dataCode:Received Data (Binary): 01110100000000001100010110111010 LABEL (OCT): 164 Radar altitude 838 ftReceived Data (Binary): 00111110100000001010001000100110 LABEL (OCT): 076 GPS altitude 138 ftReceived Data (Binary): 01110100000000010100010110111010 LABEL (OCT): 164 Radar altitude 837 ftReceived Data (Binary): 00111110100000010010001000100110 LABEL (OCT): 076 GPS altitude 137 ftSo far soo good. waiting for partsRune

author: Matyavau
author_rank: Newbie
timestamp: June 09, 2025, 11:52:30 am
content: Hi Kyndal. Sounds like you're heading down the same rabbit hole that I am! I've had a quick look at a schematic of a commercial ARINC429 analyser, (Goodrich 429EBP). ARINC429 data converted to TTL level through an LM393 (one comparator RX0 and the other for RX1). From that point on, my intention was similar to yours; add the data and clock from the HIGH bits. I only started contemplating this a week ago. End game is to read Total Air pressure and average static pressure labels from an air data module and compare them to a fixed calibrated static input. (Arduino magic)Have you had much progress?

author: gerbay
author_rank: Regular Contributor
timestamp: June 09, 2025, 12:45:18 pm
content: QuoteIs it possible for you to share the schematic with us?