DESIGN OF A CUBESAT PAYLOAD INTERFACE. Jason Axelson Department of Electrical Engineering University of Hawai i at Mānoa Honolulu, HI ABSTRACT

Size: px
Start display at page:

Download "DESIGN OF A CUBESAT PAYLOAD INTERFACE. Jason Axelson Department of Electrical Engineering University of Hawai i at Mānoa Honolulu, HI ABSTRACT"

Transcription

1 DESIGN OF A CUBESAT PAYLOAD INTERFACE Jason Axelson Department of Electrical Engineering University of Hawai i at Mānoa Honolulu, HI ABSTRACT Typically, a complete satellite will be designed around each payload. This has several drawbacks, such as larger budgets and a longer development cycle. However, it does not need to be this way. A standardized payload interface can help alleviate these issues and allow for a lighter budget and a tighter development schedule. To avoid these problems a modular payload interface was designed to support multiple CubeSat payloads. A large part of this work involved designing the Application Programming Interface for the payload to interact with the satellite s main microprocessor. The motivation for a modular interface is to reduce the budget and development schedule. INTRODUCTION The main advantages of CubeSats over larger, more traditional commercial satellites are the shorter development time and lower cost. In addition, CubeSats are also a fantastic tool for introducing students to the various interrelated aspects of satellite design. The purpose of my project is to ease the challenge of developing a CubeSat for any arbitrary future missions by developing a standard CubeSat payload interface. Upon the successful completion of my project, new CubeSat teams will find it easier and more efficient to integrate a new payload into their design. My proposal focuses on creating an application programming interface (API) for communicating with the payload. OVERVIEW An API would allow CubeSat teams to write code once and then use it on multiple processors. However, there is more to the payload interface than just the API. There are also voltage and data connections to consider. The voltages provided will vary from satellite to satellite but generally there will be at least 3.3V and 5V provided. It is important to note that the choice of voltages provided by the hardware is completely orthogonal to the design of the API. The only thing that matters for the API are the peripheral connections to the payload such as SPI, I 2 C, and UART. Figure 1 shows the basic form of the API. It shows how the satellite team will write code that will target the API that will then run on different processors.

2 Figure 1 API Overview PURPOSE OF THE APPLICATION PROGRAMMING INTERFACE The purpose of the application programming interface is to provide one interface to the processor of the satellite. Ideally this would mean that any code written that complies with the API will work on any processor supported by the API. However, this level of support would be counterproductive. It would entail a much larger initial expenditure in creating the API because many more cases would need to be considered, rather than just the common cases. Instead the API focuses on easing the important task of working with the various communication protocols, and automating common tasks. HARDWARE The PIC microprocessor platform, which was developed by Microchip, was chosen for this project because I have experience working with this family of microprocessors. In particular the dspic33f family of PIC microprocessors was used to prototype the various aspects of the payload interface. The dspic33f family was chosen largely because it provides Direct Memory Access (DMA). DMA is a technology that allows a peripheral controller to directly access system memory. This means that the peripheral can happily be transferring data without the processor being involved at all (besides some setup and teardown). Have you ever noticed your computer slow to a crawl as you transfer you photography collection to your USB stick? DMA helps avoid these types of situations. So instead of the processor controlling the flow of information, it can happen in the background. However, since the PIC is not the only microprocessor commonly used on satellites, I also researched the AVR family of microprocessors. It has been used by many other spacecraft programs such as the University of Colorado s DANDE (Drag and Atmospheric Neutral Density Explorer), which uses a 32-bit Atmel AVR as the main processor as well as several other AVR chipsˡ. My experience with the Arduino and AVR will be detailed in the section titled: Working with the AVR.

3 API DETAILS There are two main parts to the API, the interface itself, and the drivers. The interface is an abstract concept that is implemented by the drivers. This means that the API is basically a contract that needs to be described while the drivers actually need to be implemented. At first the plan was to implement a driver for both PIC microcontrollers and AVR microcontrollers. However, after further investigation it was decided that an API that worked on both platforms would not be feasible due to the large differences between the two platforms. Some of the differences include entirely different registers with a different set of semantics. This means that translating between the two would hide too much of the implementation details which would eventually become a net negative for the satellite team. PROTOCOLS One of the major tasks for the microprocessor of any satellite is to interface with the many peripherals aboard the satellite. Therefore working with the many protocols used by peripherals is one of the primary requirements for the API. The function names in the API are prefixed with ss, which stands for small satellite. This is to make it clear that this code is specific to the Small satellite lab, to help improve readability of the code. As an example I will go over I 2 C in detail. I 2 C Inter-Integrated Circuit (I 2 C) is a two wire serial communication protocol often used for satellite peripherals. Table 1 shows a listing of the low-level I 2 C commands in the API, while Table 2 shows the higher-level commands that are built on top of the low-level commands. It is important to note that it is not the intention that the satellite programmers only use the high-level commands, they are only included as a convenience to make the code easier to write, read, and maintain. Table 1 I 2 C Low-level Commands Function Name Description ss_acki2c Generate I 2 C acknowledge condition ss_closei2c Disable the I 2 C module ss_configinti2c Configure interrupts for I 2 C ss_datardyi2c Checks if the receive buffer is full ss_idlei2c Generate I 2 C wait condition and wait until I 2 C bus is idle ss_mastergetsi2c Get a set length string from I 2 C bus ss_masterputsi2c Write a string to the I 2 C bus ss_masterreadi2c Read a byte from the I 2 C bus ss_masterwritei2c Write a byte to the I 2 C bus ss_nacki2c Generate I 2 C negative acknowledge condition ss_openi2c Configures and enables the I 2 C module ss_restarti2c Generate I 2 C restart condition ss_starti2c Generate I 2 C start condition ss_stopi2c Generate I 2 C stop condition

4 Table 2 I 2 C High-level Commands Function Name Description ss_startwrite Start a write command to listed recipient ss_startread Start a read command to listed recipient ss_sendstringi2c Sends a string to the listed recipient ss_readdatai2c Reads data from the listed recipient The low-level I 2 C functions are based on the functions provided by the PIC peripheral library. They are intended to present a more uniform interface to the peripherals than is provided by the peripheral library itself. Also, I avoid the need to have multiple versions of the same function, for example the PIC peripheral library has multiple versions of most of the above functions corresponding to the multiple I 2 C peripheral modules. So for example there would be OpenI2C1 and OpenI2C2, if you want to enable the first I 2 C module you need to use OpenI2C1, and if you want to use the second you need to use OpenI2C2. Another benefit to creating a wrapper over the PIC peripheral library is that since the peripheral library is not perfect, there are bound to be bugs or suboptimal behavior within the library. By creating a wrapper for the library, it is possible to fix those bugs by simply implementing our own version of the function in the wrapper rather than calling the PIC peripheral library. Other Protocols Of course I 2 C is not the only protocol that is worth implementing. While, the other protocols will not be described in detail, they have still been implemented and tested, although not to the extent that I 2 C has. The other communication protocols implemented include UART, GPIO, ADC, and most of SPI along with some general helper functions such as delay and debug facilities. UART (Universal Asynchronous Receiver/Transmitter), is also known as serial or RS UART is the serial transmission of bytes over a single wire (in each direction). It is commonly used by devices such as radios and modems. GPIO (General Purpose Input/Output) is used for digital input and output, such as flashing an LED or reading a digital line. ADC (Analog to Digital Conversion) is reading an analog value from a pin and converting it to a digital value. It is commonly used in temperature sensors and some battery monitors. SPI (Serial Peripheral Interface) is similar to UART, but includes a clock running from the master to the slave as well as inputs to enable or disable each individual slave device. SPI is most commonly used for EEPROMS which are a common means of data storage on satellites. SPI is sometimes preferred over I 2 C because it has a significantly higher data transfer rate. Delay functions are useful for timing purposes as well as to aid in debugging. Without using delay functions, many operation will happen much faster than the human eye is able to detect. For example, an LED will blink so quickly that it will appear to always be on to the casual observer, and some type of debugging device will be necessary to discern the rapidly changing voltage, such as Logic or an oscilloscope.

5 WORKING WITH THE AVR As part of the project I attempted to generalize the API to the AVR microcontroller platform. To this end I purchased two Arduino Duemilanove s. Arduino is a platform that is based on the AVR family of microcontrollers; in this case the Duemilanove is based on an ATmega328. Arduino provides a set of libraries that make working with the microcontroller much simpler, but at the same time restrict advanced techniques. For this reason, Arduino makes a poor choice for a satellite project. Both the Arduino and AVR were researched and tested. It was concluded that there is not enough benefit to extending the API to cover the AVR microcontroller to offset the high costs. Also not many people at UH have experience working with the AVR compared to those that have experience working with PICs. TESTING THE API The API has been tested with several common peripherals. Of course the simplest peripheral is a simple blinking LED. For this only the STDIO (Standard Input/Output) pins were needed. This was mostly a test about getting the PIC working to an acceptable level. After getting basic input and output working the next step was to try one of the various communication protocols. I 2 C was selected because it is relatively simple, and is commonly used on satellites. Since I 2 C is a high-speed serial protocol, it is difficult to debug with a simple multimeter. An oscilloscope can help, but it is rather limited and does not help you analyze the protocol and it is easy to miss the short transmissions altogether. To deal with issues a Saleae Logic Analyzer was purchased. The Saleae Logic Analyzer greatly simplifies the task of debugging the common communication protocols. Figure 2 shows an example of debugging the API with Logic using the I 2 C protocol. Note that it is able to capture only when pin 3 s (I 2 C SDA) value changes from 1 to 0, which indicates the I 2 C start condition (labeled by logic with Start ). Figure 2 Example I 2 C Debugging with Logic Furthermore it is easy to see that we are doing an I 2 C write to address 0x9, which is the address of the BlinkM smart LED ˡ. Next we write the hex value of 0x67 which has the ASCII value c, which stands for the command Get current RGB ColorError! Bookmark not

6 defined.. For this command it is necessary to first write a c to the BlinkM and then generate a repeated start (restart) condition (noted by the start label on the right of Figure 2). The repeated start condition is then followed by a read of 3 bytes to read back the RGB color value. ss_openi2c(1); // Defaults are okay (using 1 st I2C Module) ss_starti2c(1); // Generate I2C start condition ss_startwritei2c(1, 0x09); // Start write command to 0x09 (BlinkM) ss_writei2c(1, c ); // Send ASCII c command to BlinkM ss_restarti2c(1, c ); // Generate I2C restart condition ss_startreadi2c(1, 0x09); // Start read to BlinkM (Address 0x09) char str[3]; Figure 3 Example API Code Listing // Create array of 3 chars Figure 3 Shows an example use of the API to accomplish the task of reading the RGB color from a BlinkM. If the API was not used, more code would be needed. Also this code listing includes the use of two of the more useful higher-level I 2 C functions, ss_startwritei2c and ss_startreadi2c. They are useful because they set the read/write bit automatically. This saves the programmer from doing an error-prone calculation before sending the byte out on the I 2 C bus. The byte consists of the concatenation of the 7-bit address and the read/write bit. So to start a read to address 0x09 it is necessary to shift 0x09 to the left one bit and add 1 (indicating a read), which results in the value 0x13. Similarly a write would be sending the value 0x12 onto the bus, since the read/write bit is set to 0. CONCLUSION A CubeSat payload interface was described in this paper. It is not yet complete, but it is ready to be used and improved under an actual CubeSat satellite project. The main intention of the payload interface is to simplify the process of integrating a satellite with a payload. The payload interface and API certainly help with this, thus helping to ensure the successful operation of the payload and satellite. ACKNOWLEDGEMENTS I would like to thank NASA and the Hawaii Space Grant Consortium for supporting my research and providing me with this great opportunity to experience engineering directly. I would also like to thank Dr. Shiroma and the Small Satellite Laboratory for providing the facilities for my work and invaluable guidance. REFERENCES ˡBrandon G., James G., Eric M., Gabe T. (2007) Team DANDE Preliminary Review Presentation. University of Colorodo at Boulder ²ThingM Labs (2009) blinkm datasheet v ThingM <

7

To be familiar with the USART (RS-232) protocol. To be familiar with one type of internal storage system in PIC (EEPROM).

To be familiar with the USART (RS-232) protocol. To be familiar with one type of internal storage system in PIC (EEPROM). Lab # 6 Serial communications & EEPROM Objectives To be familiar with the USART (RS-232) protocol. To be familiar with one type of internal storage system in PIC (EEPROM). Serial Communications Serial

More information

Mercury System SB310

Mercury System SB310 Mercury System SB310 Ultrasonic Board - Product Datasheet Author Francesco Ficili Date 20/05/2018 Status Released Pag. 1 Revision History Version Date Author Changes 1.0 20/05/2018 Francesco Ficili Initial

More information

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Ali Karimpour Associate Professor Ferdowsi University of Mashhad AUTOMATIC CONTROL SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad Main reference: Christopher T. Kilian, (2001), Modern Control Technology: Components and Systems Publisher: Delmar

More information

Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform.

Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform. Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform www.sierraradio.net www.hamstack.com Topics Introduction Hardware options Software development HamStack project

More information

Network Embedded Systems Sensor Networks Fall Hardware. Marcus Chang,

Network Embedded Systems Sensor Networks Fall Hardware. Marcus Chang, Network Embedded Systems Sensor Networks Fall 2013 Hardware Marcus Chang, mchang@cs.jhu.edu 1 Embedded Systems Designed to do one or a few dedicated and/or specific functions Embedded as part of a complete

More information

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad Objectives To be familiar with microcontrollers, PIC18F4550 microcontroller. Tools PIC18F4550 Microcontroller, MPLAB software,

More information

Basics of UART Communication

Basics of UART Communication Basics of UART Communication From: Circuit Basics UART stands for Universal Asynchronous Receiver/Transmitter. It s not a communication protocol like SPI and I2C, but a physical circuit in a microcontroller,

More information

or between microcontrollers)

or between microcontrollers) : Communication Interfaces in Embedded Systems (e.g., to interface with sensors and actuators or between microcontrollers) Spring 2016 : Communication Interfaces in Embedded Systems Spring (e.g., 2016

More information

Serial Communications

Serial Communications April 2014 7 Serial Communications Objectives - To be familiar with the USART (RS-232) protocol. - To be able to transfer data from PIC-PC, PC-PIC and PIC-PIC. - To test serial communications with virtual

More information

Prefetch Cache Module

Prefetch Cache Module PIC32 TM Prefetch Cache Module 2008 Microchip Technology Incorporated. All Rights Reserved. PIC32 Prefetch Cache Module Slide 1 Hello and welcome to the PIC32 Prefetch Cache Module webinar. I am Nilesh

More information

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Ali Karimpour Associate Professor Ferdowsi University of Mashhad AUTOMATIC CONTROL SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad Main reference: Christopher T. Kilian, (2001), Modern Control Technology: Components and Systems Publisher: Delmar

More information

Amarjeet Singh. January 30, 2012

Amarjeet Singh. January 30, 2012 Amarjeet Singh January 30, 2012 Website updated - https://sites.google.com/a/iiitd.ac.in/emsys2012/ Lecture slides, audio from last class Assignment-2 How many of you have already finished it? Final deadline

More information

Nano RK And Zigduino. wnfa ta course hikaru4

Nano RK And Zigduino. wnfa ta course hikaru4 Nano RK And Zigduino wnfa ta course hikaru4 Today's outline Zigduino v.s. Firefly Atmel processor and the program chip I/O Interface on the board Atmega128rfa1, FTDI chip... GPIO, ADC, UART, SPI, I2C...

More information

CSE 466 Exam 1 Winter, 2010

CSE 466 Exam 1 Winter, 2010 This take-home exam has 100 points and is due at the beginning of class on Friday, Feb. 13. (!!!) Please submit printed output if possible. Otherwise, write legibly. Both the Word document and the PDF

More information

TEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software!

TEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software! Summer Training 2016 Advance Embedded Systems Fast track of AVR and detailed working on STM32 ARM Processor with RTOS- Real Time Operating Systems Covering 1. Hands on Topics and Sessions Covered in Summer

More information

Microcontroller basics

Microcontroller basics FYS3240 PC-based instrumentation and microcontrollers Microcontroller basics Spring 2017 Lecture #4 Bekkeng, 30.01.2017 Lab: AVR Studio Microcontrollers can be programmed using Assembly or C language In

More information

Unlocking the Potential of Your Microcontroller

Unlocking the Potential of Your Microcontroller Unlocking the Potential of Your Microcontroller Ethan Wu Storming Robots, Branchburg NJ, USA Abstract. Many useful hardware features of advanced microcontrollers are often not utilized to their fullest

More information

ARDUINO BOARD LINE UP

ARDUINO BOARD LINE UP Technical Specifications Pinout Diagrams Technical Comparison Board Name Processor Operating/Input Voltage CPU Speed Analog In/Out Digital IO/PWM USB UART 101 Intel Curie 3.3 V/ 7-12V 32MHz 6/0 14/4 Regular

More information

EDBG. Description. Programmers and Debuggers USER GUIDE

EDBG. Description. Programmers and Debuggers USER GUIDE Programmers and Debuggers EDBG USER GUIDE Description The Atmel Embedded Debugger (EDBG) is an onboard debugger for integration into development kits with Atmel MCUs. In addition to programming and debugging

More information

Diploma in Embedded Systems

Diploma in Embedded Systems Diploma in Embedded Systems Duration: 5 Months[5 days a week,3 hours a day, Total 300 hours] Module 1: 8051 Microcontroller in Assemble Language Characteristics of Embedded System Overview of 8051 Family

More information

acret Ameya Centre for Robotics & Embedded Technology Syllabus for Diploma in Embedded Systems (Total Eight Modules-4 Months -320 Hrs.

acret Ameya Centre for Robotics & Embedded Technology Syllabus for Diploma in Embedded Systems (Total Eight Modules-4 Months -320 Hrs. acret Ameya Centre for Robotics & Embedded Technology Syllabus for Diploma in Embedded Systems (Total Eight Modules-4 Months -320 Hrs.) Module 0 Introduction Introduction to Embedded Systems, Real Time

More information

Universität Dortmund. IO and Peripheral Interfaces

Universität Dortmund. IO and Peripheral Interfaces IO and Peripheral Interfaces Microcontroller System Architecture Each MCU (micro-controller unit) is characterized by: Microprocessor 8,16,32 bit architecture Usually simple in-order microarchitecture,

More information

Serial Communication

Serial Communication Serial Communication What is serial communication? Basic Serial port operation. Classification of serial communication. (UART,SPI,I2C) Serial port module in PIC16F887 IR Remote Controller Prepared By-

More information

Prototyping Module Datasheet

Prototyping Module Datasheet Prototyping Module Datasheet Part Numbers: MPROTO100 rev 002 Zenseio LLC Updated: September 2016 Table of Contents Table of Contents Functional description PROTOTYPING MODULE OVERVIEW FEATURES BLOCK DIAGRAM

More information

Parallel Data Transfer. Suppose you need to transfer data from one HCS12 to another. How can you do this?

Parallel Data Transfer. Suppose you need to transfer data from one HCS12 to another. How can you do this? Introduction the Serial Communications Huang Sections 9.2, 10.2, 11.2 SCI Block User Guide SPI Block User Guide IIC Block User Guide o Parallel vs Serial Communication o Synchronous and Asynchronous Serial

More information

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design ECE 1160/2160 Embedded Systems Design Midterm Review Wei Gao ECE 1160/2160 Embedded Systems Design 1 Midterm Exam When: next Monday (10/16) 4:30-5:45pm Where: Benedum G26 15% of your final grade What about:

More information

Embedded Systems and Software. Serial Interconnect Buses I 2 C (SMB) and SPI

Embedded Systems and Software. Serial Interconnect Buses I 2 C (SMB) and SPI Embedded Systems and Software Serial Interconnect Buses I 2 C (SMB) and SPI I2C, SPI, etc. Slide 1 Provide low-cost i.e., low wire/pin count connection between IC devices There are many of serial bus standards

More information

Growing Together Globally Serial Communication Design In Embedded System

Growing Together Globally Serial Communication Design In Embedded System Growing Together Globally Serial Communication Design In Embedded System Contents Serial communication introduction......... 01 The advantages of serial design......... 02 RS232 interface......... 04 RS422

More information

Lab Course Microcontroller Programming

Lab Course Microcontroller Programming Technische Universität München Fakultät für Informatik Forschungs- und Lehreinheit Informatik VI Robotics and Embedded Systems Lab Course Microcontroller Programming Michael Geisinger geisinge@in.tum.de

More information

Introduction the Serial Communications Parallel Communications Parallel Communications with Handshaking Serial Communications

Introduction the Serial Communications Parallel Communications Parallel Communications with Handshaking Serial Communications Introduction the Serial Communications Parallel Communications Parallel Communications with Handshaking Serial Communications o Asynchronous Serial (SCI, RS-232) o Synchronous Serial (SPI, IIC) The MC9S12

More information

Doc: page 1 of 8

Doc: page 1 of 8 Minicon Reference Manual Revision: February 9, 2009 Note: This document applies to REV C of the board. 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview The Minicon board is a

More information

USER GUIDE EDBG. Description

USER GUIDE EDBG. Description USER GUIDE EDBG Description The Atmel Embedded Debugger (EDBG) is an onboard debugger for integration into development kits with Atmel MCUs. In addition to programming and debugging support through Atmel

More information

VLSI Design Lab., Konkuk Univ. Yong Beom Cho LSI Design Lab

VLSI Design Lab., Konkuk Univ. Yong Beom Cho LSI Design Lab AVR Training Board-I V., Konkuk Univ. Yong Beom Cho ybcho@konkuk.ac.kr What is microcontroller A microcontroller is a small, low-cost computeron-a-chip which usually includes: An 8 or 16 bit microprocessor

More information

AVR MICROCONTROLLER PROJECT TUTORIAL E-PUB

AVR MICROCONTROLLER PROJECT TUTORIAL E-PUB 14 May, 2018 AVR MICROCONTROLLER PROJECT TUTORIAL E-PUB Document Filetype: PDF 151.29 KB 0 AVR MICROCONTROLLER PROJECT TUTORIAL E-PUB Premium source of Projects Tutorials Code Ebooks Library for Atmels

More information

Goal: We want to build an autonomous vehicle (robot)

Goal: We want to build an autonomous vehicle (robot) Goal: We want to build an autonomous vehicle (robot) This means it will have to think for itself, its going to need a brain Our robot s brain will be a tiny computer called a microcontroller Specifically

More information

Embedded Systems. Software Development & Education Center. (Design & Development with Various µc)

Embedded Systems. Software Development & Education Center. (Design & Development with Various µc) Software Development & Education Center Embedded Systems (Design & Development with Various µc) Module 1: Embedded C Programming INTRODUCTION TO EMBEDDED SYSTEM History & need of Embedded System Basic

More information

Developing Reusable Device Drivers for MCU's

Developing Reusable Device Drivers for MCU's Embedded Systems Conference East 2012 Page 1 of 20 Developing Reusable Device Drivers for MCU's By Jacob Beningo www.beningo.com http://www.linkedin.com/in/jacobbeningo twitter : Jacob_Beningo EDN Blog

More information

CN310 Microprocessor Systems Design

CN310 Microprocessor Systems Design CN310 Microprocessor Systems Design Microcontroller Nawin Somyat Department of Electrical and Computer Engineering Thammasat University Outline Course Contents 1 Introduction 2 Simple Computer 3 Microprocessor

More information

Embedded Systems. Read pages

Embedded Systems. Read pages Embedded Systems Read pages 385-417 Definition of Embedded Systems Embedded systems Computer dedicated to serve specific purposes Many physical systems today use computer for powerful and intelligent applications

More information

Doc: page 1 of 6

Doc: page 1 of 6 Nanocon Reference Manual Revision: February 9, 2009 Note: This document applies to REV A-B of the board. 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview The Nanocon board is

More information

Raspberry Pi - I/O Interfaces

Raspberry Pi - I/O Interfaces ECE 1160/2160 Embedded Systems Design Raspberry Pi - I/O Interfaces Wei Gao ECE 1160/2160 Embedded Systems Design 1 I/O Interfaces Parallel I/O and Serial I/O Parallel I/O: multiple input/output simultaneously

More information

ARDUINO MEGA 2560 REV3 Code: A000067

ARDUINO MEGA 2560 REV3 Code: A000067 ARDUINO MEGA 2560 REV3 Code: A000067 The MEGA 2560 is designed for more complex projects. With 54 digital I/O pins, 16 analog inputs and a larger space for your sketch it is the recommended board for 3D

More information

PD215 Mechatronics. Week 3/4 Interfacing Hardware and Communication Systems

PD215 Mechatronics. Week 3/4 Interfacing Hardware and Communication Systems PD215 Mechatronics Week 3/4 Interfacing Hardware and Communication Systems Interfacing with the physical world A compute device (microprocessor) in mechatronic system needs to accept input information

More information

PIC Microcontroller and

PIC Microcontroller and PIC Microcontroller and Embedded d Systems Muhammad Ali Mazidi, Rolin McKinlay and Danny Causey Eng. Husam Alzaq The Islamic Uni. Of Gaza The PIC ucs 1-1 Chapter 1: The PIC Microcontrollers: History and

More information

COL862 - Low Power Computing

COL862 - Low Power Computing COL862 - Low Power Computing Power Measurements using performance counters and studying the low power computing techniques in IoT development board (PSoC 4 BLE Pioneer Kit) and Arduino Mega 2560 Submitted

More information

Interfacing Techniques in Embedded Systems

Interfacing Techniques in Embedded Systems Interfacing Techniques in Embedded Systems Hassan M. Bayram Training & Development Department training@uruktech.com www.uruktech.com Introduction Serial and Parallel Communication Serial Vs. Parallel Asynchronous

More information

Lesson I2C. I²C (Inter-Integrated Circuit) Lab Assignment: I2C Slave Driver

Lesson I2C. I²C (Inter-Integrated Circuit) Lab Assignment: I2C Slave Driver Lesson I2C I²C (Inter-Integrated Circuit) Lab Assignment: I2C Slave Driver I²C (Inter-Integrated Circuit) What is I 2 C I2C is pronounced "eye-squared see". It is also known as "TWI" because of the initial

More information

3.3V regulator. JA H-bridge. Doc: page 1 of 7

3.3V regulator. JA H-bridge. Doc: page 1 of 7 Digilent Cerebot Board Reference Manual Revision: 11/17/2005 www.digilentinc.com 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview The Digilent Cerebot Board is a useful tool for

More information

Digital Storage Oscilloscope

Digital Storage Oscilloscope Digital Storage Oscilloscope GDS-3000 Series SERIAL DECODE MANUAL GW INSTEK PART NO. 82DS-SBD00U01 ISO-9001 CERTIFIED MANUFACTURER October 2010 This manual contains proprietary information, which is protected

More information

SPI Universal Serial Communication Interface SPI Mode

SPI Universal Serial Communication Interface SPI Mode SPI Universal Serial Communication Interface SPI Mode Serial Peripheral Interface (SPI) is not really a protocol, but more of a general idea. It s the bare-minimum way to transfer a lot of data between

More information

Arduino Uno R3 INTRODUCTION

Arduino Uno R3 INTRODUCTION Arduino Uno R3 INTRODUCTION Arduino is used for building different types of electronic circuits easily using of both a physical programmable circuit board usually microcontroller and piece of code running

More information

ARDUINO MEGA INTRODUCTION

ARDUINO MEGA INTRODUCTION ARDUINO MEGA INTRODUCTION The Arduino MEGA 2560 is designed for projects that require more I/O llines, more sketch memory and more RAM. With 54 digital I/O pins, 16 analog inputs so it is suitable for

More information

Part 1 Using Serial EEPROMs

Part 1 Using Serial EEPROMs Part 1 Using Serial EEPROMs copyright 1997, 1999 by Jan Axelson If you have a project that needs a modest amount of nonvolatile, read/write memory, serial EEPROM may be the answer. These tiny and inexpensive

More information

Board Mounted. Power Converters. Digitally Controlled. Technical Paper 011 Presented at Digital Power Europe 2007

Board Mounted. Power Converters. Digitally Controlled. Technical Paper 011 Presented at Digital Power Europe 2007 Digitally Controlled Board Mounted Power Converters Technical Paper 011 Presented at Digital Power Europe 2007 This paper addresses hardware designers of Information and Communication Technology equipment,

More information

PSIM Tutorial. How to Use SPI in F2833x Target. February Powersim Inc.

PSIM Tutorial. How to Use SPI in F2833x Target. February Powersim Inc. PSIM Tutorial How to Use SPI in F2833x Target February 2013-1 - Powersim Inc. With the SimCoder Module and the F2833x Hardware Target, PSIM can generate ready-to-run codes for DSP boards that use TI F2833x

More information

I2C and SPI Foundation

I2C and SPI Foundation Revision 30 September 2010 Release I2C and SPI Foundation 17 March 2018 changed ref: command f to x Introduction I2C (I squared C) and SPI (Serial peripheral Interface) are two main ways that microcontrollers

More information

PIC Serial Peripheral Interface (SPI) to Digital Pot

PIC Serial Peripheral Interface (SPI) to Digital Pot Name Lab Section PIC Serial Peripheral Interface (SPI) to Digital Pot Lab 7 Introduction: SPI is a popular synchronous serial communication protocol that allows ICs to communicate over short distances

More information

AVR Training Board-I. VLSI Design Lab., Konkuk Univ. LSI Design Lab

AVR Training Board-I. VLSI Design Lab., Konkuk Univ. LSI Design Lab AVR Training Board-I V., Konkuk Univ. Tae Pyeong Kim What is microcontroller A microcontroller is a small, low-cost computeron-a-chip which usually includes: An 8 or 16 bit microprocessor (CPU). A small

More information

32 bit Micro Experimenter Board Description and Assembly manual

32 bit Micro Experimenter Board Description and Assembly manual 32 bit Micro Experimenter Board Description and Assembly manual Thank you for purchasing the KibaCorp 32 bit Micro Experimenter. KibaCorp is dedicated to Microcontroller education for the student, hobbyist

More information

1.0. Presents. techathon 3.0

1.0. Presents. techathon 3.0 1.0 Presents techathon 3.0 Course Content - techathon techathon 3.0 is a Robotics and Embedded systems Workshop designed by team Robo-Minions. It is a 2 days workshop with each day divided into two sessions

More information

FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100)

FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100) (Revision-10) FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100) PART-A (Maximum marks : 10) I. Answer all

More information

Cerebot Nano Reference Manual. Overview. Revised April 15, 2016 This manual applies to the Cerebot Nano rev. A

Cerebot Nano Reference Manual. Overview. Revised April 15, 2016 This manual applies to the Cerebot Nano rev. A 1300 Henley Court Pullman, WA 99163 509.334.6306 www.digilentinc.com Cerebot Nano Reference Manual Revised April 15, 2016 This manual applies to the Cerebot Nano rev. A Overview The Cerebot Nano is the

More information

Doc: page 1 of 6

Doc: page 1 of 6 Cerebot Nano Reference Manual Revision: February 6, 2009 Note: This document applies to REV A of the board. www.digilentinc.com 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview

More information

Technical Specification for Educational Robots

Technical Specification for Educational Robots Technical Specification for Educational Robots 1. Introduction The e-yantra project, sponsored by MHRD, aims to start a robotic revolution in the country through the deployment of low-cost educational

More information

AT-501 Cortex-A5 System On Module Product Brief

AT-501 Cortex-A5 System On Module Product Brief AT-501 Cortex-A5 System On Module Product Brief 1. Scope The following document provides a brief description of the AT-501 System on Module (SOM) its features and ordering options. For more details please

More information

An SPI Temperature Sensor Interface with the Z8 Encore! SPI Bus

An SPI Temperature Sensor Interface with the Z8 Encore! SPI Bus Application Note An SPI Temperature Sensor Interface with the Z8 Encore! SPI Bus AN012703-0608 Abstract This Application Note provides an overview of Zilog s Z8 Encore! Serial Peripheral Interface (SPI)

More information

Arduino Uno. Arduino Uno R3 Front. Arduino Uno R2 Front

Arduino Uno. Arduino Uno R3 Front. Arduino Uno R2 Front Arduino Uno Arduino Uno R3 Front Arduino Uno R2 Front Arduino Uno SMD Arduino Uno R3 Back Arduino Uno Front Arduino Uno Back Overview The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet).

More information

Modular Design of Embedded Software for Distributed Robot Control

Modular Design of Embedded Software for Distributed Robot Control Modular Design of Embedded Software for Distributed Robot Control Nicolas Champagne-Williamson, Computer Science, Cornell University Jason Cortell, Lab Manager, Mechanical and Aerospace Engineering, Cornell

More information

Embedded Workshop 10/28/15 Rusty Cain

Embedded Workshop 10/28/15 Rusty Cain 2 IC Embedded Workshop 10/28/15 Rusty Cain Set up for Workshop: Please Sign in on Sheet. Please include your email. While you are waiting for the Workshop to begin 1. Make sure you are connected to the

More information

Breeze Board. Type A. User Manual.

Breeze Board. Type A. User Manual. Breeze Board Type A User Manual www.dizzy.co.za Contents Introduction... 3 Overview Top... 4 Overview Bottom... 5 Getting Started (Amicus Compiler)... 6 Power Circuitry... 7 USB... 8 Microcontroller...

More information

BASIC INTERFACING CONCEPTS

BASIC INTERFACING CONCEPTS Contents i SYLLABUS UNIT - I 8085 ARCHITECTURE Introduction to Microprocessors and Microcontrollers, 8085 Processor Architecture, Internal Operations, Instructions and Timings, Programming the 8085-Introduction

More information

Workshop on Microcontroller Based Project Development

Workshop on Microcontroller Based Project Development Organized by: EEE Club Workshop on Microcontroller Based Project Development Presented By Mohammed Abdul Kader Assistant Professor, Dept. of EEE, IIUC Email:kader05cuet@gmail.com Website: kader05cuet.wordpress.com

More information

ECE 354 Introduction to Lab 1. February 5 th, 2003

ECE 354 Introduction to Lab 1. February 5 th, 2003 ECE 354 Introduction to Lab 1 February 5 th, 2003 Lab 0 Most groups completed Lab 0 IDE Simulator Questions? ICD Questions? What s the difference? ECE 354 - Spring 2003 2 Addition to Honesty Policy It

More information

CprE 288 Introduction to Embedded Systems (Project and Platform Overview)

CprE 288 Introduction to Embedded Systems (Project and Platform Overview) CprE 288 Introduction to Embedded Systems (Project and Platform Overview) Instructor: Dr. Phillip Jones http://class.ece.iastate.edu/cpre288 1 Overview of Today s Lecture Announcements What are Embedded

More information

ARDUINO MEGA ADK REV3 Code: A000069

ARDUINO MEGA ADK REV3 Code: A000069 ARDUINO MEGA ADK REV3 Code: A000069 OVERVIEW The Arduino MEGA ADK is a microcontroller board based on the ATmega2560. It has a USB host interface to connect with Android based phones, based on the MAX3421e

More information

MSP430 Interface to LMP91000 Code Library

MSP430 Interface to LMP91000 Code Library Application Note 2230 Vishy Viswanathan July 13, 2012 MSP430 Interface to LMP91000 Code 1.0 Abstract The MSP430 is an ideal microcontroller solution for low-cost, low-power precision sensor applications

More information

Environmental Data Acquisition Using (ENC28J60)

Environmental Data Acquisition Using (ENC28J60) Environmental Data Acquisition Using (ENC28J60) Joshi Vaibhav Abstract -- Ethernet is a local area technology, which is used for reliable and efficient transfer and access of information across the devices

More information

Serial Communications

Serial Communications 1 Serial Interfaces 2 Embedded systems often use a serial interface to communicate with other devices. Serial Communications Serial implies that it sends or receives one bit at a time. Serial Interfaces

More information

I2C a learn.sparkfun.com tutorial

I2C a learn.sparkfun.com tutorial I2C a learn.sparkfun.com tutorial Available online at: http://sfe.io/t82 Contents Introduction Why Use I2C? I2C at the Hardware Level Protocol Resources and Going Further Introduction In this tutorial,

More information

Arduino Dock 2. The Hardware

Arduino Dock 2. The Hardware Arduino Dock 2 The Arduino Dock 2 is our supercharged version of an Arduino Uno R3 board. These two boards share the same microcontroller, the ATmel ATmega328P microcontroller (MCU), and have identical

More information

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG Adam Lindberg github.com/eproxus HARDWARE COMPONENTS SOFTWARE FUTURE Boot, Serial console, Erlang shell DEMO THE GRISP BOARD SPECS Hardware & specifications

More information

MSP430 Interface to LMP91000 Code Library

MSP430 Interface to LMP91000 Code Library MSP430 Interface to LMP91000 Code Library 1.0 Abstract The MSP430 is an ideal microcontroller solution for low-cost, low-power precision sensor applications because it consumes very little power. The LMP91000

More information

PRACTICAL DESIGN TECHNIQUES FOR SENSOR SIGNAL CONDITIONING

PRACTICAL DESIGN TECHNIQUES FOR SENSOR SIGNAL CONDITIONING 9 PRACTICAL DESIGN TECHNIQUES FOR SENSOR SIGNAL CONDITIONING 1 Introduction 2 Bridge Circuits 3 Amplifiers for Signal Conditioning 4 Strain, Force, Pressure, and Flow Measurements 5 High Impedance Sensors

More information

Health monitoring of an power amplifier using an ethernet controller

Health monitoring of an power amplifier using an ethernet controller Health monitoring of an power amplifier using an ethernet controller 1 Sharadha N, 2 J Pushpanjali 1 Student, 2 Assistant Professor Bangalore institute of technology Bangalore, India Abstract the computer

More information

MACHINE BREAKDOWN DETECTION SYSTEM

MACHINE BREAKDOWN DETECTION SYSTEM MACHINE BREAKDOWN DETECTION SYSTEM Yogita P. Desale 1 1 student, Electronics and telecommunication Department, MCOERC, Maharashtra, ABSTRACT Industrial situation is very critical and is subject to several

More information

Arduino ADK Rev.3 Board A000069

Arduino ADK Rev.3 Board A000069 Arduino ADK Rev.3 Board A000069 Overview The Arduino ADK is a microcontroller board based on the ATmega2560 (datasheet). It has a USB host interface to connect with Android based phones, based on the MAX3421e

More information

MICROPROCESSOR BASED SYSTEM DESIGN

MICROPROCESSOR BASED SYSTEM DESIGN MICROPROCESSOR BASED SYSTEM DESIGN Lecture 5 Xmega 128 B1: Architecture MUHAMMAD AMIR YOUSAF VON NEUMAN ARCHITECTURE CPU Memory Execution unit ALU Registers Both data and instructions at the same system

More information

AN510 Using SPI protocol with pressure sensor modules

AN510 Using SPI protocol with pressure sensor modules 1 USING SPI PROTOCOL WITH PRESSURE SENSOR MODULES This application note describes the possibility of communication between a microcontroller and MEAS Switzerland's pressure sensor modules (MS55XX series)

More information

Microcontrollers for Ham Radio

Microcontrollers for Ham Radio Microcontrollers for Ham Radio MARTIN BUEHRING - KB4MG MAT T PESCH KK4NLK TOM PERRY KN4LSE What is a Microcontroller? A micro-controller is a small computer on a single integrated circuit containing a

More information

Netaji Subhas Institute of Technology, New Delhi

Netaji Subhas Institute of Technology, New Delhi Netaji Subhas Institute of Technology, New Delhi Microprocessors Lab (EC-316) CRICKET SCORE DISPLAY (MPU 8085 Project Report) Under the supervision of Prof. Dhananjay V.Gadre DEPTT. OF ELECTRONICS AND

More information

Pmod ESP32 Reference Manual

Pmod ESP32 Reference Manual Pmod ESP32 Reference Manual The Digilent Pmod ESP32 features a radio with support for 802.11 b/g/n Wifi and dualmode Bluetooth. This module is perfect for connecting your FPGA or microcontroller projects

More information

ENG-7680: SCADA Laboratory Experiments

ENG-7680: SCADA Laboratory Experiments ENG-7680: SCADA Laboratory Experiments 1 RS485 LINE DRIVER 1.1 OBJECTIVES In this lab, you will learn how to test a differential data bus driver/receiver for a multi-point communication. In particular,

More information

Laboratory 5 Communication Interfaces

Laboratory 5 Communication Interfaces Laboratory 5 Communication Interfaces Embedded electronics refers to the interconnection of circuits (micro-processors or other integrated circuits) with the goal of creating a unified system. In order

More information

Lab 01 Arduino 程式設計實驗. Essential Arduino Programming and Digital Signal Process

Lab 01 Arduino 程式設計實驗. Essential Arduino Programming and Digital Signal Process Lab 01 Arduino 程式設計實驗 Essential Arduino Programming and Digital Signal Process Arduino Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's

More information

ADC to I 2 C. Data Sheet. 10 Channel Analog to Digital Converter. with output via I 2 C

ADC to I 2 C. Data Sheet. 10 Channel Analog to Digital Converter. with output via I 2 C Data Sheet 10 Channel Analog to Digital Converter with output via I 2 C Introduction Many microcontroller projects involve the use of sensors like Accelerometers, Gyroscopes, Temperature, Compass, Barometric,

More information

The Atmel ATmega328P Microcontroller

The Atmel ATmega328P Microcontroller Ming Hsieh Department of Electrical Engineering EE 459Lx - Embedded Systems Design Laboratory 1 Introduction The Atmel ATmega328P Microcontroller by Allan G. Weber This document is a short introduction

More information

Microcontroller: CPU and Memory

Microcontroller: CPU and Memory Microcontroller: CPU and Memory Amarjeet Singh January 15, 2013 Partly adopted from EE202A, UCLA Slides by Mani Srivastava Logistics Programming EVK1100 Guidelines for programming using AVR32 Studio on

More information

HZX N03 Bluetooth 4.0 Low Energy Module Datasheet

HZX N03 Bluetooth 4.0 Low Energy Module Datasheet HZX-51822-16N03 Bluetooth 4.0 Low Energy Module Datasheet SHEN ZHEN HUAZHIXIN TECHNOLOGY LTD 2017.7 NAME : Bluetooth 4.0 Low Energy Module MODEL NO. : HZX-51822-16N03 VERSION : V1.0 1.Revision History

More information

ARDUINO MICRO WITHOUT HEADERS Code: A000093

ARDUINO MICRO WITHOUT HEADERS Code: A000093 ARDUINO MICRO WITHOUT HEADERS Code: A000093 Arduino Micro is the smallest board of the family, easy to integrate it in everyday objects to make them interactive. The Micro is based on the ATmega32U4 microcontroller

More information

Farklı Arduino Boardlar

Farklı Arduino Boardlar Farklı Arduino Boardlar Arduino UNO R3 Microcontroller ATmega328P (8 bit) DataSheet http://ww1.microchip.com/downloads/en/devicedoc/atmel- 42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf Operating

More information