Utilizing Low Cost Linux Micro Computer &Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites
Ahmed Farid1, Ahmed Samy2, Ahmed Shalaby2, Ahmed Tarek2, Mahmoud Ayyad2, Muhammad Assem2, Samy Amin2
1 B.Sc. Graduation project, Computer Engineering Department, October University for Modern Sciences & Arts
2 B.Sc. Graduation project, Aerospace Engineering Department, Cairo University
O tliOutline• Problem Definition• Proposed Approach
• Android Smartphones• Interface Models
• Approach Description• Linux Micro‐Computers
• Proposed Improvements• Conclusion
Problem DefinitionProblem DefinitionI l t ti f t llit ti f ti liti• Implementation of satellite computing functionalities as a proof of concept, given the following circumstances:
– Minimal time span (1 Year + No prior space know‐how).– Lesser funding for overall project. (Student‐funded)– Lack of/Import restrictions on certain components.
• The following capabilities are required for the onboard computer:
– Autonomous operation. – Operating a payload camera
P idi i f (i I2C SPI A/D )– Providing necessary interfaces. (i.e. I2C, SPI, A/D… etc.) – Real‐time system monitoring. – Bidirectional communications handling.
12/12/2013 Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites 2/14
Proposed ApproachProposed ApproachRecommended Strategies:Recommended Strategies:
• Budget cannot afford space‐qualified systemsBudget cannot afford space‐qualified systems.• More focus on local markets and affordable options.• Design Complexity = Possible issues = More troubleshooting time.
Suitable approaches:
• Linux Micro‐Computers• Android Smartphones
12/12/2013 Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites 3/14
Approach DescriptionApproach DescriptionLinux Micro‐Computers Android Smartphone
Picture
Specifications Low cost (25 200$) Relatively low cost (300 500$)Specifications ‐ Low cost (25‐200$)
‐700‐1000 MHz, 512 Mb RAM
SD Card USB Ethernet Audio
‐ Relatively low‐cost (300‐500$)
‐Dual 1 GHz processor
512 2 Gb RAM‐ SD Card, USB, Ethernet, Audio
‐ Hardware I/O (µART, SPI, I2C, GPIO)
‐ Power: 1‐2 3 W
‐ 512‐2 Gb RAM
‐ Integrated camera, sensors, and SD card
‐ Power: Device and usage dependant‐ Power: 1‐2.3 W
‐Weight: 37‐45 gm
‐ Power: Device and usage dependant (Ex: Galaxy S3 is 0.45 W on normal use.)
‐ Weight: Device dependant
Disadvantages ‐Missing hardware IO in some OBCs ‐ No built‐in hardware I/O(Analog, PWM as in the Raspberry Pi)
12/12/2013 Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites 4/14
Linux Micro‐Computers:Sensor Readings Acquisition & Actuator Control
R i I l iRequirements
• Interface with sensors (I2C, SPI, A/D)• Control actuators (PWM)
Implementation
• An external MCU is used, acting as a compatibility layer (Ex: PIC16f877). ( ) p y y ( )Connections are over I2C or µART channels.
• Simple voltage level shifters were i l t d (5 3 3 )
Complications
• Some interfaces may not be available on implemented (5‐3.3 v).• Some interfaces may not be available on accessible OBCs (PWM, A/D)
• Difference in voltage logic levelsI2C
I2C UART
LinuxMicro‐computer
MCUI2C
SensorI2C
Sensor
Digital UART SPIAnalog
LinuxMicro‐computer
MCUI2C
SensorI2C
Sensor
A l A l
SDASCL
I2C
AnalogIn
PWM
Digital, UART, SPI, A di
UART
Transistor‐basedLogic‐Level Shifter
Other Hardware
Digital, UART, SPI, Audio… etc.
AnalogSensor
AnalogActuator
AnalogIn
PWM AnalogSensor
AnalogActuator
Other Hardware
Audio… etc.
I2C configuration Serial configuration
Logic Level Shifter
12/12/2013 Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites 5/14
I2C configuration Serial configuration
Linux Micro‐Computers:Operating Payload Camera
R i I l iRequirements
• Camera interface for image capturing• Image storage
Implementation
• Usage of USB cameras. (Typically webcams)g g
• Since Linux is used, interface can be done using programming libraries or ready‐made packages (fswebcam).
Complications
• Capture takes 2 seconds for 320x240 images.• UART and I2C cameras in local markets are slow in storage process.
25 Image Capture
101520
µART
g pDuration
05
10 Webcam
Linksprite Playstation Eye
12/12/2013 Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites 6/14
38.4K Baud PIL PyGame FswebcamLinkspriteµART Camera
Playstation EyeWebcam
Linux Micro‐Computers:Communications
R i I l iRequirements
• Send/Receive Data with a ground‐station• Interpret commands from a ground‐station
Implementation
• I2C, SPI, or UART are utilized in the presence of low‐level communications hardware.p g
• Robot36 was used to convert images to 36‐second sound. Modifying sampling rate helps d t i i ti
Complications
• Due to import restrictions, no low‐level long reduce transmission time.
• AFSK was used to convert binaries to sound at 1200 bps transmission speed.
range VHF/UHF transceivers are sold.• Only hand‐held radio transceivers (VHF/UHF) are available, with audio interface only.
p p
• DTMF was used to create downlink frame headers‐trailers, and as uplink commands
d kflData encoding workflow
Beacon Type: Binaries Binaries Type: Image Images ENDDownlink Transmission Example
12/12/2013 Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites 7/14
Beacon Type: Binaries Binaries Type: Image Images END
Linux Micro‐Computers:Computation & Operations Management
R i I l iRequirements
• Management of subroutines and modes.• Use of an attitude determination algorithm.
Implementation
• Modules are compiled as standalone, but called by a single controller program.g y g p g
• The controller program has two main parts: Listener and state computation.
Complications
• Prototypes and libraries not in C are time
• Attitude determination written in Matlabscript is run using Octave.
ypconsuming in code porting.
• Integrating several modules in a single C program is considerably complex.
M a i n
S u b r o u t i n e 1
S u b r o u t i n e 2
1
2
G P S
S e n s o r s
M a i n S u b r o u t i n e 2
S u b r o u t i n e 3
3G S C o m m a n d s
O p e r a t i o n sS e q u e n c e
Autonomous subroutine initiation based on state
12/12/2013 Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites
S e q u e n c e
based on state.
8/14
Android Smartphones:Sensor Readings Acquisition, Actuator Control, & Image Capture
R i I l iRequirements
• Interface with sensors .• Control actuator
Implementation
• Sensors and camera come built‐in. Only Java coding is required.
• Image capture and storage.g q
• OTG connection to external MCU (Ex: IOIO, Arduino, Attiny85) for actuators.Complications
• Phone has no low‐level hardware interface.Register
Sensor/Manager ObjectReadingsListening
ReturnReadings
Accelerometer
Gyroscope
Sensor/Manager ObjectListeningReadings
Sensor Manager GPS
Magnetometer
Readings
12/12/2013 Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites 9/14
Sensor interface code workflow Android app controlling DC fan and motor with MCU
Android Smartphones:Computations & Operations Management
R i I l iRequirements
• Management of subroutines and modes.
Implementation
• Virtual Linux OS is run in parallel to the native Android OS. (Initiated through CHROOT)Complications ( g )Complications
• Prototypes and libraries not in Java/C are time consuming in code porting.
SSH(Commands)(Commands)
Sensors MCU Robot36 AFSK
Attitude Determination
Sound Manipulator
Audio Camera
SD Card(Storage)
12/12/2013 Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites
Android Java Modules Linux Modules
10/14
Android Smartphones:Communications & Attitude DeterminationR i I l iRequirements
• Manage communications with the ground.• Use of an attitude determination algorithm.
Implementation
• Using virtual Linux technique: Codes, libraries and software packages implemented on Linux g p g pmicro‐computers are easily ported to Android (With minor modifications).
R b t36 AFSK d O t tili d
Complications
• Porting modules to Android is time costly.• Robot36, AFSK, and Octave are utilized.
RadioTransceiver
C fi(3) Audio
Comm PayloadSSTV
Sensors Actuators
Control(4) MCU Control
Android App Octave(On Linux)(1) SSH
(2) SSH
ModulationCommand
ConfirmModulation
AFSK
Images
Binaries
Android App Octave(On Linux)
(1)(2) SSH
(3) SSH
Readings
Parameters
Readings
SD Card
Images System Logs
CommAudio
12/12/2013 Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites
Logs Audio
11/14
Android communications workflow Android ADC workflow
Interface ModelsInterface Models
12/12/2013 Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites 12/14
ConclusionConclusion
Rapid Prototyping
Linux Possibilities
• Capacity building within small time and limited resources.resources.
• Faster adoption of space systems development in developing countries.
• Attracting smaller generations to learn of space• Attracting smaller generations to learn of space engineering.
Low‐cost Overcoming Technical‐non DevelopmentTechnical nonDifficulties
12/12/2013 Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites 13/14
Thank you for your timeThank you for your time.Acknowledgementsg• Our mentors: A. Sherif, A. Desoki, and M.
Khalil for their highly valued assessments and supporting us with their knowledge and expertise in the fieldexpertise in the field.
• My project colleagues for their cooperative work to reach project milestones.
• Our families and friends for their continued moral support.
The overall project is presented during the poster session as #32.
12/12/2013 Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites 14/14