Evo Laser Firmware Developer s Manual



Similar documents
Welcome to the tutorial for the MPLAB Starter Kit for dspic DSCs

MX PIC24F Educational Module User Manual

Example Connection between USB Host and Android

LED board datasheet EB

USBSPYDER08 Discovery Kit for Freescale MC9RS08KA, MC9S08QD and MC9S08QG Microcontrollers User s Manual

PC Base Adapter Daughter Card UART GPIO. Figure 1. ToolStick Development Platform Block Diagram

An Introduction to MPLAB Integrated Development Environment

Fondamenti su strumenti di sviluppo per microcontrollori PIC

FLYPORT Wi-Fi G

MPLAB IDE 64-Bit USB Device Drivers Installation

Using Xbee in Serial Communication

Desktop Headphone amplifier with Advanced DAC

Wireless Temperature

Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide

Tutorial for MPLAB Starter Kit for PIC18F

AN-812 APPLICATION NOTE

The basic set up for your K2 to run PSK31 By Glenn Maclean WA7SPY

Getting Started with PIC24F/PIC24H Programming and Interfacing in C

User Manual. Please read this manual carefully before using the Phoenix Octopus

RN-131-PICTAIL & RN-171-PICTAIL Web-Server Demo Application

Chord Limited. Mojo Dac Headphone Amplifier OPERATING INSTRUCTIONS

BE635 User Manual. Rev. V Bolymin, Inc. All Rights Reserved.

User Guide FFFA

CB-OLP425 DEVELOPMENT KIT GETTING STARTED

POCKET SCOPE 2. The idea 2. Design criteria 3

PCAN-MicroMod Universal I/O Module with CAN Interface. User Manual. Document version ( )

DKWF121 WF121-A B/G/N MODULE EVALUATION BOARD

PICNet 1. PICNet 1 PIC18 Network & SD/MMC Development Board. Features. Applications. Description

Switch board datasheet EB

Board also Supports MicroBridge

Using the Communication Ports on the DG-700 and DG-500 Digital Pressure Gauges

Schematic & Parts List: PIC16F688 Satellite Tracker & Rotor Controller

USB / Data-Acquisition Module NOW LEAD-FREE

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

KTA-223 Arduino Compatible Relay Controller

MP-1010 Capture Device USB

Schematic & Parts List: PIC16F688 Satellite Tracker & Rotor Controller

Section 28. In-Circuit Serial Programming (ICSP )

PenMount 1302 PCI Control Board

Flight Controller. Mini Fun Fly

Nuvoton Nu-Link Debug Adapter User Manual

dspic30f4012 Microcontroller

M68EVB908QL4 Development Board for Motorola MC68HC908QL4

PCAN-USB CAN Interface for USB. User Manual. Document version ( )

VoIP Recorder V2 Setup Guide

DsPIC HOW-TO GUIDE Creating & Debugging a Project in MPLAB

INTRODUCTION TO SERIAL ARM

PCAN-MicroMod Evaluation Test and Development Environment for the PCAN-MicroMod. User Manual. Document version ( )

Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure

miditech Audiolink II

DMX USB PRO. User Manual.

Introduction. Getting familiar with chipkit Pi

K8048 PIC PROGRAMMER BOARD

Develop a Dallas 1-Wire Master Using the Z8F1680 Series of MCUs

I2C PRESSURE MONITORING THROUGH USB PROTOCOL.

FlowKit in-circuit debug system

RN-131-PICTAIL & RN-171-PICTAIL Evaluation Boards

Tire pressure monitoring

Assembly. Integrated Circuits. DILSHAN R JAYAKODY (jayakody2000lk@gmail.com)

Web Streamed SDR s in Service at GB2RHQ Hack Green Bunker

Config software for D2 systems USER S MANUAL

Cell Phone Based Liquid Inventory Management Using Wireless System

L16. Quectel GNSS Engine. EVB User Guide L16_EVB_UGD_V1.0

DSPDemo. By Moe Wheatley MoeTronix.

In-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM

MODULE BOUSSOLE ÉLECTRONIQUE CMPS03 Référence :

Real Time Clock USB Evaluation Board V3.0

Processor Extension Pak and Header Specification

Embedded Component Based Programming with DAVE 3

Bluetooth HC-06 with serial port module Easy guide

DRV8312-C2-KIT How to Run Guide

How To Program A Microcontroller Board (Eb064) With A Psp Microcontroller (B064-74) With An Ios 2.5V (Power) And A Ppt (Power Control) (Power Supply) (

AC-PG-USBASP USBASP AVR Programmer

EasyPIC4 User s Manual

Quick Start Guide for High Voltage Solar Inverter DC-AC Board EVM. Version 1.3

The modular concept of the MPA-3 system is designed to enable easy accommodation to a huge variety of experimental requirements.

Troubleshooting Tips Lifestyle SA-2 & SA-3 Amplifier. Troubleshooting Tips

Chapter 1 Hardware and Software Introductions of pcduino

Using R&S NRP-Z Power Sensors with Android TM Handheld Devices. Application Note. Products:

2. Scope of the DE0 Board and Supporting Material

A PIC16F628 controlled FLL (Frequency Locked Loop) VFO for HF

HARDWARE MANUAL. BrightSign HD120, HD220, HD1020. BrightSign, LLC Lark Ave., Suite 200 Los Gatos, CA

BrightSign Expander Hardware Guide

ezsystem elab16m Project 1F: Alarm System (Full Project description)

Cumbria Designs T-1. SSB/CW Filter kit (4.9152MHz) User Manual

FUTURELIGHT RDM PC DIRECTOR

E-Blocks Easy RFID Bundle

INDEX. Trademarks All name and product s trademarks mentioned below are the property of their respective companies.

LM 358 Op Amp. If you have small signals and need a more useful reading we could amplify it using the op amp, this is commonly used in sensors.

The Programming Interface

APPLICATION. Using the PB-100 to Make Calls and Announcements From a Database. Using the PB-100 for All-Call Dialing

Yun Shield User Manual VERSION: 1.0. Yun Shield User Manual 1 / 22.

VOICE RECORDING SYSTEM ISDN PRI / BRI

How To Use An Atmel Atmel Avr32848 Demo For Android (32Bit) With A Microcontroller (32B) And An Android Accessory (32D) On A Microcontroller (32Gb) On An Android Phone Or

INSTRUCTIONS FOR USE Pro-Ject Phono Box II USB

CAN bus board. EB018

Electronic Rotary Table Divider V2.1 Construction

GIE PIC K150 Programmer. User Manual

UM0834 User manual. Developing and debugging your STM8S-DISCOVERY application code. Introduction. Reference documents

Microcomputer Based Electronics: Using the C Stamp in Pre- Engineering, Technology, and Engineering Programs

Transcription:

Evo Laser Firmware Developer s Manual Table of Content Chapter 1 Introduction Chapter 2 Hardware Overview and Subsystems 2.1 Overview 2.2 Evo Laser Hardware Core System 2.3 Evo Laser Smartport TM Chapter 3 Firmware Development 3.1 Introduction 3.2 Evo Laser Development Requirements 3.3 MPLAB X Step By Step Guide Appendix: Revisions 1. Introduction Evo Laser is the next generation laser pointer released by Wickedlasers. Its also the first fully open sourced and smartphone enabled intelligent laser pointer in the world. Due to the open source nature of the laser pointer, this manual is produced to facilitate development of alternate firmware for the Evo Laser pointer. Who should read this document This manual is produced for hardware and firmware developers who are interested in developing for the Evo Laser series. License applicable to Evo Laser firmware source files and hardware project files All firmware source and project files for the Evo Laser series released by WickedLasers Inc are licensed under Creative Commons Attribution NonCommercial ShareAlike 3.0 Unported (CC BY NC SA 3.0) license. Under this license you are allowed to to Share to copy, distribute and transmit the work to Remix to adapt the work However, you can not derive commercial work upon these resources without written permission from Wickedlasers Inc.

The details of the license can be found here http://creativecommons.org/licenses/by nc sa/3.0/. Wickedlasers Inc encourages development of commercial products based on our Evo Laser products but we would like to be informed of such developments. 2. Hardware Overview and Its subsystems 2.1 Overview The core Evo Laser pointer hardware is consisted of the following components Laser diode PWM controlled laser driver Microcontroller IC from Microchip PIC12F683 and an extension header which can be used to connect to the Smartport TM adapter. The Smartport TM is an adapter for the Evo Laser pointer that can be used to connect to smartphones with a common 3.5mm audio jack. Currently ios and Android apps are available which use this technology. 2.2 Evo Laser Hardware Core System Figure 1. Smartport TM Extension This section details the internal working of Evo lasers. The goal is to provide sufficient background knowledge to assist development of alternative firmware. Figure 2 is the complete schematic of the Evo Laser pointer. Following are the key points in understanding the schematic. D1, R3 provides a supply independent voltage reference. R6, R3 and Q3 inverts the PWM signal.

R1 and VR1 provides an adjustable voltage reference with varying source impedance (which is an unwanted but negilible). R13, SL1, R9, R5, R7 and C5 form a low pass filter which averages out the PWM signal. When SLI is shorted, the 3DB point of the RC low pass filter is 175Hz and when SLI openned, the bandwidth is 280Hz. Since PWM is running at 31.250kHz at GP2, it is way higher than the 3DB point. R5 and R7 is a voltage scaler which is used to size the non inverting voltage of U2 correctly. Without them, C5 needs to be a lot larger. U2 and Q1 is a voltage follower (buffer). Voltage across R12 will be the same as voltage at the non inverting input (V+) of U2. R10, R11 and C4 provides dominant pole compensation R12 converts voltage to current. Figure 2 Evo Laser Schematic The microcontroller used in Evo laser is PIC12F683 from Microchip. It has 8 pins which are

used as follows in this project. Pin 1, Vdd, voltage supply Pin 2, GP5 (General Purpose 5), SmartSwitch input, digital, active low. Pin 3, GP4, red LED control, output, digital, active low. Pin 4, Master Clear, weak pullup enabled. Pin 5, GP2, PWM output, digital, this controls the laser driver Pin 6 and Pin 7, GP1 and GP0, input, week pullup enabled, active low, these pins are used as mode select. See firmware chapter for more details. Pin 8, Ground. Figure 3, PIC12F683 The last component of Evo schematic is the extension header. Image is attached and it is self explanatory. Figure 4, Extension Header

2.3 Evo Laser Smartport TM Smartport TM adapter is the proprietary adapter that can be used to connect Evo laser to smartphones with 3.5mm audio port. There is no microcontroller used Smartport TM so no firmware development is possible with it. If you are interested in developing smartphone apps based on Smartport TM, please refer to our mobile app development guide. The hardware of Smartport TM is very simple. It consists of a 3.5mm Audio Jack and two signal paths from L and R of audio jack to GP0 and GP1. GP0 s path is AC coupled while GP1 is DC coupled. Both path have voltage clamping diode protection. 3.Firmware Development Figure 5, Smartport Schematic 3.1 Introduction The original and official firmware for Evo laser has been developed using WizC IDE and PIC compiler. However, we discourage future development on Evo to be based on this toolset as we discovered a few bugs associated with the WizC toolset. We have plans to port the original source code of Evo laser firmware to Microchip s offical IDE, MPLAB X.

Due to these reasons, the source code released for Evo laser will be based on WizC but this document will only details the setup necessary for development with MPLAB X. MPLAB X based source code will be released as soon as they are available. 3.2 Evo Laser Development Requirements There are three requirements to Evo firmware development besides having a Evo laser pointer. Evo Laser programmer MPLAB X IDE Free MPLAB XC8 C Compiler The only extra piece of hardware you will need for developing Evo firmware is the Wickedlasers Evo Programmer (also called Programming Plug in the Evo user manual). This programmer can be used to flash custom firmware into the Evo Laser as well as used as a programmer/debugger with MPLab X IDE. This programmer can be purchased directly on our website. Figure 6, WickedLasers Evo Programmer The Evo programmer has a custom plug that can be directly plugged into the Evo extension socket. Make sure you that you have the notch on the plug facing front of the laser. The other end of the Evo Programmer is an standard USB plug. Plug this into your computer.

Figure 7, how to plug in the Evo Programmer MPLAB X IDE can be download at http://www.microchip.com/pagehandler/en us/family/mplabx/. MPLAB X supports Windows, Linux and OS X. Choose the package appropriate for your platform. Lastly, you will need to download the free MPLAB XC8 C Compiler, which can be located here http://www.microchip.com/pagehandler/en_us/devtools/mplabxc/ Figure 8, Locate XC8 on the page http://www.microchip.com/pagehandler/en_us/devtools/mplabxc/

3.3 MPLAB X Step By Step Guide While Evo programmer plugged in, you are ready to start develop for Evo! Follow the guide below to kick start your fantastic project! Step 1. Create Standalone Project with menu command File >New Project

Step 2, Select Device Mid Range 8 bit, PIC12F683 Step 3, Choose None for Debug Header

Step 4, Choose PICkit2 as tool, your SN may be different. Step 5, Choose XC8 as compiler, it s only available if you have downloaded and installed the XC8 compiler

Step 6, last step, name your project and click finish! You are now ready to get creative! Appendix Revisions 8/27/2013 Added Chapter 3 and Appendix 8/26/2013 Initial Work