Low‐Cost Linux Micro‐Computer Phone Solutions...

14
Utilizing Low Cost Linux Micro Computer & Utilizing LowCost Linux MicroComputer & Android Phone Solutions on CubeSatellites Ahmed Farid 1 , Ahmed Samy 2 , Ahmed Shalaby 2 , Ahmed Tarek 2 , Mahmoud Ayyad 2 , Muhammad Assem 2 , Samy Amin 2 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 tli Outline Problem Definition Proposed Approach Android Smartphones Interface Models Approach Description Linux MicroComputers Proposed Improvements Conclusion

Transcript of Low‐Cost Linux Micro‐Computer Phone Solutions...

Page 1: Low‐Cost Linux Micro‐Computer Phone Solutions …unisec.jp/nanosat_symposium/images/report/pdf/NSS-05...Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on

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

Page 2: Low‐Cost Linux Micro‐Computer Phone Solutions …unisec.jp/nanosat_symposium/images/report/pdf/NSS-05...Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on

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

Page 3: Low‐Cost Linux Micro‐Computer Phone Solutions …unisec.jp/nanosat_symposium/images/report/pdf/NSS-05...Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on

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

Page 4: Low‐Cost Linux Micro‐Computer Phone Solutions …unisec.jp/nanosat_symposium/images/report/pdf/NSS-05...Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on

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

Page 5: Low‐Cost Linux Micro‐Computer Phone Solutions …unisec.jp/nanosat_symposium/images/report/pdf/NSS-05...Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on

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

Page 6: Low‐Cost Linux Micro‐Computer Phone Solutions …unisec.jp/nanosat_symposium/images/report/pdf/NSS-05...Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on

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

Page 7: Low‐Cost Linux Micro‐Computer Phone Solutions …unisec.jp/nanosat_symposium/images/report/pdf/NSS-05...Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on

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

Page 8: Low‐Cost Linux Micro‐Computer Phone Solutions …unisec.jp/nanosat_symposium/images/report/pdf/NSS-05...Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on

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

Page 9: Low‐Cost Linux Micro‐Computer Phone Solutions …unisec.jp/nanosat_symposium/images/report/pdf/NSS-05...Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on

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

Page 10: Low‐Cost Linux Micro‐Computer Phone Solutions …unisec.jp/nanosat_symposium/images/report/pdf/NSS-05...Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on

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

Page 11: Low‐Cost Linux Micro‐Computer Phone Solutions …unisec.jp/nanosat_symposium/images/report/pdf/NSS-05...Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on

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

Page 12: Low‐Cost Linux Micro‐Computer Phone Solutions …unisec.jp/nanosat_symposium/images/report/pdf/NSS-05...Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on

Interface ModelsInterface Models

12/12/2013 Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on Cube‐Satellites 12/14

Page 13: Low‐Cost Linux Micro‐Computer Phone Solutions …unisec.jp/nanosat_symposium/images/report/pdf/NSS-05...Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on

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

Page 14: Low‐Cost Linux Micro‐Computer Phone Solutions …unisec.jp/nanosat_symposium/images/report/pdf/NSS-05...Utilizing Low‐Cost Linux Micro‐Computer & Android Phone Solutions on

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