NanoSat: A Remote Sensing Nano-Satellite running Hard Real Time Control and Communication System Sending Camera Images to Ground Control Station
Aim
The project aim is to design a real-time control and communication system for a remote sensing Nano satellite that would send earth images to a control station on ground. NanoSat is a small satellite of less than 10 kg designed to monitor environmental, meteorological conditions of earth using a high resolution onboard camera. It could be fully controlled from a ground station.
NanoSat can be thought of as a prototype model using which UG/PG students in future could design a real space orbiting satellite that would consider issues such as mechanical structure, thermal, EM radiation etc. Subsystems In order for a satellite to work effectively, several different subsystems must work together: Payload: The objective of the NanoSat is to monitor earth from sky. A Digital Color Camera sensor unit is employed for this purpose. The camera is able to take a high resolution snapshot and could be commanded from a ground control station. The captured image is then sent to the ground control station and viewed on the computer as a bmp/jpeg format file. Infrared Thermal Sensor measures the amount of infrared thermal radiation incident on the satellite. Light sensor measures the incident luminosity of the satellite. Temperature sensor measures the internal temperature of the components inside the satellite. The camera view always focuses the earth independent of the satellite position. The satellite camera must always point to earth; the control system will automatically correct the error. The camera unit is mounted on a Camera Control Servo Motor in order to get rotated. The camera servo can also be controlled from the ground control station. ADCS: Attitude Determination and Control System: ADCS is used to control the satellite position in space. A Digital Magnetometer is used as the primary attitude sensor. A GPS module is used to find its position and velocity vectors along its path. It also consists of smaller thruster rockets to keep the satellite at a desired location. These motors are powered by electric or chemical fuel. Thrusters are needed because various natural forces cause satellites in orbit to drift out of position. These forces include the pressure of the solar wind, the effects of the Earth’s and moon’s gravity, and variations in the Earth’s magnetic field. A Fuel Thrust Control Servo motor enables the satellite to be controlled to stay on its path. The ADCS measures the amount of deviation of the satellite from its original path using the onboard GPS and fires the fuel thruster valves to adjust the satellite path accordingly. OBC: On-board Computer: Telemetry, Control and Command are taken care by the OBC. The OBC subsystem is built around LPC1764 ARM Cortex-M3 microcontroller operating at 100MHz. It controls all the data flow on board the satellite. Its main tasks involve supervision of NanoSat operation, telemetry data formatting, telecommand data decoding and management. It is interfaced with the Payload, Rocket Motors, Power Control, a Space GPS, Magnetometer and the Wireless Transceiver. It must also provide a time reference. The microcontroller will run an RTOS named FreeRTOS to manage the timing complexities of all the subsystems. FreeRTOS is chosen because it is a market leading open source real time kernel, known for its stability and robustness. The microcontroller peripherals exercised include USART (Universal Synchronous Asynchronous Receiver Transmitter), ADC (Analog to Digital Converter), SPI (Serial Peripheral Interface), RTC (Real Time Clock), I2C (Inter Integrated Circuit) and PWM(Pulse Width Modulator).
Communication System:
The purpose of the on board communication system is to establish the communication link between the satellite and the ground station. NanoSat uses Bluetooth as its primary communication method. This protocol is used to control the satellite unit from ground control station. The transceiver can receive the telecommand and telemetry data that will be sent to the satellite and can send data from the satellite to ground. Downlink and uplink transceivers in real satellites use a high power, long range directional antennas for earth communication. Bluetooth is just chosen here for demonstration purpose.
Ground Control Station:
A satellite sends information about its operations, called “telemetry”, back to the Earth. Based on this information, operators send commands to the satellite. NanoSat can be controlled and monitored from ground control station which is a computer that has a USB connection with the bluetooth transceiver. Satellite sent images can be viewed in bmp/jpeg format.
Wireless Firmware Update:
NanoSat also runs special Wireless Bootloader software that allows an operator to update the firmware of the main microcontroller from the ground control station. This is helpful when new features are added at a later stage in the mission. It also acts as a safety mechanism if anything went wrong.
Power System and Solar MPPT:

The power system generates electricity from Solar Cells placed on panels outside of the satellite. The solar panels extend out like wings from the satellite. The solar cells convert solar energy to electricity that is then stored in batteries inside the satellite and is used to power the electronics on board the satellite. The power bus is a battery tied bus and bus voltage is around 6.4 V. In order to derive maximum power from the solar panels, it has to face the sun all the time. The OBC runs a Maximum Power Point Tracking algorithm to correct the orientation of solar panels using a Servo Motor. The microcontroller monitors solar panel output using a Digital Power Monitor IC.

Software Tools Used:
 Programming Language: Embedded C
 Development Tool: LPCXpresso IDE (Eclipse based)
Embedded Protocols Used:
 UART, SPI, I2C
Software Libraries Used:
 Digital Color Camera driver firmware
 Bluetooth protocol stack via UART
 Magnetometer sensor driver via I2C
 Digital Power Monitor IC driver via I2C
 NMEA GPS protocol decoder via UART
 Maximum Power Point Tracking Algorithm
 FreeRTOS kernel and device drivers Library
 Cortex-M3 Peripheral Device Driver Library
 CMSIS from ARM
Project Advantages
• NanoSat is small and relatively inexpensive to build
• Easy to launch any number of satellites enabling satellite swarms
• Easy to experiment a new technology owing to its low cost
• Enables universities and students to design their own satellite
• Efficient scheduling of tasks using a Real-Time Kernel
• Automatic earth focus using self adjusting camera
• Automatic orbital error correction using micro thrusters.
• Sun tracking MPPT technology
• A built in attitude correcting mechanism
• Remote wireless programming the microcontroller from ground station
• This helps to dynamically change the firmware at runtime.
• A low power 32-bit ARM Cortex-M3 microcontroller