Rev0SD On-Screen Display
Abstract
An on screen display can be used for first-person view (FPV) remote control of vehicles. It can display critical information about the vehicle and its location by means of a GPS and other sensors. This project aims to design a PCB that will contain a microcontroller, GPS module, on screen display IC, necessary support components and power supplies, and an RF IC to allow for data telemetry.
Project Description
This board must manage four major functions: regulate and manage power, sense current, voltage, and position, generate the on-screen display, and transmit telemetry. Figure 1 shows a block diagram of the project. The following section describes each block or function in detail.
Figure 1: rev0SD Block Diagram
Microcontroller
The MCU is a TI MSP430F5508, a 16-bit 24MHz microcontroller containing hardware peripherals for SPI, UART, ADC and USB. It contains a built-in bootloader allowing firmware upgrades over USB.
Video Generation
One of three video inputs is selected by the video switch, the BH76330FVM, which contains sync tip clamping to restore the DC level of the video signal, and a 6dB amplifier and 75Ω driver for outputting the video signal. The OSD generator is a Maxim MAX7456, which contains on-board memory to store custom characters and handles the overlay generation and synchronization.
GPS
The GPS is a GlobalTop FGPMMOPA6B module, which has a built in patch antenna and Mediatek chipset, and outputs NMEA at 38400 baud.
RF Transmitter
The RF IC is an Analog Devices ADF7012, which is a 75-1000MHz transmitter capable of FSK and ASK modes. It is controlled over SPI. A Skyworks SKY65017 100mW amplifier is used to boost the signal, and a low pass filter is added to the output to prevent harmonic or spurious emissions.
Analog and Power Management
A current sense resistor (0.5mΩ) and current sense amplifier (TI INA214) is used to measure the RC system current (up to 100A continuous), which can be read by the MCU and displayed. A TI TPS5430 step down regulator will step down the battery voltage (9-21V, 3-5s LiPo) efficiently to provide up to 3A to servos and other systems requiring a 5V supply. A linear regulator (TI TLV1117) will provide the 3.3V needed by the MCU, GPS, and RF IC. A 12.6V step up regulator (TI TPS61085) will provide up to 300mA to maintain a constant output voltage for the video transmitter to ensure consistent output power.
Schematic and Layout
The schematic was heavily based on previous projects involving the microcontroller, RF IC, and boost converter, all three of which had already been tested and developed into breakout boards for another project. These three were copied as blocks into the project. The OSD, buck converter, and analog sensors were then added, using the suggested circuits from their respective datasheets. The video switch and extra headers for more access/flexibility with the microcontroller I/O were added last. The layout began once the schematic was nearly complete. Individual functional blocks were routed first, such as the current sensor/shunt resistor, RF IC and power amplifier, buck converter, boost converter, GPS, and OSD. The microcontroller was routed last, since its layout was somewhat dependent on its I/O connections. Finally, headers and mounting points were added to the board, which required some signal traces to be moved to accommodate them. This method of routing individual blocks proved efficient and effective for this project, since there was little interplay between functional blocks, and several blocks had been built as individual pieces for past projects. The challenge in routing this board was connecting the functional blocks to the microcontroller, a 0.5mm pitch component.
Construction, Testing and Debug
For the first PCB build, a reflow/hand solder process was used. First, components requiring reflow, such as the OSD, power amplifier and buck converter, containing large thermal pads under the device, and some passive components, such as the current sense resistor, inductors, crystals, and USB connector were soldered using lead-free solder paste. After inspecting the board, solder bridges were fixed using flux and a fine-tip soldering iron. The remaining components on the buck converter were soldered, and it was tested using a current-limited bench power supply and multimeter to ensure correct operation. The remaining components were hand-soldered with 60/40 tin-lead solder and flux.
Figure 2: Partially Assembled Board
The board was powered from a current limited bench power supply and voltages were checked to ensure correct operation. The board was then connected to a computer via the USB port. The computer gave an error suggesting a problem with the microcontroller/bootloader. Inspection with an oscilloscope showed that the 24MHz crystal oscillator was not starting. A check with the multimeter showed that there was a short between the crystal input and ground. This was fixed with the soldering iron and flux. A program was then written to test the OSD generator, which revealed that the reset line was left floating, causing the device to act erratically. The MOSFET controlling the power amplifier is always on due to the difference between the 5V power rail and the 3.3V high signal the microcontroller can provide. These errors and a couple circuit improvements are corrected in the final version of the PCB.
Figure 3: Fully Assembled Board (Missing OSD Reset Fix)
Conclusions
In the development of the layout, I learned that routing individual functional blocks first saved a great amount of time and helped keep the layout clean and organized. The overall physical layout and board size were not set in stone at the beginning of the project, it was not until layout began that I decided on the credit card form factor (3.35” x 2.1”). From there, I decided that the headers, buttons, and other connectors needed to be on the perimeter of the board, and the layout progressed from there. Most of the blocks of this project were already designed and tested for use in my senior project, such as the MCU, RF IC, GPS, and boost converter. The schematic and layout for the other ICs were based on the application circuits in their datasheets. I did not read the datasheet for the Maxim OSD IC thoroughly enough and missed that the reset line must be tied high for the device to function properly. The other circuit error was simply an oversight and could have been caught with closer review. Hand soldering the components seemed to progress quicker than manually placing all the components before reflow. This process would be immensely quicker with access to a pick-and-place machine, however the time for programming and setting up the machine must also be accounted for. Lastly, as I have discovered from other PCBs, using the solder mask layer over a copper plane for logos and text works nicely and allows for a much higher resolution than the silkscreen layer. My end product achieves my goals of displaying critical information on the screen, such as battery voltage and current, distance and bearing to home, current location, speed, heading, and altitude. The project as a whole exceeded my expectations and gave me a greater understanding for the PCB design process and new experience with the reflow machine.
Downloads
- Presentation (PDF)
- BOM (PDF)
- Schematic (PDF)
- Layout (PDF)
- Firmware Instructions (PDF)