Embedded distributed/parallel computing hardware for high school students
|
|
- Roland King
- 5 years ago
- Views:
Transcription
1 Embedded distributed/parallel computing hardware for high school students Hannes Haljaste Institute of Computer Science University of Tartu Abstract This paper focuses on embedded distributed/parallel computing hardware, where microcontrollers are used as a central processing unit. It gives an overview of two controllers one with the best available performance at the time of writing and one for its ease of use to learn about. Different development environments are evaluated to be used for teaching distributed and parallel paradigms. Index Terms Embedded computing, distributed computing, parallel computing, Cortex-M7, Arduino, high school I. INTRODUCTION Building distributed/parallel computing hardware is expensive and therefore is usually not available for hobbyists and high school students. With more research and development going towards these fields, raising interest in younger people is essential. This paper tries to find the best solution to use in a way that could demonstrate distributed and parallel paradigms before university education in high schools and for hobbyists how might have an interest in the field. For this reason two different microcontrollers and their most likely development environments are evaluated to find the best and to develop prototype electronics and software for demonstration. II. HARDWARE For the embedded distributed/parallel computing hardware two different microcontrollers are considered - Microchip ATSAME70 and ATmega328P. Both of these devices have different features besides central processing unit which makes them very useful in different applications like sensor networks, robotics, self driving cars, aerospace etc. One of the most useful feature is that they can be configured to consume very low power based on the performance that is needed at the time. On a small battery these controllers can stay in sleep mode for years. This opens up a lot of possibilities where high performance computing is needed occasionally and/or where system s power consumption is limited. The ATSAME70 s central processing unit is based on the 32-bit Cortex-M7 core running at up to 300 MHz. It also features various hardware peripherals like the Advanced Encryption Standard (AES), True Random Number Generator (TRNG), Universal Serial Bus (USB), Serial Peripheral Interface (SPI), Two Wire Interface (TWI) also known as Inter-Integrated Circuit (I2C) and Universal Synchronous/Asynchronous Receiver/Transmitter (USART) among others. The second microcontroller has a 8-bit core and is running at up to 20 MHz. It also has ATSAME70 [4] ATmega328P [3] Core 32-bit 8-bit CPU design RISC RISC Core clock 300 MHz 20 MHz Floating point support Hardware Software Flash memory 2 MB 32 KB RAM 384 KB 2 KB Maximum power consumption 300 mw 20 mw Sleep mode power consumption 19 µw 4 µw Other DSP instructions - Peripherals AES SPI TRNG TWI Ethernet MAC USART USB SPI TWI USART TABLE I COMPARISON BETWEEN TWO MICROCONTROLLERS. Iterations ATSAME70 at 300 MHz ATmega328P at 16 MHz s s s s s s TABLE II PI CALCULATION RESULTS USING MONTE CARLO METHOD IN SECONDS. SPI, TWI and USART communication peripherals to transmit and receive data. Compared by the power consumption both of these microcontrollers consume about the same amount of power per 1 MHz. While in sleep mode they consumes couple of µw. On a small 100 mah battery ATmega328P can stay in sleep mode for about 14 years while not taking into consideration other factors. [3] [4] To compare actual performance of the two microcontrollers a simple calculation test was written. Table II shows the result of using Monte Carlo Method to calculate Pi for both microcontrollers. ATmega328P was clock at 16 MHz since this is directly supported by the Arduino and its millis() function to measure time. For ATSAME70 time measurement was implemented on the hardware timers since specific function to measure processor time was not available. Results show that ATSAME70 was about 77 times faster in executing the algorithm while the clock speed was only times faster. This is mostly thanks to hardware floating point unit and 32-bit core that helps speed up calculations. For ATSAME70 code was compiled with no optimizations.
2 III. COMMUNICATION [3] [4] While building multi-microcontroller distributed system for high performance computing there aren t available any communication standards that directly support it like on some high end CPUs. For example Intel has developed its own point-to-point interconnect called QuickPath. Microprocessors can exchange data at speeds up to 19.2 GB/s [7]. For high performance computing ARM has developed CoreLink that allows connecting up to 32 multi-core processor on a same bus with bandwidth exceeding 1 TB/s [8]. Most of the microcontrollers support various communication interfaces that allow data to be passed between different devices. The speed how fast data can be transmitted and received is mostly determined by the clock sources supported by the devices or the protocol used. Less powerful microcontrollers which have slower clocks have their communication speeds limited. For example ATmega328P has its maximum communication speed limited for SPI by half the main clock source giving the maximum transfer rate up to 10 Mbits/s. On the other hand ATSAME70 can theoretically run SPI at 150 Mbits/s. This section will give a better overview of the communication protocols available while designing distributed/parallel embedded system. One of the most versatile communication interfaces would be bit-banging. This means that microcontroller manipulates communication lines in software and can create any protocol to transit data. Since all this must be done in software, it makes it very complicated, hard to implement and consumes valuable resource needed to perform computations. A better option would be using one of the communication interfaces implemented into the microcontroller that does most of the trivial signaling while the central processing unit can perform its own tasks. One of those communication interfaces is an Inter-Integrated Circuit (I2C). It uses two lines - clock (SCL) and data (SDA) line. The protocol was created by Philips Semiconductor (currently NXP Semiconductor) and is wildly used by most of the microcontroller manufacturers. It has fixed clock speeds of 100 khz and 400 khz on most devices while higher clock speeds are only supported by some higher end devices going up to 5 MHz. I2C can support at least 7-bit address space, allowing up to 127 devices to be connected together on the same bus. The more advanced microcontroller can support up to 10-bit address space supporting up to 1023 devices on a single bus. Because of its design, I2C bus is recommended to be used only on a single printed circuit board (PCB). Its slow communication speed limits what algorithms can be efficiently run on such a distributed/parallel system. [6] While I2C is half duplex the Serial Peripheral Interface (SPI) can communicate in full duplex mode. It uses three lines for data transfer, clock (SCLK), master in slave out (MISO) and master out slave in (MOSI), and one additional chip select (CS) line for each slave device. SPI can be used in multi-master mode but this requires additional signaling lines to make sure that no collisions happen on the bus. At the same time I2C is multi-master by design. Requirement for chip select line for each slave limits the amount of microcontrollers that can be implemented on the same bus since the pin count is physically limited by the package used for the microcontroller. SPI speed is usually the fastest that microcontrollers support. On ATSAME70 SPI can run at a clock rate up to 150 MHz, while ATmega328P can support speeds up to 10 MHz. Next very popular communication interface is Universal Synchronous/Asynchronous Receiver/Transmitter (USART). As a standalone interface, it allows only point to point communication. To support multi-master or master-slave communication additional hardware must be used. One of those is RS485 which allows multiple devices with USART to be connected to the same bus. For communication USART uses two lines, one for transmitting (TXD) and one for receiving (RXD) data while RS485 uses two lines in half duplex mode and four lines in full duplex mode. Since RS485 is not directly supported, nor is communication protocol available then the user must program this part in software. Some of the more advanced communication protocols are only available on more advanced microcontrollers. One of such protocols is Ethernet, which is supported by microcontrollers only on the MAC level like it is on ATSAME70. The additional integrated circuit is required to transmit and receive electrical signals. With a lot of research and advancement going on in the field of Internet of Thing (IoT) there is available SPI to Ethernet converters which can be used with the ATmega328P. While ATSAME70 can reach 100 Mbits/s the ATmega328P is limited by its SPI speed which is 10 Mbits/s. Ethernet uses IPv4, which can practically support unlimited amount of devices on the same local network. Additionally Ethernet also needs switches to allow communication between different devices. The biggest problem with Ethernet is its power consumption. It usually is around 100 ma to 500 ma for five devices. This is way over the maximum what microcontrollers use. The biggest power consumer is magnetics that protects them from overvoltage and noise. If the distributed/parallel system is designed and implemented on a single PCB then magnetics can be replaced by using only capacitors to reduce power consumption [2]. This requires special PCB design and testing. Although there is an IEEE Work group maintaining backplane Ethernet standard IEEE 802.3ap, devices that support this standard are not widely commercially available. Other communication standards that can be found on some devices is controller area network (CAN) that is mostly used in car industry. Although it is slow it is very robust. One option is also to build wireless distributed/parallel computing network. Recently different manufacturers have come out with some low energy wireless network modules all based on IEEE technical standard. It supports IPv6 and its network is self healing so losing some of the nodes does not make it inoperable. Based on the microcontroller capabilities and performance, ATSAME70 seems like a clear choice but for the high school student and hobbyist others factors are also very important. The most important is that the concepts are easy to understand
3 and that the code development isn t frustrating and hard to understand. IV. SOFTWARE DEVELOPMENT There are a lot of software development tools available. Finding the right one for a particular task may be hard and confusing. For ATSAME70 and ATmega328P there is integrated development environment (IDE) developed by the microcontroller manufacturer itself called Atmel studio (Atmel was acquired by Microchip). Microchip also develops a hardware abstraction layer called Advanced Software Framework (ASF) for both microcontrollers to make developing firmware for the devices easier. For ATmega328P there is also support by Arduino, who has developed its own IDE and hardware abstraction layer. Next two examples demonstrate their difference. i f ( p m c i s p e r i p h c l k e n a b l e d ( ID PIOD ) == 0) p m c e n a b l e p e r i p h c l k ( ID PIOD ) ; p i o s e t i n p u t ( PIOD, PIO PD11, 0 ) ; i n t v a l u e = p i o g e t ( PIOD, 0, PIO PD11 ) ; Listing 1. Advanced software framework code example. Setting pin as an input and reading its value. pinmode (3 INPUT ) ; i n t v a l u e = d i g i t a l R e a d ( 3 ) Listing 2. Arduino code example. Setting pin as an input and reading its value where 3 is pin number. A. Atmel studio and advanced software framework Atmel studio is built on Microsoft Visual Studio and supports some of its features. The most important feature is that Microchip directly develops the environment and starting a project in this is very easy and does not require more advanced knowledge about hardware design, compilers and linkers to set it up. Using the advanced software framework (ASF) is not very straight forward and requires knowledge about registers, individual bits and how to use them correctly. ASF makes code writing easier and better to understand, but does not replace the actual deep knowledge needed to program microcontrollers. Atmel Studio and ASF include many example projects and demos to help developers develop software. B. Arduino ATmega328P is supported microcontroller by Arduino open source hardware initiative, which makes programming very easy and straight forward with a huge amount of examples and wide community support. Arduino has put more focus on making software writing easy and straight forward for simple projects. All of its hardware designs are open source which makes creating electric circuits and PCB designs very simple and does not require deep knowledge about the actual microcontroller. For PCB designing and breadboard design Arduino does not support any specific design environment. Eagle PCB has been the one that open source community mostly uses. By focusing on the software side, Arduino has created a hardware abstraction layer which completely hides registers Fig. 1. Fritzing breadboard design view. and individual bits from the user making programming very easy to learn by high school students, hobbyists and beginners. Because of its simplicity and quick development cycle some of the companies have used Arduino to bring their products to the market. V. FRITZING Fritzing is another open source hardware initiative that makes hardware design and software writing easy for hobbyist and beginners. Its focus is more on developing hardware schematics, breadboard layouts and PCB designs. For a small project, it is a viable tool to use although it can t currently really compete with tool that are developed by professional companies and offer free version of their product for hobbyist like Eagle PCB or long developed KiCad by the community. Fritzing features four different views (breadboard, schematic, PCB and code) which are connected in the background. Making changes in the schematic view will be shown in the breadboard and PCB view which makes designing electronic circuits quite easy. Fritzing already includes most of the Arduino hardware, but it also allows adding new components like ATSAME70 to build electronics. VI. PROTOTYPE DESIGN Some Estonian schools offer optional courses in electronics, programming and robotics. These courses are very short compared to the courses offered in universities. The most important thing is to teach student about parallel and distributed paradigms. This can best achieved by making hardware and software design as simple as possible. The development environment must be simple to use and software writing must be easy to understand. For this reason Arduino was chosen as a platform from which to develop hardware and software demonstrations. As a demonstration a schematic and PCB was designed in Fritzing to show how to build multi-microcontroller distributed system and perform parallel computations. Printed circuit board (PCB) features two ATmega328P microcontrollers, each
4 Fig. 4. Prototype electronics for high schools. Fig. 2. Fritzing schematic design view with a part of the prototype embedded parallel computing hardware. of these controllers have its own USART to USB converters to program and debug the software. Also SPI interface is available to burn the bootloader on the chip. The board also includes a reset button for each microcontroller and other necessary components for it to work. Both microcontrollers have been connected together using I2C bus such that data can be passed between the two microcontrollers. Current hardware design has some limitations that should be eliminated in the next version. These additional features would allow users to better understand how software works and extend the possibilities what can be done. One of the most useful features on official Arduino boards is pin headers. They allow connecting different external devices to the microcontroller. All unused pins should be connected to a additional header. Also there should be one header for I2C bus so that multiple boards could be connected together to allow extending parallel/distributed system. For visual feedback at least one light emitting diode (LED) should be added per microcontroller. Current design features FTDI chips to communicate over USB. These chips are expensive and for this reason more cost effective solution should be considered. While designing hardware there were also shortcoming in the software. Fritzing seems to be a perfect tool to use, but it suffers from the fact that it is open source and developed by the community. As such, it lacks some basic features that most paid and long developed tools have. From the PCB development side, Fritzing lacks the ability to draw wires in a 90 and 45 angle which is the most basic feature in other PCB design tools. Also the PCB view rendering is slow and makes routing time consuming and annoying. A support for GPU should be added to help render graphics. One new view that might be very helpful to add is circuit simulators like the Falstad circuit simulator. This would help students measure different values of resistors, see LED s blinking and design more complex circuits all in one environment. VII. U SE CASE IN HIGH SCHOOLS Fig. 3. Fritzing PCB design view with a prototype embedded parallel computing hardware. In electronics and programming courses Fritzing can be used as a tool to help students to better understand how different levels in hardware and software design are intertwined. As a first step students can use schematic view to
5 Iterations Single core Dual core s s s s s s TABLE III PI CALCULATION RESULTS USING MONTE CARLO METHOD WITH SINGLE AND DUAL MICROCONTROLLER SETUP. build desired electronic circuits. After that they can build breadboard designs which would help them build it in the real world and test if their design work. As a third step they can create their own PCB designs after which they have been given a good understanding how the actual hardware development takes place. After hardware is designed they can program the Arduino microcontrollers in the same environment without the need to download or to get familiar with another tool. All this can take place through multiple courses and include a way to introduce the topics of distributed and parallel computing early on. For example, students could learn about simple algorithms like Pi calculation using Monte Carlo method and build a distributed system to do it faster. VIII. COMPUTATION RESULTS Built hardware was used to perform Monte Carlo Pi calculations (Listing 3) with one and two microcontrollers. Two microcontrollers were in master-slave configuration where master received commands from computer and then divided the work load between the two microcontrollers. The results are shown in TABLE III. It can be seen that using two microcontrollers cut the computation time in half. This was expected since the work load is divided equally and the communication between the microcontrollers is utilized only at the beginning and at the end. void m o n t e C a r l o P i ( unsigned long i t e r a t i o n s, unsigned long Mx, unsigned long Nx ) unsigned long M = 0 ; unsigned long N = 0 ; f o r ( ; i t e r a t i o n s!= 0 ; i t e r a t i o n s ) double x = random ( 0, 65536) / ; double y = random ( 0, 65536) / ; i f ( ( x x + y y ) < 1) ++M; e l s e ++N; Mx = M; Nx = N; To improve the performance of the demonstration source code, it can be written without using floating point math which should more than double the actual performance. The other idea would be using assembly language. It is hardware specific and requires a lot of experience to write efficient code. Usually it does not pay off while using microcontrollers where hardware cost is low. Using assembly could reduce cost when high performance computing centers are used where costs are much higher. IX. CONCLUSION The paper describes possible solutions to build an embedded distributed/parallel computing hardware. Comparison between two different microcontrollers, different communication interfaces and overview about available development environments were given. After picking Fritzing for hardware development, a demonstration hardware was designed, possible uses for high school students were given and results using single and dual microcontroller setup to calculate Pi with Monte Carlo method were demonstrated. The results show that parallel/distributed paradigms can be demonstrated for high school students with simple examples and affordable hardware. Next step is to set up curriculum and see how well students would understand the concepts. Project website: REFERENCES [1] Liem Radita Tapaning Hesti. (2017). GEMM in Multicore Arduinos [Online]. fall/uploads/main/gemm.pdf [2] Texas Instrument. (2013). AN-1519 DP83848 PHYTER Transformerless Ethernet Operation [Online]. Available: [3] Microchip. (2016). ATmega328/P - Complete Datasheet [Online]. Available: [4] Microchip. (2016). SAM E70 Datasheet [Online] Available: [5] E.Vita. (2014) Arduino Nano-Rev3.2 [Online]. Available: [6] NXP. (2014). UM10204 I2C-bus specification and user manual [Online] Available: manual/um10204.pdf [7] Intel. (2009). An Introduction to the Intel QuickPath Interconnect [Online]. Available: [8] ARM. (2017, May 10). CoreLink CMN-600 Coherent Mesh Network [Online]. Available: double g e t P i ( unsigned long M, unsigned long N) return 4. 0 M / ( double ) (M + N ) ; Listing 3. Monte Carlo Pi source code.
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 informationArduino 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 informationArduino 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 informationCopyright. Getting Started with Arduino Wiring for Windows 10 IoT Core Agus Kurniawan 1st Edition, Copyright 2016 Agus Kurniawan
Copyright Getting Started with Arduino Wiring for Windows 10 IoT Core Agus Kurniawan 1st Edition, 2016 Copyright 2016 Agus Kurniawan ** Windows 10 IoT Core, Visual Studio and Logo are trademark and copyright
More informationRaspberry 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 informationEDBG. 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 informationARDUINO UNO REV3 Code: A000066
ARDUINO UNO REV3 Code: A000066 The UNO is the best board to get started with electronics and coding. If this is your first experience tinkering with the platform, the UNO is the most robust board you can
More informationAN10428 UART-SPI Gateway for Philips SPI slave bridges
UART-SPI Gateway for Philips SPI slave bridges Rev. 01 7 March 2006 Application note Document information Info Keywords Abstract Content UART-SPI Gateway, UART to SPI, RS-232 to SPI The UART-SPI Gateway
More informationUSER 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 informationSPI (Serial & Peripheral Interface)
SPI (Serial & Peripheral Interface) What is SPI SPI is a high-speed, full-duplex bus that uses a minimum of 3 wires to exchange data. The popularity of this bus rose when SD cards (and its variants ie:
More informationESPino - Specifications
ESPino - Specifications Summary Microcontroller ESP8266 (32-bit RISC) WiFi 802.11 (station, access point, P2P) Operating Voltage 3.3V Input Voltage 4.4-15V Digital I/O Pins 9 Analog Input Pins 1 (10-bit
More informationPrototyping 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 informationARDUINO UNO REV3 SMD Code: A The board everybody gets started with, based on the ATmega328 (SMD).
ARDUINO UNO REV3 SMD Code: A000073 The board everybody gets started with, based on the ATmega328 (SMD). The Arduino Uno SMD R3 is a microcontroller board based on the ATmega328. It has 14 digital input/output
More informationLesson 6 Intel Galileo and Edison Prototype Development Platforms. Chapter-8 L06: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education
Lesson 6 Intel Galileo and Edison Prototype Development Platforms 1 Intel Galileo Gen 2 Boards Based on the Intel Pentium architecture Includes features of single threaded, single core and 400 MHz constant
More informationARDUINO LEONARDO ETH Code: A000022
ARDUINO LEONARDO ETH Code: A000022 All the fun of a Leonardo, plus an Ethernet port to extend your project to the IoT world. You can control sensors and actuators via the internet as a client or server.
More informationDesign and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso
Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso Microcontroller It is essentially a small computer on a chip Like any computer, it has memory,
More informationAlessandra de Vitis. Arduino
Alessandra de Vitis Arduino Arduino types Alessandra de Vitis 2 Interfacing Interfacing represents the link between devices that operate with different physical quantities. Interface board or simply or
More informationAdafruit Metro Mini. Created by lady ada. Last updated on :12:28 PM UTC
Adafruit Metro Mini Created by lady ada Last updated on 2018-01-24 08:12:28 PM UTC Guide Contents Guide Contents Overview Pinouts USB & Serial converter Microcontroller & Crystal LEDs Power Pins & Regulators
More informationLesson 5 Arduino Prototype Development Platforms. Chapter-8 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education
Lesson 5 Arduino Prototype Development Platforms 1 Arduino Boards, Modules And Shields Popular AVR MCU based products Each board has clear markings on the connection pins, sockets and in-circuit connections
More informationECE 471 Embedded Systems Lecture 2
ECE 471 Embedded Systems Lecture 2 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 7 September 2018 Announcements Reminder: The class notes are posted to the website. HW#1 will
More information3.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 informationELCT708 MicroLab Session #1 Introduction to Embedded Systems and Microcontrollers. Eng. Salma Hesham
ELCT708 MicroLab Session #1 Introduction to Embedded Systems and Microcontrollers What is common between these systems? What is common between these systems? Each consists of an internal smart computer
More informationARDUINO M0 PRO Code: A000111
ARDUINO M0 PRO Code: A000111 The Arduino M0 Pro is an Arduino M0 with a step by step debugger With the new Arduino M0 Pro board, the more creative individual will have the potential to create one s most
More informationARDUINO PRIMO. Code: A000135
ARDUINO PRIMO Code: A000135 Primo combines the processing power from the Nordic nrf52 processor, an Espressif ESP8266 for WiFi, as well as several onboard sensors and a battery charger. The nrf52 includes
More informationMicrocontroller 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 informationDigital Circuits Part 2 - Communication
Introductory Medical Device Prototyping Digital Circuits Part 2 - Communication, http://saliterman.umn.edu/ Department of Biomedical Engineering, University of Minnesota Topics Microcontrollers Memory
More informationPart 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 informationARDUINO 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 informationMore than Compatibility
More than Compatibility MassDuino MD-328D 8-bit Microcontroller with 32K bytes In-System Programmable Flash www.inhaos.com DOC ID: DS-MD-328D-V01-20160412 www.inhaos.com Page: 1 of 10 Features: More Fast
More informationARDUINO 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 informationRaspberry Pi. Hans-Petter Halvorsen, M.Sc.
Raspberry Pi Hans-Petter Halvorsen, M.Sc. Raspberry Pi https://www.raspberrypi.org https://dev.windows.com/iot Hans-Petter Halvorsen, M.Sc. Raspberry Pi - Overview The Raspberry Pi 2 is a low cost, credit-card
More informationUltratronics v1.0 DATASHEET
Ultratronics v1.0 DATASHEET Author Bart Meijer Date November 21 st, 2017 Document version 1.2 Ultratronics Datasheet Reprapworld.com 1 PRODUCT OVERVIEW Ultratronics is the latest development in 3D printer
More informationThe Riverside Robotic Society June 2016 ESP8266
ESP8266 ESP8266 The ESP8266 is a low-cost Wi-Fi chip with full TCP/IP stack, radio and microcontroller produced by Shanghai-based Chinese manufacturer, Espressif. Features: SOC (System on a Chip) 32-bit
More informationUniversitä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 informationArduino 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 informationSanguino TSB. Introduction: Features:
Sanguino TSB Introduction: Atmega644 is being used as CNC machine driver for a while. In 2012, Kristian Sloth Lauszus from Denmark developed a hardware add-on of Atmega644 for the popular Arduino IDE and
More informationIntroduction 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 informationARDUINO YÚN MINI Code: A000108
ARDUINO YÚN MINI Code: A000108 The Arduino Yún Mini is a compact version of the Arduino YUN OVERVIEW: Arduino Yún Mini is a breadboard PCB developed with ATmega 32u4 MCU and QCA MIPS 24K SoC CPU operating
More informationHow to Use an Arduino
How to Use an Arduino By Vivian Law Introduction The first microcontroller, TMS-1802-NC, was built in 1971 by Texas Instruments. It owed its existence to the innovation and versatility of silicon and the
More informationECE 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 informationDistributed Real-Time Control Systems. Module 3 Hardware for Real Time Distributed Control Systems
Distributed Real-Time Control Systems Module 3 Hardware for Real Time Distributed Control Systems 1 General Topology of Real-Time Distributed Control Systems System Management Data Backup Intranet User
More informationBreeze 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 informationEMBEDDED 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 informationkeyestudio Keyestudio MEGA 2560 R3 Board
Keyestudio MEGA 2560 R3 Board Introduction: Keyestudio Mega 2560 R3 is a microcontroller board based on the ATMEGA2560-16AU, fully compatible with ARDUINO MEGA 2560 REV3. It has 54 digital input/output
More informationEngr 355 Embedded Systems Design. mbed and LPC11U24 Overview. Dr. Curtis Nelson* *Original lecture written by Tim Kyle ARM
Engr 355 Embedded Systems Design mbed and LPC11U24 Overview Dr. Curtis Nelson* *Original lecture written by Tim Kyle ARM Produces 32-bit processor core designs Licenses cores to fabrication companies (Freescale,
More informationProduct Specification
Product Specification Features Amp ed RF, Inc. Description 15mm x 27mm The added class 1 power, +18dBm, of the BT-11, gives this module one of the best ranges in the industry. It s completely pin compatible
More informationHCTL Open Int. J. of Technology Innovations and Research HCTL Open IJTIR, Volume 4, July 2013 e-issn: ISBN (Print):
Design, Implementation and Functional Verification of Serial Communication Protocols (SPI and I2C) on FPGAs Amit Kumar Shrivastava and Himanshu Joshi amit0404@gmail.com Abstract Today, at the low end of
More informationEECS 373 Design of Microprocessor-Based Systems
EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Timers Material taken from Dreslinski, Dutta, Le, Ramadas, Smith, Tikhonov & Mahal 1 Agenda A bit on timers Project overview
More informationor 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 informationDoc: 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 informationGoal: 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 informationBasic Components of Digital Computer
Digital Integrated Circuits & Microcontrollers Sl. Mihnea UDREA, mihnea@comm.pub.ro Conf. Mihai i STANCIU, ms@elcom.pub.ro 1 Basic Components of Digital Computer CPU (Central Processing Unit) Control and
More informationARDUINO YÚN Code: A000008
ARDUINO YÚN Code: A000008 Arduino YÚN is the perfect board to use when designing connected devices and, more in general, Internet of Things projects. It combines the power of Linux with the ease of use
More informationMEXLE. International Educational Platform. International Educational Platform. for Informatics based on Embedded Systems
MEXLE for Informatics based on Embedded Systems Overview 1. Introduction 2. MiniMEXLE Hardware 3. ATMEL AVR Microcontrollers 4. Teaching Informatics with MEXLE 2 HSHN G. Gruhler (2006) Einfuehrung-miniMEXLE-AVR.ppt
More informationBreeze Board. Type B. User Manual.
Breeze Board Type B User Manual www.dizzy.co.za Contents Introduction... 3 Overview Top... 4 Overview Bottom... 5 Getting Started (USB Bootloader)... 6 Power Circuitry... 7 USB... 8 Microcontroller...
More informationEECS 373 Design of Microprocessor-Based Systems
EECS 7 Design of Microprocessor-Based Systems Matt Smith University of Michigan Serial buses, digital design Material taken from Brehob, Dutta, Le, Ramadas, Tikhonov & Mahal 1 Timer Program //Setup Timer
More informationAn open-source, multi-parameter, full fledged human body vital sign monitoring HAT for Raspberry Pi as well as standalone use.
HealthyPi v3 An open-source, multi-parameter, full fledged human body vital sign monitoring HAT for Raspberry Pi as well as standalone use. HealthyPi is the first fully open-source, full-featured vital
More informationArduino Internals. Dale Wheat. Apress
Arduino Internals Dale Wheat Apress Contents About the Authors About the Technical Reviewers Acknowledgments Preface xv xvi xvii xviii Chapter 1: Hardware 1 What Is an Arduino? 1 The Arduino Uno 2 Processor
More informationArduCAM-M-5MP Camera Shield
ArduCAM-M-5MP Camera Shield 5MP SPI Camera User Guide Rev 1.0, Mar 2015 Table of Contents 1 Introduction... 2 2 Application... 2 3 Features... 3 4 Key Specifications... 3 5 Pin Definition... 3 6 Block
More informationElectronics Online Challenge Entry Date: 01/9/2018 Team: 6403A Team Name: A for effort School: Brookside
Electronics Online Challenge Entry Date: 01/9/2018 Team: 6403A Team Name: A for effort School: Brookside Introduction For this online challenge we decided to dismantle a Vex EDR cortex. With the new V5
More informationGetting to know the Arduino IDE
Getting to know the Arduino IDE I ve heard about Arduino, what the heck is it? Arduino is a development environment Combination of hardware and software Hardware based on Atmel AVR processors Software
More informationCHIPS Newsletter Vol 5 - Yahoo! Mail. Official Newsletter of
CHIPS Newsletter Vol 5 From: "chips@elproducts.net" To: "Chuck Hellebuyck" Thursday, April 29, 2010 12:07 AM CHIPs Vol 5 / April 28, 2010 Official Newsletter
More informationMicrocontrollers and Interfacing
Microcontrollers and Interfacing Week 10 Serial communication with devices: Serial Peripheral Interconnect (SPI) and Inter-Integrated Circuit (I 2 C) protocols College of Information Science and Engineering
More informationStepper 6 click. PID: MIKROE 3214 Weight: 26 g
Stepper 6 click PID: MIKROE 3214 Weight: 26 g Stepper 6 click is the complete integrated bipolar step motor driver solution. It comes with the abundance of features that allow silent operation and optimal
More informationPIC-32MX development board Users Manual
PIC-32MX development board Users Manual All boards produced by Olimex are ROHS compliant Rev.A, June 2008 Copyright(c) 2008, OLIMEX Ltd, All rights reserved INTRODUCTION: The NEW PIC-32MX board uses the
More information6LoWPAN Development Platform Saker Manual
6LoWPAN Development Platform Saker Manual WEPTECH elektronik GmbH Page 1 of 19 V.1.0.1 1. Table of Content 1. General information... 4 1.1 1.2 1.3 1.4 1.5 Copyright protection... 4 Warranty information...
More informationReal-Time Embedded Systems. CpE-450 Spring 06
Real-Time Embedded Systems CpE-450 Spring 06 Class 5 Bruce McNair bmcnair@stevens.edu 5-1/42 Interfacing to Embedded Systems Distance 100 m 10 m 1 m 100 cm 10 cm "Transmission line" capacitance ( C) Distance
More informationUser Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM
FRDM-KL02Z User Manual Rev. 0 Freescale Semiconductor Inc. FRDMKL02ZUM 1. Overview The Freescale Freedom development platform is an evaluation and development tool ideal for rapid prototyping of microcontroller-based
More informationHealth 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 informationAmarjeet 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 informationFigure 1.1: Some embedded device. In this course we shall learn microcontroller and FPGA based embedded system.
Course Code: EEE 4846 International Islamic University Chittagong (IIUC) Department of Electrical and Electronic Engineering (EEE) Course Title: Embedded System Sessional Exp. 1: Familiarization with necessary
More informationCSCI 6907 PROJECT PROPOSAL LIGHTS OUT MANAGEMENT
CSCI 6907 PROJECT PROPOSAL LIGHTS OUT MANAGEMENT JAMES LEE JAMESLEE@GWU.EDU. Project Abstract I am a system administrator who manages hundreds of Unix systems. One of the essential tools to ensure I don
More informationEMAC SoM Presentation
EMAC SoM Presentation www.emacinc.com www.emacinc emacinc.com/.com/som System on Module System on Module (SoM( SoM) ) is an alternative to Single Board Computers for Embedded Systems offering a more flexible
More informationHZX 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 informationMulticommunication Type Identifying Debugging Probe
Multicommunication Type Identifying Debugging Probe Group 1619 Hardware Security Team members: Austin Funes Cheng Guo Sommy Okwuosah Team Advisor: Dr. Chandy Graduate Advisor: Sara Tehranipoor Summary:
More informationWorking with Quad and Other SPI Protocols Testing and Debugging (Quad-) SPI-based ASIC, FPGA, SoC and Embedded Systems
Working with Quad and Other SPI Protocols Testing and Debugging (Quad-) SPI-based ASIC, FPGA, SoC and Embedded Systems By Alan Lowne, CEO, SaeligCo., Inc. and Frédéric Leens, sales and marketing manager,
More informationWireless Sensor Networks. FireFly 2.2 Datasheet
2.2 Datasheet July 6, 2010 This page intentionally left blank. Contents 1. INTRODUCTION...1 Features...1 Applications...2 2. BLOCK DIAGRAM...3 3. HARDWARE CONNECTIONS...4 Power...5 Header 1 ( UARTS, I2C,
More informationEMAC SoM Presentation.
EMAC SoM Presentation www.emacinc.com www.emacinc.com/som System on Module System on Module (SoM) is an alternative to Single Board Computers for Embedded Systems offering a more flexible & contoured solution.
More informationMYC-C437X CPU Module
MYC-C437X CPU Module - Up to 1GHz TI AM437x Series ARM Cortex-A9 Processors - 512MB DDR3 SDRAM, 4GB emmc Flash, 32KB EEPROM - Gigabit Ethernet PHY - Power Management IC - Two 0.8mm pitch 100-pin Board-to-Board
More informationProduct Specification
Product Specification 15mm x 27mm Description One of the most capable Bluetooth modules available, the BT-21 Bluetooth OEM Module is designed for maximum flexibility. The BT-21 module includes 14 general
More informationARDUINO 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 informationArduCAM CC3200 UNO board
ArduCAM CC3200 UNO board User Guide Rev 1.2, Mar 2017 Table of Contents 1 Introduction... 2 2 Features... 3 3 Pin Definition... 4 4 Getting Started CC3200 with Energia... 5 4.1 Out of the Box Test... 5
More informationPIC Microcontroller Introduction
PIC Microcontroller Introduction The real name of this microcontroller is PICmicro (Peripheral Interface Controller), but it is better known as PIC. Its first ancestor was designed in 1975 by General Instruments.
More informationFreescale Semiconductor Inc. Microcontroller Solutions Group. FRDM-KL46Z User s Manual FRDM-KL46Z-UM Rev. 1.0
Freescale Semiconductor Inc. Microcontroller Solutions Group FRDM-KL46Z User s Manual FRDM-KL46Z-UM Rev. 1.0 Table of Contents 1 FRDM-KL46Z Overview... 3 2 References documents... 3 3 Getting started...
More informationAC : INFRARED COMMUNICATIONS FOR CONTROLLING A ROBOT
AC 2007-1527: INFRARED COMMUNICATIONS FOR CONTROLLING A ROBOT Ahad Nasab, Middle Tennessee State University SANTOSH KAPARTHI, Middle Tennessee State University American Society for Engineering Education,
More informationMicrocontrollers 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 informationAtmel Microprocessor Programming With AVRISPmkii
Atmel Microprocessor Programming With AVRISPmkii Purpose EE 400D - Senior Design Part of Electronics & Control Division Technical Training Series by Nicholas Lombardo October 13, 2015 The purpose of this
More informationDesign Development and Implementation of SPI
MIT International Journal of Electronics and Communication Engineering, Vol. 4, No. 2, August 2014, pp. 65 69 65 Design Development and Implementation of SPI A. Sirisha Kurnool (DT), A.P, INDIA M. Sravanthi
More informationHigh Speed SPI Slave Implementation in FPGA using Verilog HDL
High Speed SPI Slave Implementation in FPGA using Verilog HDL Mr. Akshay K. Shah Abstract SPI (Serial Peripheral Interface) is a synchronous serial communication interface for short distance communication.
More informationTen (or so) Small Computers
Ten (or so) Small Computers by Jon "maddog" Hall Executive Director Linux International and President, Project Cauã 1 of 50 Who Am I? Half Electrical Engineer, Half Business, Half Computer Software In
More informationVarious power connectors. 3.3V regulator. 64K Flash (Internal) 2K EEPROM (Internal) 4K SRAM (Internal) JA Mem Adr/ Data. Doc: page 1 of 9
Cerebot II Board Reference Manual Revision: September 14, 2007 Note: This document applies to REV B of the board. www.digilentinc.com 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview
More informationSerial Peripheral Interface. What is it? Basic SPI. Capabilities. Protocol. Pros and Cons. Uses
Serial Peripheral Interface What is it? Basic SPI Capabilities Protocol Serial Peripheral Interface http://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/ SPI_single_slave.svg/350px-SPI_single_slave.svg.png
More information32 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 informationARDUINO 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 informationUSB-to-I2C. Ultra Hardware User s Manual.
USB-to-I2C Ultra Hardware User s Manual https://www.i2ctools.com/ Information provided in this document is solely for use with the USB-to-I2C Ultra product from SB Solutions, Inc. SB Solutions, Inc. reserves
More informationXNUCLEO-F030R8, Improved STM32 NUCLEO Board
XNUCLEO-F030R8, Improved STM32 NUCLEO Board STM32 Development Board, Supports Arduino, Compatible with NUCLEO-F030R8 XNUCLEO-F030R8 Features Compatible with NUCLEO-F030R8, onboard Cortex-M0 microcontroller
More informationPIC 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 informationBT-22 Product Specification
BT-22 Product Specification Features Amp ed RF, Inc. Description 10.4 mm x 13.5 mm Our micro-sized Bluetooth module is the smallest form factor available providing a complete RF platform. The BT-22 is
More informationI2C 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 informationDoc: 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