Introduction. How to obtain the Board. About the Board. Contact Preet

Size: px
Start display at page:

Download "Introduction. How to obtain the Board. About the Board. Contact Preet"

Transcription

1 SJOne Board Introduction Getting Started Basic IO Serial Communication Libraries Internal Component Libraries External Components Debugging a crash FreeRTOS Services Command Line Interface Adding Additional Source Code Block Diagrams JTAG Debugging

2 Introduction How to obtain the Board Contact Preet About the Board LPC1758 User Manual File:2012SJOneBoardSchematic.pdf 512K ROM, 64K(96K) RAM, 1M(2M) SPI Flash, and Micro-SD for storage. Arm Cortex-M4 variant contains 96K RAM, and 2Mb SPI flash Built-in Nordic Wireless (Board-to-Board communication) Software Stack for Mesh Network 4 Switches and 4 LEDs (both hard-wired) Sensors : Temperature, 3-Axis Acceleration, IR (remote control), and Light 2-Digit 7-Segment Display RTC Crystal with Backup Battery Socket for Xbee or Wifi Module (Uart2 or Uart3) Many GPIOs with two SPI, Multiple UARTs, and I2C availability Power from USB or External Power

3 Getting Started

4 Basic IO GPIO #include "gpio.hpp" #include "utilities.h" int main(void) /* Use P1.20 as General Purpose Input/Output (GPIO) */ GPIO pin20(p1_20); /* Use this pin as OUTPUT */ pin20.setasoutput(); /* Turn on voltage to 3.3v */ pin20.sethigh(); /* Turn off voltage to 0v pin20.setlow(); */ ADC Input #include "adc0.h" void adc_read(void) /********************************************************* * ADC is already initialized before main() is called. * There are 3 ADC pins labeled on the SJ-One board. * You can use one or more channels as illustrated below. */ LPC_PINCON->PINSEL1 = (1 << 20); // ADC-3 is on P0.26, select this as ADC0.3 LPC_PINCON->PINSEL3 = (3 << 28); // ADC-4 is on P1.30, select this as ADC0.4

5 LPC_PINCON->PINSEL3 = (3 << 30); // ADC-5 is on P1.31, select this as ADC0.5 int adc3 = adc0_get_reading(3); // Read the value of ADC-3 int adc4 = adc0_get_reading(4); // Read the value of ADC-4 int adc5 = adc0_get_reading(5); // Read the value of ADC-5 PWM and Servo Control #include "lpc_pwm.hpp" /** * You can control up to 6 servos with hardware signals (and more with sw) * Each signal is mapped to from P2.0 to P2.5 */ void motor_control() /* Use 1Khz PWM. Each PWM shares the 1st frequency you set */ PWM motor1(pwm::pwm1, 1000); PWM motor2(pwm::pwm2, 0); /* Set to 50% motor speed */ motor1.set(50); motor2.set(50); void servo_control() /* Use 50Hz PWM for servos. Each PWM will be 50Hz */ PWM servo1(pwm::pwm1, 50); PWM servo2(pwm::pwm2, 0); servo1.set(5.0); ///< Set to left position servo2.set(10.0); ///< Set to right position

6 Serial Communication Libraries UART Driver #include "uart2.hpp" #include "uart3.hpp" void uart() Uart2& u2 = Uart2::getInstance(); Uart3& u3 = Uart3::getInstance(); u2.init(38400); /* Init baud rate */ u3.init(19200); /* Init baud rate */ u2.putline("hello World\n"); u3.putline("hello World\n"); /* Reference the documentation of Uart2 or Uart3 header file for more functions. * Most of the functionality is in a base class called uart_dev.cpp */ SPI Driver To hook up your external SPI device(s), use SPI#1 connections because there is already a driver in SJOne sample project for this SPI. See the connections below and the sample code: #include "spi1.h" void access_my_spi_device() // Send 0xDEAD over to SPI device and get 2 bytes back:

7 chip_select_my_device(true); char byte_0 = spi1_exchange_byte(0xde); char byte_1 = spi1_exchange_byte(0xad); chip_select_my_device(false); /** * You can use any GPIO for CS (chip-select) signal. * This example assumes CS is done through a function: * chip_select_my_device(bool); */ Figure 1. SJ One Board SPI I2C Driver I2C#2 is tied to on-board sensors and you should utilize I2C 2's connection to hook up external I2C devices. See the connections below and the sample code: #include "I2C2.hpp" void send_byte_to_my_i2c_device()

8 const char my_dev_addr = 0xBA; // Your device address const char my_dev_reg = 0x01; // Write to 1st register of your device const char my_dev_data = 0xAB; // Write 0xAB to reg 0x01 I2C2::getInstance().writeReg(my_dev_addr, my_dev_reg, my_dev_data); Figure 2. SJ One Board I2C

9 Internal Component Libraries LEDs, Switches & LED Display There are on-board switches and LEDs you may use. Furthermore, you can interface your board to external LEDs or switches as well. #include "io.hpp" void led_sw() /* Check if button 1 is pressed */ if (SW.getSwitch(1)) /* Turn on LED # 1 */ LE.on(1); /* LED display will show "1" */ LD.setNumber(1); else /* Turn off all LEDs */ LE.setAll(0); /* Clear the display */ LD.clear(); Sensors This section provides examples of how to read data values from the sensors. #include "io.hpp"

10 void sensors() /* Read light sensor */ int light_value = LS.getRawValue(); /* Read from accelerometer */ int tilt_x = AS.getX(); int tilt_y = AS.getY(); int tilt_z = AS.getZ(); /* Read from temperature sensor */ int temperature_f = TS.getFarenheit();

11 External Components ADC Ultrasonic Proximity Sensor #include adc0.h int main(void) int reading = 0; // Initialization : LPC_PINCON->PINSEL3 = (3 << 28); // ADC-4 is on P1.30, select this as ADC0.4 while (1) reading = adc0_get_reading(4); // Read current value of ADC-4 printf("\nadc Reading: %d", reading); delay_ms(1000); return 0; Buzzer A buzzer needs a PWM to operate, or you can operate it using a GPIO but it can waste your CPU cycles. Before you start with the code, attach a GPIO or PWM pin to a 1K resistor leading to the buzzer's red wire. The black wire should be connected to ground. #include "gpio.hpp" #include "utilities.h" int main(void) /* Assume we attached our P1.20 to the buzzer */ GPIO buzzer(p1_20); /* Use P1.20 as General Purpose Input/Output (GPIO) */

12 buzzer.setasoutput(); /* Use this pin as OUTPUT */ while (1) /* Beep for one second */ for (int i = 0; i < 1000; i += 2) delay_ms(1); buzzer.sethigh(); delay_ms(1); buzzer.setlow(); Motion Sensor A typical motion sensor like a PIR motion sensor is very easy to attach. Power-up the sensor using 5v, and connect the ground. Then take a resistor, tie one end to 5v, and the other end to the motion's signal. Finally, tie the signal to one of your GPIOs. #include "gpio.hpp" #include "utilities.h" int main(void) /* Assume we attached our P1.20 to out motion sensor's output pin */ GPIO motion(p1_20); /* Use P1.20 as General Purpose Input/Output (GPIO) */ motion.setasinput(); motion.enablepullup(); while (1) /* Get average of one second */ int count = 0; for (int i = 0; i < 1000; i++) /* If output is low, then motion has been detected, but it could be false positive */ if (!motion.read())

13 count++; delay_ms(1); /* Test and calibrate yourself: */ bool motiondetected = (count > 50);

14 Debugging a crash Debugging a Crash When the crash happens, it will print some useful info upon next boot, and it will also tell you the last running task before the crash happened (if you are running FreeRTOS). The next clues can be determined by doing this: Note down the address of PC and LR from the crash info printout Open *.lst file from the _build folder, and search for last four digits of PC. That is where the crash happened. LR is the "return address" of the previously called function. But I think if you see "0x123F", search for "1240" or "123C" because I think you have to subtract one from the LR value so that it lies on 4 byte boundary. Data logging One of the best ways to debugging a project is to log useful information. There is a logging facility available and it is best to use FreeRTOS that provides optimized operation. See "file_logger.h" for more details and parameters. #include "file_logger.h" void foo() LOG_INFO("Some info"); LOG_WARN("Some warning"); LOG_ERROR("Some error happened, value is: %u", 123); /* All the info is logged to a file (log.csv) * You can open this file using terminal command "cat log.csv" * You can also modify the destination to the SD card by defining * logging filename to "1:log.csv" at file_logger.h

15 */

16 FreeRTOS FreeRTOS void vtaskcode( void * pvparameters ) /* Grab Parameter */ uint32_t c = (uint32_t)(pvparameters); /* Define Constants Here */ const uint32_t COUNT_INCREMENT = 20; /* Define Local Variables */ uint32_t counter = 0; /* Initialization Code */ inittimer(); /* Code Loop */ while(1) /* Insert Loop Code */ /* Only necessary if above loop has a condition */ xtaskdelete(null); int main(int argc, char const *argv[]) //// You may need to change this value. const uint32_t STACK_SIZE = 128; xreturned = xtaskcreate( vtaskcode, /* Function that implements the task. */ "NAME", /* Text name for the task. */ STACK_SIZE, /* Stack size in words, not bytes. */ ( void * ) 1, /* Parameter passed into the task. */

17 tskidle_priority,/* Priority at which the task is created. */ &xhandle ); /* Used to pass out the created task's handle. */ /* Start Scheduler */ vtaskstartscheduler(); return 0; C++ Scheduler Task

18 /** * Add this on top of main() * Read "scheduler.task" for more documentation * Read "examples.cpp" for more examples. */ class mytask : public scheduler_task public: mytask (uint8_t priority) : scheduler_task("mytask", 512 * 8, priority) /* this function will be called in a loop by FreeRTOS */ bool run(void *p) puts("hello"); vtaskdelay(1000); return true; /* Returning false will suspend the task */ ; int main(void) //... /* Add your new task here */ scheduler_add_task(new mytask(priority_low)); //... scheduler_start(false); //...

19 Services Timer Services Getting system time using C libraries is an option, but you can also get time directly from "rtc.h". Other than this, there are two more timer services you can use as demonstrated in the code sample below. #include "lpc_sys.h" #include "soft_timer.hpp" void timers() /* You can get the time since the board has been powered */ uint64_t uptime_ms = sys_get_uptime_ms(); uint64_t uptime_us = sys_get_uptime_us(); /* There is also a polling timer available in C++, read "soft_timer.hpp" for more info. */ SoftTimer mytimer(1000); if (mytimer.expired()) /* Do something */ File I/O You can read or write files on the SPI Flash or an SD card. You can open a limited amount of files using standard C libraries. First, at your sys_config.h file, please enable ENABLE_C_FILE_IO #include "io.hpp" void file_io() /* Option 1 : C library I/O (less efficient) * 0: is for SPI Flash

20 * 1: is for SD Card */ FILE *fd = fopen("1:myfile.txt", "r"); char line[128] = 0 ; if (fd) fgets(line, sizeof(line) - 1, fd); fclose(fd); /* Option 2 : Use "storage" object (more efficient) * This option doesn't require 'ENABLE_C_FILE_IO' */ /* Write "hello" to "myfile.txt" */ Storage::write("1:myfile.txt", "hello", 5, 0)) /* Read the size of data array from myfile.txt * Not using 0: or 1: will default to 0: (SPI Flash) */ char data[16] = 0 ; Storage::read("1:myfile.txt", data, sizeof(data) - 1, 0)); /* Option 3 : Directly use ff.h API that will * read/write SD card or SPI Flash * Read documentation at : */

21 Command Line Interface Add a Terminal Command /* At terminal.cpp, add the following code at the taskentry() function */ bool terminaltask::taskentry() //... CMD_HANDLER_FUNC(myCmdHandler); cp.addhandler(mycmdhandler, "newcmd", "This is help message. 'newcmd test' will display: 'OK'"); //... return true; /* * Your source file, such as "my_source.cpp" * We will add our command handler function here */ #include "command_handler.hpp" CMD_HANDLER_FUNC(myCmdHandler) /* cmdparams is a str passed to you after user's command. * If command was "newcmd test 123" then cmdparams will be "test 123". * * output is a CharDev class where the command came from, so * we can use this to output a reply message. * See "handlers.cpp" for more examples */ if (cmdparams == "test") output.printf("ok!\n"); else

22 output.printf("error for my command\n"); /* return false will display command's help to the user */ return true; /* return true if command was successful */

23 Adding Additional Source Code C++ File Adding C++ code is simple. Simply add your *.hpp and *.cpp files and you are good to go! The file extensions must be *.hpp or *.cpp C File Adding C source code is a bit more hassle since compiling with mixed C/C++ requires some extra headers, so please use the following code as template for your header file. The *.c file doesn't require any extra stuff though. #ifndef MY_NEW_FILE_H #define MY_NEW_FILE_H /* need the C++ header */ #ifdef cplusplus extern "C" #endif /* Now include your function headers */ #ifdef cplusplus #endif#endif /* end MY_NEW_FILE_H */

24 Block Diagrams Board Block Diagrams The block diagrams below show the connectivity to various different chips on the PCB, and also show which GPIOs are available to you. The first diagram shows the pins used for on-board sensors or interfaces. The second diagram shows IOs you can use. Board Connections SJ One Board Connections Board IO

25 SJ One Board IO Board Overlay This board overlay can be compared against diagrams above to get an idea of where the IOs are located.

26 SJ One Board Overlay

27 JTAG Debugging

Lesson FreeRTOS + LPC17xx. FreeRTOS & Tasks LPC17xx Memory Map Lab Assignment: FreeRTOS Tasks

Lesson FreeRTOS + LPC17xx. FreeRTOS & Tasks LPC17xx Memory Map Lab Assignment: FreeRTOS Tasks Lesson FreeRTOS + LPC17xx FreeRTOS & Tasks LPC17xx Memory Map Lab Assignment: FreeRTOS Tasks FreeRTOS & Tasks Introduction to FreeRTOS Objective To introduce what, why, when, and how to use Real Time Operating

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

The industrial technology is rapidly moving towards ARM based solutions. Keeping this in mind, we are providing a Embedded ARM Training Suite.

The industrial technology is rapidly moving towards ARM based solutions. Keeping this in mind, we are providing a Embedded ARM Training Suite. EMBEDDED ARM TRAINING SUITE ARM SUITE INCLUDES ARM 7 TRAINER KIT COMPILER AND DEBUGGER THROUGH JTAG INTERFACE PROJECT DEVELOPMENT SOLUTION FOR ARM 7 e-linux LAB FOR ARM 9 TRAINING PROGRAM INTRODUCTION

More information

Advanced Embedded Systems

Advanced Embedded Systems Advanced Embedded Systems Practical & Professional Training on Advanced Embedded System Course Objectives : 1. To provide professional and industrial standard training which will help the students to get

More information

The Information contained herein is subject to change without notice. Revisions may be issued regarding changes and/or additions.

The Information contained herein is subject to change without notice. Revisions may be issued regarding changes and/or additions. Pepper 43R TM Gumstix, Inc. shall have no liability of any kind, express or implied, arising out of the use of the Information in this document, including direct, indirect, special or consequential damages.

More information

SPI (Serial & Peripheral Interface)

SPI (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 information

BLE MODULE SPECIFICATIONS

BLE MODULE SPECIFICATIONS WIRELESS-TAG BLE MODULE SPECIFICATIONS nrf51-01/02/dk Bluetooth Low Energy (BLE) module of nrf51-01/02 is the next generation BLE module released by SEMITRION electronics. The modules use nrf51822 from

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

Ultra Low Power Microcontroller - Design Criteria - June 2017

Ultra Low Power Microcontroller - Design Criteria - June 2017 Ultra Low Power Microcontroller - Design Criteria - June 2017 Agenda 1. Low power technology features 2. Intelligent Clock Generator 3. Short wake-up times 4. Intelligent memory access 5. Use case scenario

More information

esi-risc Development Suite Getting Started Guide

esi-risc Development Suite Getting Started Guide 1 Contents 1 Contents 2 2 Overview 3 3 Starting the Integrated Development Environment 4 4 Hello World Tutorial 5 5 Next Steps 8 6 Support 10 Version 2.5 2 of 10 2011 EnSilica Ltd, All Rights Reserved

More information

Systems Programming. Lecture 4 Z16 Architecture and Programming

Systems Programming.   Lecture 4 Z16 Architecture and Programming Systems Programming www.atomicrhubarb.com/systems Lecture 4 Z16 Architecture and Programming Section Topic Where in the books Zilog Zilog Zilog Zilog UM197 (ZNEO Z16F Series Flash Microcontroller Contest

More information

HARDWARE REFERENCE IMM-NRF51822

HARDWARE REFERENCE IMM-NRF51822 HARDWARE REFERENCE IMM-NRF51822 Micro-module Copyright 2014 I-SYST, all rights reserved. This document may not be reproduced in any form without, express written consent from I-SYST. Limited Warranty The

More information

User Manual For CP-JR ARM7 USB-LPC2148 / EXP

User Manual For CP-JR ARM7 USB-LPC2148 / EXP CP-JR ARM7 USB-LPC2148 / EXP 38 CR-JR ARM7 USB-LPC2148 which is a Board Microcontroller ARM7TDMI-S Core uses Microcontroller 16/32-Bit 64 Pin as Low Power type to be a permanent MCU on board and uses MCU

More information

Experiment 3. Interrupts. Hazem Selmi, Ahmad Khayyat

Experiment 3. Interrupts. Hazem Selmi, Ahmad Khayyat Experiment 3 Interrupts Hazem Selmi, Ahmad Khayyat Version 162, 24 February 2017 Table of Contents 1. Objectives........................................................................................

More information

MYD-IMX28X Development Board

MYD-IMX28X Development Board MYD-IMX28X Development Board MYC-IMX28X CPU Module as Controller Board Two 1.27mm pitch 80-pin SMT Connectors for Board-to-Board Connections 454MHz Freescale i.mx28 Series ARM926EJ-S Processors 128MB DDR2

More information

Typical Applications: GHz Bluetooth low energy systems - Proprietary 2.4 GHz systems - Sports and leisure equipment - Mobile phone accessories -

Typical Applications: GHz Bluetooth low energy systems - Proprietary 2.4 GHz systems - Sports and leisure equipment - Mobile phone accessories - PTR5618PA Coin-size Bluetooth Low Energy System on Module with PA Embedded Cortex M4F 32 bit processor The PTR5618PA ultra-low power Bluetooth Low Energy/2.4GHz Proprietary Multi-protocol modules based

More information

FreeRTOS X. Task Notifications Semaphores Family Critical Section FreeRTOS Producer Consumer Tasks

FreeRTOS X. Task Notifications Semaphores Family Critical Section FreeRTOS Producer Consumer Tasks FreeRTOS X Task Notifications Semaphores Family Critical Section FreeRTOS Producer Consumer Tasks Task Notifications Semaphores Family Binary Semaphore Counting Semaphore Mutex Recursive Mutex Critical

More information

Interesting Items Volume 16. Dave Jaffe 04/23/2011

Interesting Items Volume 16. Dave Jaffe 04/23/2011 Interesting Items Volume 16 Dave Jaffe 04/23/2011 Caveats I came across these products in recent magazines I have not bought or used these products I do not endorse these products I do not know much more

More information

Pedometer 3 Click. PID: MIKROE 3259 Weight: 24 g

Pedometer 3 Click. PID: MIKROE 3259 Weight: 24 g Pedometer 3 Click PID: MIKROE 3259 Weight: 24 g The Pedometer 3 click is a tri-axis acceleration sensing Click board utilizing the KX126-1063. An advanced three-axis acceleration sensor, the KX126-1063

More information

5/11/2012 CMSIS-RTOS. Niall Cooling Feabhas Limited CMSIS. Cortex Microcontroller Software Interface Standard.

5/11/2012 CMSIS-RTOS. Niall Cooling Feabhas Limited  CMSIS. Cortex Microcontroller Software Interface Standard. Niall Cooling Feabhas Limited www.feabhas.com Cortex Microcontroller Software Interface Standard CMSIS 2 1 ARM Cortex Family A Series Application MMU Linux, Android, Windows R Series Real-Time MPU M Series

More information

Wireless-Tag WT51822-S1

Wireless-Tag WT51822-S1 Wireless-Tag WT51822-S1 Bluetooth Low Energy 4.1 Module DATASHEET Description Bluetooth Low Energy (BLE) module of WT51822-S1 is the next generation BLE4.1(Compatible With BLE4.0) module released by Wireless-Tag

More information

Hibernation Module. Introduction. Agenda

Hibernation Module. Introduction. Agenda Hibernation Module Introduction In this chapter we ll take a look at the hibernation module and the low power modes of the M4F. The lab will show you how to place the device in sleep mode and you ll measure

More information

P89V51RD2 Development Board May 2010

P89V51RD2 Development Board May 2010 P89V51RD2 Development Board May 2010 NEX Robotics Pvt. Ltd. 1 P89V51RD2 Development Board Introduction: P89V51RD2 Development Board P89V51RD2 Development Board is a low cost development board which have

More information

Accel 5 click. PID: MIKROE 3149 Weight: 24 g

Accel 5 click. PID: MIKROE 3149 Weight: 24 g Accel 5 click PID: MIKROE 3149 Weight: 24 g Accel 5 click features an ultra-low power triaxial accelerometer sensor, labeled as the BMA400. This Click board allows linear motion and gravitational force

More information

Introduction to ARM LPC2148 Microcontroller

Introduction to ARM LPC2148 Microcontroller Introduction to ARM LPC2148 Microcontroller Dr.R.Sundaramurthy Department of EIE Pondicherry Engineering College Features of LPC2148 in a Nut Shell CPU = ARM 7 Core Word Length = 32 Bit ROM = 512 KB RAM

More information

Arduino Uno. Power & Interface. Arduino Part 1. Introductory Medical Device Prototyping. Digital I/O Pins. Reset Button. USB Interface.

Arduino Uno. Power & Interface. Arduino Part 1. Introductory Medical Device Prototyping. Digital I/O Pins. Reset Button. USB Interface. Introductory Medical Device Prototyping Arduino Part 1, http://saliterman.umn.edu/ Department of Biomedical Engineering, University of Minnesota Arduino Uno Power & Interface Reset Button USB Interface

More information

EMBEDDED HARDWARE. Core Board. ARM7 Development board. ARM7 Evaluation Board. Page 1 of 5

EMBEDDED HARDWARE. Core Board. ARM7 Development board. ARM7 Evaluation Board. Page 1 of 5 Core Board * Size: 71.2mm *50.8mm * Industrial grade 32-bit RISC micro-controller * Mass storage device support * Industrial grade 16C550 Serial Interface * 10/100M Industrial Ethernet interface * USB

More information

Arduino Prof. Dr. Magdy M. Abdelhameed

Arduino Prof. Dr. Magdy M. Abdelhameed Course Code: MDP 454, Course Name:, Second Semester 2014 Arduino What is Arduino? Microcontroller Platform Okay but what s a Microcontroller? Tiny, self-contained computers in an IC Often contain peripherals

More information

CSCI-243 Exam 1 Review February 22, 2015 Presented by the RIT Computer Science Community

CSCI-243 Exam 1 Review February 22, 2015 Presented by the RIT Computer Science Community CSCI-243 Exam 1 Review February 22, 2015 Presented by the RIT Computer Science Community http://csc.cs.rit.edu History and Evolution of Programming Languages 1. Explain the relationship between machine

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

WAVETEK BLE-WT51822AA/AB. Revision History. Bluetooth low energy Module WT51822AA (256k) /AB (128k) (Bluetooth Low Energy BT4.0) PRODUCT SPECIFICATION

WAVETEK BLE-WT51822AA/AB. Revision History. Bluetooth low energy Module WT51822AA (256k) /AB (128k) (Bluetooth Low Energy BT4.0) PRODUCT SPECIFICATION Bluetooth low energy Module WT51822AA (256k) /AB (128k) (Bluetooth Low Energy BT4.0) PRODUCT SPECIFICATION Part number: BLE WT51822AA/AB Wavetek has developed a module which supports Bluetooth Low Energy

More information

MYD-IMX28X Development Board

MYD-IMX28X Development Board MYD-IMX28X Development Board MYC-IMX28X CPU Module as Controller Board Two 1.27mm pitch 80-pin SMT Male Connectors for Board-to-Board Connections 454MHz Freescale i.mx28 Series ARM926EJ-S Processors 128MB

More information

Intel Galileo gen 2 Board

Intel Galileo gen 2 Board Intel Galileo gen 2 Board The Arduino Intel Galileo board is a microcontroller board based on the Intel Quark SoC X1000, a 32- bit Intel Pentium -class system on a chip (SoC). It is the first board based

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

ESPino - Specifications

ESPino - 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 information

The Information contained herein is subject to change without notice. Revisions may be issued regarding changes and/or additions.

The Information contained herein is subject to change without notice. Revisions may be issued regarding changes and/or additions. Poblano 43C TM Gumstix, Inc. shall have no liability of any kind, express or implied, arising out of the use of the Information in this document, including direct, indirect, special or consequential damages.

More information

Overview of Microcontroller and Embedded Systems

Overview of Microcontroller and Embedded Systems UNIT-III Overview of Microcontroller and Embedded Systems Embedded Hardware and Various Building Blocks: The basic hardware components of an embedded system shown in a block diagram in below figure. These

More information

Embedded Programming with ARM Cortex-M3 Basic Experiments 1

Embedded Programming with ARM Cortex-M3 Basic Experiments 1 Embedded Programming with ARM Cortex-M3 Basic Experiments 1 Alan Xiao, Ph.D Handheld Scientific, Inc. qiwei@handheldsci.com Today s Topics Basics (with the Discovery board): 1. General Input/Output (GPIO)

More information

FreeBSD and Beaglebone Black, a robotic application.

FreeBSD and Beaglebone Black, a robotic application. FreeBSD and Beaglebone Black, a robotic application. Fabio Balzano fabio.balzano@elfarolab.com University of Ottawa, Canada May 17, 2014 The robot System description What is this? it is a ROV - Remote

More information

MYD-SAMA5D3X Development Board

MYD-SAMA5D3X Development Board MYD-SAMA5D3X Development Board MYC-SAMA5D3X CPU Module as Controller Board DDR2 SO-DIMM 200-pin Signals Consistent with Atmel's Official Board 536MHz Atmel SAMA5D3 Series ARM Cortex-A5 Processors 512MB

More information

Mu.S.E. Operating Manual

Mu.S.E. Operating Manual Mu.S.E. Operating Manual Controls and Indicators 1 3.5 Audio jack line input (P1) 2 Pull Throw switch (S2) This switch toggles between line in and MP3 decoder to audio jack output P1. Toggling switch up

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

Forth and C on the Cortex-M3. Saturday, April 28, 12

Forth and C on the Cortex-M3. Saturday, April 28, 12 Forth and C on the Cortex-M3 Arm Cortex-M3! 32-Bit Architecture Low-latency Prioritized Interrupt controller - NVIC Single-Cycle Multiply Sophisticated Debug C and Assembly friendly Common across all major

More information

XNUCLEO-F030R8, Improved STM32 NUCLEO Board

XNUCLEO-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 information

Product specification

Product specification MJIOT-AMB-03 Product specification 1 MJIOT-AMB-03module appearance 2 目录 1. Product overview...4 1.1 Characteristic... 5 1.2 main parameters...6 1.2 Interface definition... 7 2. appearance and size... 8

More information

ARM Cortex-M4 Architecture and Instruction Set 1: Architecture Overview

ARM Cortex-M4 Architecture and Instruction Set 1: Architecture Overview ARM Cortex-M4 Architecture and Instruction Set 1: Architecture Overview M J Brockway January 25, 2016 UM10562 All information provided in this document is subject to legal disclaimers. NXP B.V. 2014. All

More information

Embedded Technosolutions

Embedded Technosolutions We Are India s one of the Leading Trainings & Jobs Providing Organization Embedded Technosolutions is a Professional & Corporate Training Institute & a Company which Working for Indian MNCs & Medium/Small

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

pcduino V3B XC4350 User Manual

pcduino V3B XC4350 User Manual pcduino V3B XC4350 User Manual 1 User Manual Contents Board Overview...2 System Features...3 Single-Board Computer Configuration......3 Pin Assignments...4 Single-Board Computer Setup...6 Required Hardware...6

More information

Concurrency in embedded systems Practical approach

Concurrency in embedded systems Practical approach Concurrency in embedded systems Practical approach by Łukasz Pobereżnik Agenda 1. Introduction to concurrency problems 2. Concurrency programming models for microcontrollers a. Pros and cons b. Useful

More information

CoLinkEx_LPC11C14 EVB Kit User Guide

CoLinkEx_LPC11C14 EVB Kit User Guide CoLinkEx_LPC11C14 EVB Kit User Guide Rev. 1.0 Release: 2012-05-07 Website: http://www.coocox.org Forum: http://www.coocox.org/forum/forum.php?id=1 Techinal: master@coocox.com Market: market@coocox.com

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

Embedded System Project (521423S) - Specifications

Embedded System Project (521423S) - Specifications Embedded System Project (521423S) - Specifications Design phases power consumption, environment etc. partitioning, basic solutions System requirements Sketch of hardware Sketch of software operation procedures

More information

Interconnects, Memory, GPIO

Interconnects, Memory, GPIO Interconnects, Memory, GPIO Dr. Francesco Conti f.conti@unibo.it Slide contributions adapted from STMicroelectronics and from Dr. Michele Magno, others Processor vs. MCU Pipeline Harvard architecture Separate

More information

PV8900-CORE Full Function TCC8900/TCC8901/TCC8902 CPU Module Specification

PV8900-CORE Full Function TCC8900/TCC8901/TCC8902 CPU Module Specification PV8900-CORE Full Function TCC8900/TCC8901/TCC8902 CPU Module Specification 1. Overview: PV8900-CORE CPU Module is designed by Shanghai Povell Electronic Technologies Co., Ltd. in 2010, this CPU module

More information

The Rapid Development Platform

The Rapid Development Platform μez Overview The Rapid Development Platform Muse μez is a registered trademark of Future Designs, Inc. 1 Overview What is μez? μez RTOS Engine μez Four Tier Hierarchy Reusable HAL and Device Drivers LPC2478,

More information

INTRODUCTION HARDWARE

INTRODUCTION HARDWARE Project Kit Table of Contents INTRODUCTION... 3 HARDWARE... 3 Hardware built-in micro:bit:... 3 Hardware included in this kit:... 4 CODE... 5 Pseudo Code:... 5 Coding Tools:... 5 Running Programs:... 8

More information

OK335xS Users Manual Part I - Introduction

OK335xS Users Manual Part I - Introduction OK335xS Users Manual Part I - Introduction Copyright@2013-2014 http://www.arm9board.net COPYRIGHT STATEMENT Contents (content being images, text, programs and scripts) of this manual is copyright Witech

More information

HEXIWEAR COMPLETE IOT DEVELOPMENT SOLUTION

HEXIWEAR COMPLETE IOT DEVELOPMENT SOLUTION HEXIWEAR COMPLETE IOT DEVELOPMENT SOLUTION NXP SEMICONDUCTORS PUBLIC THE ONLY SUPPLIER TO PROVIDE COMPLETE IoT SOLUTIONS DSPs, MCUs & CPUs Suite of Sensors NFC, BLE, Thread, zigbee, sub-ghz Wireless Interconnects

More information

LPC1788 Mio Board. The functional details of the board are as follows-

LPC1788 Mio Board. The functional details of the board are as follows- INTRODUCTION : The LPC1788 Mio is based on Cortex M3 Core, running at up to 120MHz. The Mio lets you quickly start with your development on LPC1788 based designs. The functional details of the board are

More information

ECG 2 click PID: MIKROE Weight: 30 g. Condition: New product. Table of contents

ECG 2 click PID: MIKROE Weight: 30 g. Condition: New product. Table of contents ECG 2 click PID: MIKROE-2507 Weight: 30 g Condition: New product Track the patterns of your beating heart with ECG 2 click. ECG 2 click contains ADS1194 16 bit deltasigma analog to digital converters from

More information

ReMutt Control. Critical Design Review

ReMutt Control. Critical Design Review ReMutt Control Critical Design Review The Team Team Leader: Steven Guan Team Members: Eric Brunnett, Daniel Kwak, Joon Hee Lee, Alex Chepilev What is the ReMutt Control? Remote pet feeding system operated

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

Chapter 15. ARM MCUs Architecture, Programming and Development Tools

Chapter 15. ARM MCUs Architecture, Programming and Development Tools Chapter 15 ARM MCUs Architecture, Programming and Development Tools Lesson 2 ARM Microcontrollers 2 ARM CPUs/MCUs CPUs ARM-7 and ARM-9 CPUs PowerPC 750,ColdFire, TigerSHARC MCUs ST72x, LPC21xx, ARM Cortex

More information

MYD-Y6ULX Development Board

MYD-Y6ULX Development Board MYD-Y6ULX Development Board MYC-Y6ULX CPU Module as Controller Board 528Hz NXP i.mx 6UL/6ULL ARM Cortex-A7 Processors 1.0mm pitch 140-pin Stamp Hole Expansion Interface for Board-to-Board Connections 256MB

More information

SPARK CORE A DIY guide for KingMakers KANDARP JANI DAN TEBBS

SPARK CORE A DIY guide for KingMakers   KANDARP JANI DAN TEBBS SPARK CORE A DIY guide for KingMakers http://www.spark.io KANDARP JANI (janikd@hotmail.com) DAN TEBBS What is the Spark Core? A Wi-Fi based module for connecting sensors, controllers and other gizmos to

More information

ArduCAM CC3200 UNO board

ArduCAM 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 information

Hello, and welcome to this presentation of the STM32L4 power controller. The STM32L4 s power management functions and all power modes will also be

Hello, and welcome to this presentation of the STM32L4 power controller. The STM32L4 s power management functions and all power modes will also be Hello, and welcome to this presentation of the STM32L4 power controller. The STM32L4 s power management functions and all power modes will also be covered in this presentation. 1 Please note that this

More information

Introduction to Arduino. Wilson Wingston Sharon

Introduction to Arduino. Wilson Wingston Sharon Introduction to Arduino Wilson Wingston Sharon cto@workshopindia.com Physical computing Developing solutions that implement a software to interact with elements in the physical universe. 1. Sensors convert

More information

Wireless Sensor Networks. FireFly 2.2 Datasheet

Wireless 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 information

ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives:

ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives: ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives: This lab will introduce basic embedded systems programming concepts by familiarizing the user with an embedded programming

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 - FS 2018

Embedded Systems - FS 2018 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Embedded Systems - FS 2018 Lab 1 Date : 14.3.2018 LaunchPad Basic Bare-Metal Programming Goals of this Lab Get to know the MSP-EXP432P401R

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

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

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

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

LAB1. Get familiar with Tools and Environment

LAB1. Get familiar with Tools and Environment LAB1 Get familiar with Tools and Environment Outline Intro to ARMmite Pro development board Intro to LPC2103 microcontroller Cross development environment and tools Program the broad in C: light the LED

More information

PIXI click PID: MIKROE Weight: 28 g

PIXI click PID: MIKROE Weight: 28 g PIXI click PID: MIKROE-2817 Weight: 28 g PIXI click is equipped with MAX11300 IC from Maxim Integrated, which features Maxim Integrated's versatile, proprietary PIXI technology - it is the industry's first

More information

Embedded Systems. School of Computer Science

Embedded Systems. School of Computer Science Embedded Systems Sivan Toledo School of Computer Science Tel-Aviv University Students Expectations Before I start talking, what do you hope to learn? What is An Embedded System? What is An Embedded System?

More information

Using Code Composer Studio IDE with MSP432

Using Code Composer Studio IDE with MSP432 Using Code Composer Studio IDE with MSP432 Quick Start Guide Embedded System Course LAP IC EPFL 2010-2018 Version 1.2 René Beuchat Alex Jourdan 1 Installation and documentation Main information in this

More information

Typical Applications: GHz Bluetooth low energy systems - Proprietary 2.4 GHz systems - Sports and leisure equipment - Mobile phone accessories,

Typical Applications: GHz Bluetooth low energy systems - Proprietary 2.4 GHz systems - Sports and leisure equipment - Mobile phone accessories, PTR5618 Coin-size Ultra Low Power Bluetooth Low Energy System on Module Embedded Cortex M4F 32 bit processor The PTR5618 ultra-low power Bluetooth Low Energy/ANT/2.4GHz Proprietary Multi-protocol modules

More information

PS Telematik-Projekt: Wireless Embedded Systems

PS Telematik-Projekt: Wireless Embedded Systems 19589 - PS Telematik-Projekt: Wireless Embedded Systems First Steps Bastian Blywis, Dr. Achim Liers Department of Mathematics and Computer Science Institute of Computer Science 08. October, 2008 Institute

More information

5I20 ANYTHING I/O MANUAL

5I20 ANYTHING I/O MANUAL 5I20 ANYTHING I/O MANUAL Version 1.9 This page intentionally not blank 12 24 LOOPBACK Table of Contents GENERAL.......................................................... 1 DESCRIPTION.................................................

More information

Color 7 click. PID: MIKROE 3062 Weight: 19 g

Color 7 click. PID: MIKROE 3062 Weight: 19 g Color 7 click PID: MIKROE 3062 Weight: 19 g Color 7 click is a very accurate color sensing Click board which features the TCS3472 color light to digital converter with IR filter, from ams. It contains

More information

ARM Embedded Development Using Oberon-07

ARM Embedded Development Using Oberon-07 ARM Embedded Development Using Oberon-07 Chris Burrows Oberon Day 2011, ETH Zurich 27th May 2011 1 Overview Background ARM Microcontrollers Embedded Software Astrobe Aim Why NXP LPC2000 Microcontrollers?

More information

8051 Microcontroller

8051 Microcontroller 8051 Microcontroller The 8051, Motorola and PIC families are the 3 leading sellers in the microcontroller market. The 8051 microcontroller was originally developed by Intel in the late 1970 s. Today many

More information

THE LPC84X MCU FAMILY A MULTI-TESTER TOOL OFFERING FEATURES FOR YOUR NEXT IOT DESIGN

THE LPC84X MCU FAMILY A MULTI-TESTER TOOL OFFERING FEATURES FOR YOUR NEXT IOT DESIGN THE LPC84X MCU FAMILY A MULTI-TESTER TOOL OFFERING FEATURES FOR YOUR NEXT IOT DESIGN KEVIN TOWNSEND (MICROBUILDER) BRENDON SLADE (NXP) Agenda Part I Overview of the LPC84x Multi-Tester Swiss army knife

More information

Indriya_DP_03A14. Features. Block Diagram. XBEE based Wireless Sensor Network development platform

Indriya_DP_03A14. Features. Block Diagram. XBEE based Wireless Sensor Network development platform Indriya TM is a hardware development environment for building ambient intelligence based wireless sensor network applications. Features Simple, pervasive & low power 8-bit microcontroller core with low-power

More information

STM32F429 Overview. Steve Miller STMicroelectronics, MMS Applications Team October 26 th 2015

STM32F429 Overview. Steve Miller STMicroelectronics, MMS Applications Team October 26 th 2015 STM32F429 Overview Steve Miller STMicroelectronics, MMS Applications Team October 26 th 2015 Today - STM32 portfolio positioning 2 More than 30 product lines High-performance 398 CoreMark 120 MHz 150 DMIPS

More information

ARDUINO PRIMO. Code: A000135

ARDUINO 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 information

STSW-BLUENRG1-DK. BlueNRG-1, BlueNRG-2 DK SW package

STSW-BLUENRG1-DK. BlueNRG-1, BlueNRG-2 DK SW package BlueNRG-1, BlueNRG-2 DK SW package Data brief Features Bluetooth SMART SW package supporting BlueNRG-1 and BlueNRG-2 Bluetooth low energy (BLE) systems-on-chip BlueNRG-1 Navigator and BlueNRG-2 Navigator

More information

Program Translation. text. text. binary. binary. C program (p1.c) Compiler (gcc -S) Asm code (p1.s) Assembler (gcc or as) Object code (p1.

Program Translation. text. text. binary. binary. C program (p1.c) Compiler (gcc -S) Asm code (p1.s) Assembler (gcc or as) Object code (p1. Program Translation Compilation & Linking 1 text C program (p1.c) Compiler (gcc -S) text Asm code (p1.s) binary binary Assembler (gcc or as) Object code (p1.o) Linker (gcc or ld) Executable program (p1)

More information

FRDM-KL03Z User s Guide

FRDM-KL03Z User s Guide Freescale Semiconductor User s Guide Document Number: FRDMKL03ZUG Rev. 0, 7/2014 FRDM-KL03Z User s Guide 1 Overview The Freescale Freedom development platform is an evaluation and development tool ideal

More information

The Atmel ATmega168A Microcontroller

The Atmel ATmega168A Microcontroller Ming Hsieh Department of Electrical Engineering EE 459Lx - Embedded Systems Design Laboratory The Atmel ATmega168A Microcontroller by Allan G. Weber 1 Introduction The Atmel ATmega168A is one member of

More information

MT2 Introduction Embedded Systems. MT2.1 Mechatronic systems

MT2 Introduction Embedded Systems. MT2.1 Mechatronic systems MT2 Introduction Embedded Systems MT2.1 Mechatronic systems Mechatronics is the synergistic integration of mechanical engineering, with electronics and intelligent computer control in the design and manufacturing

More information

Part Number: PCB-STM32-F4B1 (unpopulated PCB with Discovery module sockets, no other parts) STM32-F4B1 (assembled board, not presently available)

Part Number: PCB-STM32-F4B1 (unpopulated PCB with Discovery module sockets, no other parts) STM32-F4B1 (assembled board, not presently available) PCB-STM32-F4B1 Development baseboard for the STMicro Discovery-F4 module (STMicro part# STM32F4DISCOVERY) PCB Rev 1.00 shown. PCB Rev 1.20 has on-board RS232 drivers. Part Number: PCB-STM32-F4B1 (unpopulated

More information

CORRIGENDUM ISSUED FOR NATIONAL COMPETITIVE BIDDING UNDER TEQIP PHASE-II

CORRIGENDUM ISSUED FOR NATIONAL COMPETITIVE BIDDING UNDER TEQIP PHASE-II CORRIGENDUM ISSUED FOR NATIONAL COMPETITIVE BIDDING UNDER TEQIP PHASE-II The prebid meeting for the packages to be purchased under national competitive bidding for TEQIP Phase II was held on 15/10/2013

More information

LPC2148 DEV BOARD. User Manual.

LPC2148 DEV BOARD. User Manual. LPC2148 DEV BOARD User Manual www.coineltech.com www.coineltech.com Designed by CoiNel Technology Solutions LLP No-816, 2 nd Floor, 4 th B Cross, 9 th A Main, RPC Layout, Vijaynagar, Bangalore-560040 State:

More information

Use of ISP1507-AL Evaluation Boards

Use of ISP1507-AL Evaluation Boards Use of ISP1507-AL Evaluation Boards Application Note AN181103 Introduction Scope This document gives details on hardware and software for using and testing Insight SiP Bluetooth Low Energy module ISP1507-AL,

More information