Home Software Online METAR Tool GlassPack
GlassPack Hardware Philosophy
Developing an open system like GlassPack requires us to be able to quickly adapt to rapid changes in the marketplace. Sensors that are popular today may be gone tomorrow, replaced by newer and better technology that is often also less expensive. In a landscape that changes so quickly, designing an all-encompassing circuit board to host sensors from various vendors is an almost pointless task. By the time the hardware is designed and made available to aircraft owners and builders, it may no longer be available. To reduce this risk, while still being able to embrace new sensors as they come to market, GlassPack takes a very flexible approach to hardware design.

We have designed a single circuit board with the only hard-soldered components being the microcontroller and 2 resistors that provide 'pullup' power for I2C sensors. Everything else, and we mean EVERYTHING else, is designed to be 'Plug and Replace'. This means that sensors for different tasks are not tied to the main circuit board hardware design, but rather allowed to 'Come and Go' as the market dictates. If the best orientation sensor (pitch and roll) on the market today is replaced by another, the upgrade path is as simple as unscrewing a sensor and plugging in the new one.

The main GlassPack board has plenty of room for future expansion, despite being very physically small, and we have adopted the Seeed Grove System to make hardware upgrades simple and standarized. All sensors plug into the GlassPack main circuit board using Grove connectors. Some sensors are mounted to a mounting plate that is also part of the case that holds the main computer and GlassPack main circuit board, while other sensors are connected electrically, but mounted elsewhere in the aircraft. We offer everything from ready-to-install systems to detailed instructions on how to Build Your Own GlassPack.
GlassPack Hardware
The GlassPack Controller board is an add-on to the base computer and connects to the 40-pin GPIO headers. This board provides the electrical power to the base computer, hosts a the microcontroller that communicates with sensors, and communicates with the base computer using the hardware serial bus. The controller board provides expansion via I2C, SPI, UART (Serial), and Analog/Digital IO. There are a total of 2 UART connections (1 is used by the GPS), 17 I2C connections (1 is used by the gyro/magnetometer, and 1 by the barometer/temperature/humidity sensor), 1 SPI connection, and 4 Analog/Digital connections. There are also open electrical connections on the board for ground, and 5 volt and 3.3 volt wires. The board runs on 3.3 volts and is 5 volt tolerant. All I2C and Serial connections are Seeed Grove System compatible. I2C connections share 4.7k pullup resistors on the SCL and SDA connections. The board is designed to be as easy as possible for amateurs to solder. Where possible, traces are printed on top of the board, reducing interference and the likelihood of electrical shorts when soldering on the bottom of the board. All soldering is done on the bottom side. Traces that must pass between electrical holes on the bottom, to the extent possible, do so between unsoldered connections.
 
The Raspberry Pi 3b is the base computer used in GlassPack. We create, customize, and load a version of Tiny Core Linux that is opimized for our needs. The Raspberry Pi provides the base hardware that we need, including serial IO, USB, and Wi-Fi. Audio and HDMI support are disabled because they are not needed with GlassPack and would consume additional power. Bluetooth is also disabled because GlassPack needs the hardware serial port that is normally reserved for Bluetooth to communicate with the sensor microcontroller. The Micro-USB port is only used during development and will not be available to end-users. The audio and HDMI connections will also not be physically or electrically accessible to end-users. To the base PiCore/TinyCore Linux system, we add support for Wi-Fi networking, DHCP, and DNS resolution. GlassPack is a Wi-Fi access point (router), and dynamically assigns IP addresses to connected devices. The HTTP-based server core of GlassPack is written in C# and requires the Mono runtime, which is also installed on the Pi. The Wi-Fi address of all GlassPack Servers is 192.168.152.1. There is no encryption or Wi-Fi passwords required, though protection is provided by user configurable constraints on which devices can publish data. Any device that is connected to GlassPack can receive data, but only authorized devices are allowed to publish it. Simple administration of a GlassPack Server can be performed using the web-based Admin Control Panel at http://192.168.152.1/Admin.
 
The Teensy 3.2 microcontroller was selected because it is a very high performing microcontroller based on the 72 MHz Cortex-M4, has multiple hardware serial IO ports, has excellent support for I2C, SPI, and Analog/Digital IO, consumes little power, supports 3.3 and 5 volt sensors, is 5 volt tolerant on all connections, supports loading firmware via USB, and is programmable using Arduino development tools. The price is also surprisingly low. The speed of this microcontroller, as well as its hardware serial ports, allows GlassPack to easily hit the 10hz (10 full updates per second) target rate for sensors.
 
The U-Blox M8N GPS was chosen because it is highly configurable, supports GPS+WAAS and GLONASS, and can provide 10hz updates using very little power. It acquires GPS signals very rapidly, holds the signal exceptionally well, and supports all of the NMEA sentences and data required to function well in an aviation environment. The cost is only a little more than low-end GPS receivers, and it performs great, even in harsh conditions. It also has excellent support for external GPS antennas, something that is a requirement for GlassPack since the GlassPack hardware is not likely to be installed in a place where GPS signals can easily reach.
 
The Bosch BME280 was selected because it provides very accurate barometric pressure, temperature, and humidity readings at an extremely high rate of speed, all while using very little power. The low cost of this sensor was also a contributing factor, but after reviewing many such sensors, the BME280 was simply the hands-down winner.
 
The Bosch BNO055 was chosen because it provides very accurate pitch, roll, and yaw measurements, and well as stable magnetic heading data. It is also a very small circuit that consumes little space and very little power. This sensors constantly calibrates itself, improving the accuracy of data while running. Though slightly more expensive than others in its class, it clearly outperforms them, and represents the latest generation of absolute orientation sensors.
 
Future Sensors Many more sensors are currently being reviewed and will be added to GlassPack over time. These include thermocouples to provide exhaust gas and cylinder head temperatures, tachometers, voltage monitors, fuel level sensors, ADS/B receivers, and many more. We are fully open to suggestions as well, so if you know of a sensor that could provide valuable data to GlassPack, please let us know! We are also interested in speaking with other aviation hardware vendors, as well as sensor and avionics manufacturers about integrating their products with GlassPack.