Russian Avionics ARK-22 Radio Compass teardown

In this teardown article I have a Russian ARK-22 radio compass control box which was part of the avionics and miscellaneous items I was donated for my YouTube channel. I have not taken any Russian avionics apart before so this was an interesting find. It took a while to find some information on this unit and since publishing the video, a viewer Nick managed to find some more information on this unit and sent me some scanned PDF’s some of which were partially translated into English.

The ARK-22 is a rudimentary navigation system which uses directional radio beacons for navigation. It works by the pilot tuning to a particular frequency or channel of a radio beacon and the system can tell the approximate location of the aircraft going by the signals from the beacon. This system is now almost obsolete having been replaced by more modern radio and GPS based systems. It consists of several LRU’s but I only have the control box. The documents below give some information on the complete system.

Photos of the circuit boards

PDF and other downloads

.zip file containing theory of operation, user manual, partial schematics and rear connector pinout here.

Youtube Video


Vandling / Global NDB-2 aircraft navigation unit teardown

More aircraft avionics to take a look at again. This time we have a Global NDB-2 which is an optional unit for the GNS-500A navigation system commonly fitted to private business jets. This unit is a “databank” containing coordinates and other information for over 20,000 airports and airfields worldwide. It consists of a main unit and a removable memory unit which can also be upgraded via floppy disks. Yeah this thing is old – dates from the early 1980’s.

The memory unit contains a Z80 CPU with an EPROM containing the firmware, 64Kb of RAM and 256KB of battery backed SRAM for storing the database. The main unit consists of 2x ARINC-429 interface boards, a CPU board and a DC-DC converter. The CPU board is powered by a Motorola 6809 CPU and has three RS422 interfaces, two of which go to the rear panel and the other to one of the ARINC boards.

I also dumped the EPROMS and ran them through a disassembler to get Z80 and 68xx assembly code. They can be downloaded here.

Photos of the boards


Large 2.3″ 6 digit 7 segment display board for hobbyists

This project came to being when I wanted a large multi digit 7 segment LED display but I was only able to find MAX7219 or similar based display boards with digit heights up to 0.56″. Not being able to find what I wanted, I decided to make a 6 digit clock (one of my earlier projects) and as I had some larger 2.3″ displays spare I designed another 6 digit display this time with just the SPI interface so it can be connected to any microcontroller with a SPI interface.

To keep costs down I decided against using external drivers with a MAX7219 and instead went with a chain of shift registers using TPIC6B595’s as their open drain outputs can sink up to 500mA (shared between all 8 outputs) and up to 50V – ideal for the large LED displays that have a forward voltage of 8.4V. The PCB would have to be powered from 12V due to the higher voltage displays so a 7805 regulator provides the 5V power for the shift registers and the input buffer which also translates 3.3V logic levels to 5V required by the shift registers.

The board is suitable for electronics hobbyists and it provides ultra bright LED’s on the data input lines to indicate input signal status. With input signals that have a very low duty cycle the status LED’s would not light hence why ultra bright LED’s were used. Ideal for testing and development use and for use in a final, one off project. It runs off 12 volts and has an onboard regulator for the IC’s. It is compatible with 3.3V and 5V logic level inputs on the data connector.

The board was also designed with through hole components for ease of assembly and features a reverse polarity protection diode and a 5V output for powering an Arduino or similar. Current consumption with all digits and segments on is around 700mA. A 12V regulated power supply rated at 2A is needed to power this board.

I will be selling these on eBay as I build them and also maybe as kits – please see my listings to the right.

This project was sponsored by who kindly made the PCB’s for them. They are good quality and are made with black soldermask.

Demo code

SPI Display Board Instructions

YouTube video

Plessey PV1754X military radio control box teardown

In a various spending spree of avionics I bought on eBay I have a radio control box for a Plessey PTR-1751 military radio, a common unit used in several aircraft including helicopters during the 1980s and 1990’s. The radio has 7000 channels across 25khz intervals as well as AM reception on 243Mhz for emergency use. It has a power output of 10 or 20 watts and is powered from a 28V supply. Now the main unit is missing and I only have the main control box which features a 5 digit “Numitron” display which are incandescent filament 7 segment displays, which are still preferred in some uses due to their readability in a variety of conditions including night vision goggles.

Electronics wise it consists of several circuit boards populated with mainly 4000 series CMOS chips, some PLL synthesizers, transistor arrays and a custom 40 pin IC labelled NOM402L made by Mitel semiconductor which is some sort of programmable logic array.

Here are some photos and a YouTube video of the teardown.

YouTube Video

Connecting vintage incandescent (filament) displays to a microcontroller

I’d thought I’d share these cool retro 7 segment displays I obtained from an old aircraft radio. They are Wamco KW-104S direct view incandescent filament displays which are compatible with LED display driver code – just treat them like common anode 7 segment LED displays. Easy! You just have to bear in mind that they need an operating voltage of 4 volts and they draw around 15mA per segment. Due to their self current limiting nature, they do not need current limiting resistors between the driver chip and the display. Note I said driver chip as with the current drawn from these displays you are best using a power shift register such as the TPIC6B595 or a transistor array rather than driving them from the microcontroller or shift register pins directly.

A datasheet can be found here

Some images and a video


Multiplexing 7 segment displays with a shift register and transistors

In this example I will show you how to multiplex a 7 segment LED display from a microcontroller such as an Arduino without placing too much load on the microcontroller pins as I have seen in some other examples. Quite a few tutorials I’ve seen are not really good practice for electronics design – some even don’t use current limiting resistors!

Direct method (commonly seen in a lot of online examples)

A multiplexed display can be run directly from a micro without a shift register as long as the current limit of the microcontroller pins is observed, in the ATMega328’s case is 20mA typical, 40 absolute maximum per pin. But you have to watch out for the total current allowed per port and for the whole chip to avoid excessive power dissipation leading to bonding wire failure or the magic smoke. In this configuration the segments are driven from one set of pins and the digits another. This method uses a lot of pins on the microcontroller and in most cases can overload the pins used for the digits. Hence this is only suitable for 2-4 digit displays and limiting the average current per segment to 5mA or less. High efficiency LED displays are required for this method otherwise you will have a dim display. So, to solve the problem of overloading the pins on the microcontroller, transistors are a must for the digit selection as, with all digits on showing 8. 40mA could flow through one pin if an average of 5mA were to be used. This is right on the absolute maximum for the microcontroller. A PNP transistor (common anode) or NPN transistor (common cathode) is recommended. An example circuit is shown above.

One thing that you have to remember with multiplexing a single digit is only on for x number of total digits e.g. a 4 digit display is only on for 1/4 of the time so you would need to increase the current by 4 times so the segment current needs to be 20mA. That times 8 segments is 160mA – OK for some of the ports on the ATMega328P but the chip has an absolute maximum of 200mA for the whole chip. This limits the amount of current and the number of digits on your display. You could use a driver chip like the MAX7219 instead (which I really would recommend) but this isn’t the subject of this article.

Continue reading →

A digital scale controller for HX711 modules up to 99.999Kg

I was experimenting with load cells for a commercial project and thought I’d share one of the prototypes I built to test HX711 load cell modules. It’s built on Veroboard but I designed a PCB for it however never got it manufactured as you can buy one on AliExpress for around 3 Euros or a fiver on eBay so I didn’t see much point into going to the expense. This design uses an ATMega328P like my other version and a TPIC6B595 to drive the segments. PNP transistors drive the digits via multiplexing. You are free to check it out, use and adapt my code and design files as you wish but if you do end up using my design and publishing it online please give me credit in the description to say it has been adapted from my design.

As a matter of interest the other design used a differential amplifier to convert the voltage from the load cell to single ended and amplify it 100 times so it could be interfaced to an ATMega328P. It was designed to weigh each wheel of a race car by using 4 load cells making a scale for each wheel. This was so you could balance the weight distribution for better handling. We went with that design in the end so the spare HX711 modules had some other use. Which was to make my own scale for items up to 10Kg.

After building it I found that plastic is not the best thing to bolt the load cell to – it needs a stable surface that does not flex or bend such as thick steel or aluminum. But anyway whilst I can’t release my commercial project details to the public I can release information of the prototype I did not use. After all I ended up using it to weigh small items to calculate eBay postage costs and even with the plastic case it can weigh up to 5Kg accurately.

Another thing to watch out for –  I used 7 segment displays with a forward voltage of 2.2V and 47 ohm current limiting resistors giving a segment current of around 60mA which x8 segments if all lit is close to the absolute maximum of 500mA for the TPIC6B595. I would suggest if you were to make this project, use higher efficiency 7 segment displays (most modern ones are bright enough at 8mA per segment) and use 68 ohm resistors instead to reduce load on the TPIC6B595. Note I said 8mA per segment but with multiplexing over 5 digits it needs to be 8mA x 5 digits = 40mA. With a forward voltage of 1.8V that’s 5V – 1.8V = 3.2V / 68 ohms = 47mA. 47mA / 5 digits = 9.4mA which is close enough. 47 x 8 segments = 376mA which is safe enough for the shift register to handle.

Credit goes to Olkal for the HX711 library which you can find here GitHub – olkal/HX711_ADC: Arduino library for the HX711 24-bit ADC for weight scales including how to calibrate the scale for your setup.

Links and photo gallery

HX711 code (C++)

Weigh Scale Controller Gerber files

Complete project files (KiCad)

YouTube video

Build a large 6 digit clock using 1.8″ + 0.8″ LED displays and TPIC6B595 shift registers

The project

I recently bought a few LED displays as a job lot which were parts for fruit machines; the type you see in the local pub and after testing them I found that they had a nice bright red / orange colour to them and decided to use them for a large clock project. As I have not made anything for a while and had some spare time on my hands I thought I’d need to brush up on my PCB design skills and C++ coding skills. Hence this project – a large LED clock which uses 1.8″ high digits for the hours and minutes and the seconds is displayed on 0.8″ 7 segment displays. It is controlled by an ATMEGA168P microcontroller and uses TPIC6B595 shift registers to drive the common anode displays. A DS3231 high precision RTC completes the electronics. It is a large PCB measuring 270x120mm and can easily be seen from 30 feet away making it suitable for large workplaces or people with limited vision. The clock is powered from a 12V regulated power supply which can supply 800mA or more. A fuse and reverse polarity protection diode helps to prevent incorrect power supply connection from damaging the components. Finally three buttons are used for setting the time. There is provision on the PCB for a 4th button which could be used for something else if I wanted to add extra features later or with the code being open source you could make use of it yourself should you make one.

This project was sponsored by PCBway who kindly offered to make the PCB’s for them. As I have already made the prototypes using boards from JLCPCB I decided to take up their offer and made a slight design change to the PCB layout. I plan to sell these PCB’s along with the remaining version 1 PCB’s on eBay / Tindie so you can make your own if you wish. Please see the links to the right for my eBay store where you can purchase one along with a completed, assembled PCB which I will list in the coming weeks once the button boards and new TPIC6B595 chips come into stock. The version 1 PCB’s are made in green solder mask whereas version 2 has black solder mask. The source code and schematic I will show below and also there is a YouTube video explaining how the circuit and code works.

Continue reading →

Buying cheap components from Chinese suppliers – win this time!

I have a couple of electronics projects in the works which use large LED displays and as they have a forward voltage of 8.4V and 20mA current they cannot be driven directly from a microcontroller using multiplexing. I could use a bunch of driver transistors or MOSFETS but that needs 14 pins on the microcontroller for a 6 digit display. So the reasonable option here is to use a chain of shift registers instead but the common 74HC595 is unable to drive the LED displays without external transistors. However there is the TPIC6B595 which has open drain outputs so can drive common anode displays and can sink up to 50V on each pin and at 500mA for the whole chip. Plenty to drive the 7 segment displays without multiplexing which is the solution I went for. Only 4 pins required on the microcontroller – yes technically only 3 for SPI but I wanted to control the Output Enable pin with PWM to adjust the display brightness.

The only problem is I’m wanting to build these projects for cheap and the TPIC6B595 is typically £10 each or £4.99 each on eBay. So I decided to take a risk and purchased 50 of them from a Chinese supplier on eBay who was advertising them as brand new for £3.96 for 10 plus £1.17 postage. That means for just less than £21 I’m getting them for £0.42 each. Bargain! Or not…?

Well they arrived after only 2 weeks via SpeedPak and I was immediately skeptical as to the description of “new”. On inspection most were obviously reclaimed parts as they were scratched, dirty and had a variety of date codes and font styles on the chip markings. The ones that did look new had a font completely different to the rest and no date code which later were found to have been blacktopped; a process where a chip is sanded down, painted and re-labelled. However despite all this on most of them the pins were in clean, good condition and none were bent so I’m assuming they were socketed in whatever device they were stripped from in the Chinese e-waste junkyard.

Skeptical, I made a test circuit that counted from 0-9 on a 7 segment display and to my surprise only 2 of them were dud. One of the duds was the suspected fake chip which *did* work in a fashion but upon powerup all of it’s outputs were on regardless of the OE pin logic level. It did go to normal once data was fed into it. The other had one output permanently shorted so it was always on. This looked like a genuine TI chip but it was obviously reclaimed as there was solder on the pins and part of the through hole plating of the PCB it was pulled from.

So, given the cost I got a bargain here. They were mis-advertised as “new” when they clearly were not but I wasn’t going to send them back and I gave the seller positive feedback, noting however they were not new parts. Having bought fakes before I’m always skeptical of cheap electronic components from eBay but I’m not complaining in this instance.

The seller I bought them from was cayin35 – I saved the seller and bought more parts such as IC sockets, resistors etc and these all turned out to be good.

Worth a look if you are wanting to save some money. I have no issues with buying parts like this as it re-uses parts that would otherwise end up in landfill or burnt saving the environment. A small drop in the ocean but every little helps right? If sellers were a bit more honest it would be better – maybe advertising them as used and tested? But if someone had to test them I guess that would put the cost up. But still, cheaper than UK suppliers.

Edit: due to me planning to sell some of my projects I purchased some genuine, new old stock chips from a UK supplier which worked out at around £2 per chip. These were fitted to two of the units I plan to sell on eBay and the reclaimed parts were used for the prototypes and future projects I’d be selling to friends and family.

Made another YouTube stats display / NTP clock thing…

Just a quick one today – I obtained a lot of orange 0.4″ retro LED modules so I thought seem as I have a few blank PCB’s left over from my previous YouTube counter display I thought I’d make another. This one was for test purposes to see what else I could use a 4 and 8 digit display for but I never got round to it. So I thought I’d sell the unused PCB’s and semi complete PCB’s on eBay. If you would like one of the semi complete PCB’s the link is below. Let me know if you want a blank PCB and I will list one for you.

I also made some clock firmware for it as well which gets the time from the global NTP server over Wi-Fi. It’s experimental and daylight saving time isn’t implemented but I’ll put the firmware on here for download if you want to experiment and adapt it for your own use.

Clock firmware

Original blog post for YouTube Counter

Please see my eBay listings link on the right where you can buy an assembled PCB or any other of my things that you may like!

How to determine the pinout of an unknown 7 segment display

If you have an unknown 7 segment LED display and you want to use it in your project, you need to determine its pinout. The pinout is the arrangement of pins that connect the display to the power supply and the controller. There are different types of 7 segment displays, such as common anode, common cathode, multiplexed, duplexed etc. Each type has a different pinout and requires a different wiring configuration.

In this blog post, I will show you a simple method to determine the pinout of any 7 segment LED display using a multimeter and some jumper wires. You will need:

– A 7 segment LED display
– A multimeter with a continuity tester
– Some jumper wires
– A breadboard (optional)

The steps are:

Continue reading →

Call centre calls waiting and LED matrix display teardowns

SDX ACD Wallboard
SDX ACD Wallboard

I recently acquired a few scrap Seltek (now Avaya) wallboards from an insurance company’s call centre, and they turned out to be quite intriguing. Among the items were three call waiting monitors and a SDX ACD scrolling message display, also known as a “wallboard.” What caught my attention were the separate LED modules in the scrolling message display, which seemed salvageable for either electronics projects or selling on eBay.

The MAX7219 chips
The MAX7219 chips

Inside the display, I found two matrix modules, each comprised of two lines with six 8mm square LED matrices featuring 5mm LEDs. These modules were controlled by a MAX7219 driver, and the entire system was controlled by a logic board utilizing an Intel 80C186 CPU. Additionally, there was a nice 5V power supply module and a toroidal transformer.

Unfortunately, I couldn’t establish a connection between the wallboard and my computer in its original state. Despite my attempts to uncover the serial protocol with some assistance from the YouTube user killergeek, I didn’t make any progress. I suspected that my USB to RS485 adapter might not be functioning correctly, or perhaps I wasn’t using the right baud rate. Nonetheless, the wallboard presented valuable components for future projects, and I’m considering using an Arduino to control the matrix modules. This would involve replacing the original logic board since it consists of a chain of MAX7219 displays. While each line possesses its own individual data and enable lines, the clock signals are shared between them. Alternatively, I could simply connect the output from the last MAX7219 of the top line to the input of the second line.

Continue reading →