The minimum hardware Ihab specified for the Airball display (based on his earlier design and prototyping work with existing displays) was:
- A Raspberry Pi or similar embedded CPU (probably ARM) running Linux.
- A small (4" or so) daylight-readable TFT display.
- An XBee radio to receive data from the probe.
- A rotary encoder knob of some sort to configure the software.
In addition, as a result of my own testing, in order to make the solution work, I added a couple of additional requirements:
- Controllable brightness for the TFT's backlight, as daylight readable displays are insanely bright at night.
- A real-time clock to allow logging of flight and debug data with accurate timestamps.
I also had a few of my own design criteria:
- Compact – make the system as compact as possible to ensure it is usable in as many aircraft as possible, and without getting in the way too much.
- Sturdy – ensure that the system doesn't feel fragile; it should be sturdy enough to be tossed around a bit without breaking, and shouldn't feel cheap or rattly.
- Aesthetically pleasing (to me, at least) – the design should be cute, rounded, and not too clunky or boxy.
The hardware verification phase of my design was successful (if completely unwieldy to transport and use!), so I went ahead and designed a completely custom solution using all of the various components I had tested, and tastefully fit it into a 3D printed enclosure. Although I've been working slowly on the design for months, last week I pushed hard to get the design completed and make it real. On Friday last week, I finally sent the circuit board order in for fabrication, and ordered all components. On Wednesday, I received the circuit boards and started assembly, and after working through a few issues, as of this afternoon it's fully up and running.
Without further ado... here's the new Airball Display v1:
It's very slim:
Compared to the hardware verification prototype from earlier posts:
Looking inside of the case, the main space is taken up by the custom circuit board, which carries all of the components and nestles the display perfectly into the case:
The case itself consists of three custom-designed 3D-printed parts, a front and back case (both blue) which sandwich the circuit board, and a TFT mounting frame (black):
The TFT mounting frame mounts to the circuit board and holds the TFT safely and securely in exactly the right position to line up with the display connector (40-pin flat flex cable) and the cutout for the viewing area.
Once the circuit board is fully assembled and mated to the display, the whole unit can be removed from the case as a single completely functional unit for debugging and troubleshooting, as well as to make assembly into the case much easier:
Without any parts soldered, the circuit boards look like this:
For the technically minded, the following major components were used in this project:
- Raspberry Pi Compute Module 3 – an SO-DIMM 200-pin form factor version of the Raspberry Pi 3, designed to be integrated into custom solutions. I validated the CM3 using the Raspberry Pi Compute Module IO Board V3 development board.
- NewHaven Display NHD-4.3-480272EF-ASXN – a 4.3" 480x272 daylight-readable TFT display.
- Texas Instruments TFP401A – an HDMI to PanelBus (40-pin parallel RGB) converter chip to convert the Raspberry Pi's HDMI signal into something that can drive the TFT. I validated the TFP401 using the Adafruit TFP401 breakout (modified to remove the LED driver circuit and connect to my custom dimming circuit below).
- A custom TFT LED backlight dimming circuit – featuring a Bourns potentiometer as user input, an Microchip/Atmel ATtiny85 running custom firmware to sample the potentiometer and output a PWM signal, and TPS61169 boost converter LED driver to drive the 25.6V backlight from 5V. In order to validate this part of the circuit, I designed, built, and tested a separate small breakout board, which I integrated into my hardware validation prototype.
- Maxim Integrated DS3231 real-time clock – a high-precision real-time clock chip with crystal built in. I validated the DS3231 using a generic Chinese breakout board.
- A Bourns rotary encoder used as user input for configuration.
- A custom 4-layer circuit board designed in Autodesk EAGLE fabricated (perfectly and quickly!) by PCBWay in China.
- A custom 3D-printed enclosure and support components designed in Autodesk Fusion360 and printed at home on a Prusa i3 Mk3.
The design and library files for v1 as ordered are committed and pushed to GitHub, and for your convenience (or curiosity), you can also find the full schematic in PDF form as well, so you can read it without Autodesk EAGLE.
Ihab and I are about to head to Oshkosh on Saturday in my DA40... so the new Airball Display v1 will get some flight time on it very soon! See you there!