This document proposes utilizing low-cost Linux microcomputers and Android smartphones for onboard computing solutions on cube satellites. It outlines several approaches: using Linux microcomputers for autonomous operations, sensor interfacing, payload camera control, and communications; and using Android smartphones for built-in sensor readings, actuator control via external microcontrollers, computations, and attitude determination by running Linux modules in parallel. The approaches aim to overcome technical and budget constraints of typical space systems by enabling rapid prototyping with affordable commercial technologies.
complete construction, environmental and economics information of biomass com...
Utilizing Low-Cost Linux and Android Devices for CubeSat Computing
1. 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
2. Problem DefinitionProblem Definition
I 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
3. Proposed ApproachProposed Approach
Recommended 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
4. Approach DescriptionApproach Description
Linux 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
5. 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 levels
I2C
I2C UART
Linux
Micro‐computer
MCU
I2C
Sensor
I2C
Sensor
Digital UART SPIAnalog
Linux
Micro‐computer
MCU
I2C
Sensor
I2C
Sensor
A l A l
SDA
SCL
I2C
Analog
In
PWM
Digital, UART, SPI,
A di
UART
Transistor‐based
Logic‐Level Shifter
Other
Hardware
Digital, UART, SPI,
Audio… etc.
Analog
Sensor
Analog
Actuator
Analog
In
PWM Analog
Sensor
Analog
Actuator
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
6. 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
10
15
20
µART
g p
Duration
0
5
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 Fswebcam
Linksprite
µART Camera
Playstation Eye
Webcam
7. 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 END
Downlink 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
8. 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 Matlab
script is run using Octave.
yp
consuming 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 s
S 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
9. 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 Object
Readings
Listening
Return
Readings
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
10. 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
11. Android Smartphones:
Communications & Attitude Determination
R 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 p
micro‐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.
Radio
Transceiver
C fi
(3) Audio
Comm Payload
SSTV
Sensors Actuators
Control
(4) MCU Control
Android App
Octave
(On Linux)(1) SSH
(2) SSH
Modulation
Command
Confirm
Modulation
AFSK
Images
Binaries
Android App
Octave
(On Linux)
(1)
(2) SSH
(3) SSH
Readings
Parameters
Readings
SD Card
Images
System
Logs
Comm
Audio
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
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