Summary

Pyxida is the custom avionics system designed for use in Project Therion, and applied in future projects. The specifications for the original system were picked during the fall 2015 semester and have been refined several times since then. 

Revisions

Revision 1:

Pyxida Rev. 1 was the first iteration of the design to have a PCB. The board was designed and assembled during February 2016. It included the same sensors and microcontroller configuration of later Pyxida revisions, but was unique in that it was a BeagleBone cape that depended on the BeagleBone for power.

Revision 2:

Pyxida Rev. 2 was a minor upgrade from the original version, completed during Spring 2016. It retained the BeagleBone cape form factor of the original revision, but had its own 3.3v power so it could run the XBee more reliably and could be operated independently from the BeagleBone. It also featured standard headers for connections to other devices instead of the JST connectors used on Rev. 1. This version added continuity checking as well as battery voltage checking, though this feature required the use of the BeagleBone. As IREC 2016 drew closer, it became clear that the BeagleBone added too many complications to justify its place in the system, so it was removed and its software was ported to C++ and added to the firmware of Pyxida itself. This was the configuration used for the IREC 2016 competition flight.

Revision 3:

Pyxida Rev. 3 was the next major revision of the device, which was designed during the Fall 2016 semester. It dropped the cape form factor in favor of a simple rectangular PCB with mounting holes in the corners. It retains the ability to communicate with devices like the BeagleBone through an expansion port, but it will be fully functional on its own. The most commonly used connectors were changed from headers to screw terminals, while the less used features were moved to SATA connectors that can be connected to expansions boards to break them out to larger connectors. It features a new GPS from uBlox that handles flight better than old GPS, and also adds an accelerometer with higher-g ratings so it can be used to estimate motor performance. The last major in this revision was the addition of an onboard flash memory chip that configurations are loaded from and flight logs are saved to. 

Revision 4:

Pyxida Rev. 4 was a minor revision completed during the 2017 Spring Semester. It includes an upgraded GPS module and support for active GPS antennas.

Revision 5:

Pyxida Rev. 5 was a major revision that included a new radio chip (CC1120) to replace the old xBee radio add on. Rev. 5 Also included a new breakout board expansion to allow more modules to be added to Pyxida without the need for an entire redesign and manufacturing of a new board. Breakout for this revision included a barometer breakout, programmer breakout, and pyro breakout. Unfortunately, this revision had several hardware issues (mostly related to manufacturing) that had to be resolved with a new revision.

Pyxida 5.SLDPRT

Revision 6:

Pyxida Rev. 6 was a major revision completed during the 2018 Fall Semester. It includes a new breakout design using ribbon cables instead of pins to allow for more flexibility in placing breakouts in the avionics bay. It has a new radio chip (CC1200) and a radio amplifier (CC1190) to allow for longer range communication. It has a new backup battery system, and includes a LIPO charging feature, and allows for external batteries to be connected to Pyros if higher voltages are needed.

Pyxida Rev 6.dxf

Revision 6 I2C Addressing:

Wire0: (Wire in code)

  • 0x77 BMP280
  • 0x68 MPU9250
  • 0x53 ADXL275
  • 0x42 UBLOXMAX8

Wire1

  • 0x20 MCP23008

Wire2 (Breakout Wire)

  • 0x?? BBC

Revision 6.1:

Pyxida 6.1 is a minor revision to Pyxida 6 made in September 2019. It implemented the following changes relative to Pyxida 6:

  • Fixed minor Buzzer footprint issues
  • Corrected an inductor value error in the CC1200 PA output (L601)
  • Replaced BMP280 with MS5607 (7-bit Address 0x76)
  • Replaced CC1200 XTAL with TCXO
  • Changed through hole SMA to edge launch
  • Connected bottom layer of RF section to GND, added via stitching
  • Replaced power traces with planes in the 3rd inner layer

Bugs: Footprint of TCXO incorrect, required re-routing of 2 traces.


Pyxida 6.2 Suggested Edits:

  • Fix TCXO footprint
  • Add vias under MCP23008 (Pyro I/O expander) and MPU9250 to wick extra solder from the ground pad
    • Had issues with these parts not soldering correctly and getting lifted up due to excess solder on the central pad
  • Label test points on the bottom of the board

Firmware

Pyxida runs firmware written in Arduino-dialect C++. It follows a state machine architecture, with software objects that represent physical hardware. States are represented as objects that subclass a base state and provide functions for state entry, exit conditions and destinations, and system behavior while in the state. States can access hardware such as pyro channels and the board's radio through the previously-mentioned hardware objects and use these objects for input and output.

 

  • No labels