Arduino-Lite, Lightweight AVR library developed by RoboPeak(2)

中文版请看这里

This is the second article in the series, which introduces the installation and usage of the Arduino-Lite.

Arduino-Lite is a lightweight high-performance firmware library for AVR mcus, which is developed based on the original Arduino project. We make it easy to use, just like the Arduino. Compared to the original library, Arduino-Lite generates smaller binaries and perform faster.

Some brief introduction to the Arudino-Lite: Arduino-Lite, Lightweight AVR library used by RoboPeak(1)

1. What are included in Arduino-Lite?

Arduino-Lite hosted on Google Code consists of:

  • Source code of Arduino-Lite firmware library
  • WINAVR (avr-gcc) compiler set
  • Arduino-Lite compiling system
  • Tools
  • Samples and templates

Arduino-Lite users only need to download the package to develop, compile, burn/upload and even debug AVR programs, along with system default text editors(notepad, vim); no third-party library are required. Arduino-Lite, for sure, do not prevent you from using any software or libraries.

2. Download and configure Arduino-Lite

2.1 Get Arduino-Lite

The open source version of Arduino-Lite can be retrived from Google Code:http://code.google.com/p/arduino-lite/。There are two ways to get Arduino-Lite:

  • Compressed Package

In the Download section of our Google Code project page, we released compressed packages of Arduino-Lite, what are named like arduino-lite-r1.0.zip. After downloading, no installation steps are needed, just decompress to some folder.

  • SVN

Check out any revision anonymously from the svn repository hosted on Google Code.

Continue reading Arduino-Lite, Lightweight AVR library developed by RoboPeak(2)

Arduino-Lite, Lightweight AVR library developed by RoboPeak(1)

中文版请看这里

Arduino-Lite is a lightweight high-performance firmware library for AVR MCUs, which is developed based on the original Arduino project. We make it easy to use, just like the Arduino. Compared to the original library, Arduino-Lite generates smaller binaries and perform faster.

And now, we are honored to introduce the Arduino-Lite to the public, and to make it open source.

The open source version of Arduino-Lite can be downloaded at Google Code: http://code.google.com/p/arduino-lite/

This is the first one of the series articles. Detailed usage of Arduino-Lite will be posted soon.

0. Supported Devices

Besides the standard Arduino controller boards based on Atmega328/168, all third-party boards using the following AVR chips are supported. We also published a driver-less AVR/51 programmer called RP USB Connector which is used internally by RoboPeak Team. The firmware of RP USB Connector is also developed with the Arduino-Lite library.

1. Why yet another library, and why to use it

Arduino and Arduino-Lite are both written with C++/C, and based on avr-gcc, but the Arduino-Lite has some pretty advantages:

  • Very very lightweight

Most binaries based on Arduino-Lite are 50% smaller than which based on Arduino.

  • High Efficiency

Many functions provided by Arduino-Lite, such as DIGITAL_WRITE, which is equivalent to the digitalWrite in the Arduino, implemented by only one AVR instruction.

  • More AVR chips and frequencies are supported

Besides Atmega8(A), Atmega168(PA), Atmega328(PA), Atmega1280, Arduino-Lite also supports Attiny2313, Attiny26, Atmega48(PA), Atmega88(PA)

Working frequencies supported by Arduino-Lite are ranging from 1Mhz to 20Mhz.

However, Arduino-Lite advances in following features as well:

  • Self-contained, no third-party tools, compilers or libraries dependencies.

With Arduino-Lite, the only tool you need to develop, compile or burn to devices is the common text editor, which is delivered by most modern operating system.
Avr-gcc(WINAVR) and relative libraries comes with the Arduino-Lite package.

  • Flexible and easy-to-integrate Makefile-based compiling system, but no more Makefile composing or generating operations are required.

The easiest way to create a new Arduino-Lite project is decompress the template and rename it. You can place your code in any place in the project directory. And Arduino-Lite will compile your project properly. You don’t need to modify/compose/generate Makefile anymore.

Continue reading Arduino-Lite, Lightweight AVR library developed by RoboPeak(1)

RoboPeak USB Connector – 免驱动USB的AVR/51 ISP编程器

English Version will be ready soon, you may refer to the project website for details first:

http://code.google.com/p/rp-usb-connector/

这里我们很荣幸向大家分享RoboPeak团队开发并使用的免驱动USB的AVR/51 ISP编程器: RoboPeak USB Connector。他的硬件和固件设计已经完全开源,配合Arduino-Lite使用会有很多便利,希望能对各位AVR/Arduino开发者和爱好者有所帮助。

项目主页:http://code.google.com/p/rp-usb-connector/

仅使用单个Atmega88芯片制作,采用USB-HID协议,无需任何驱动可以运行在Windows任意版本(包括64位版本)、Linux、MacOS。相比USBasp编程器(目前尚未良好支持Vista和Windows7),他的优势是显而易见的。

Continue reading RoboPeak USB Connector – 免驱动USB的AVR/51 ISP编程器

Arduino-Lite开发参考文档

(Click here for the English Version)

关于Arduino-Lite的相关介绍和使用,请参考:

Arduino-Lite保留了Arduino固件库中的大部分接口,这些接口可以参考Arduino的文档:http://arduino.cc/en/Reference/HomePage
另外,任何avr-gcc提供的函数,例如_delay_ms()都可以在Arduino-Lite中使用(需要引用相关头文件)。

快速入口:

Arduino-Lite新增函数/宏

基本IO引脚控制

PWM输出控制

模拟量采集(ADC)

睡眠和延迟

中断处理和管理

串口通讯

调试功能

文本格式化

Continue reading Arduino-Lite开发参考文档

Arduino-Lite, RoboPeak使用的高效轻量级AVR库(2)

Click here to view English version

这是本系列文章的第二篇,介绍Arduino-Lite的安装、使用和进行开发。

Arduino-Lite是由RoboPeak开发并使用的轻量级且高效率的AVR固件库,他基于Arduino项目的固件库改良而来,我们保留了Arduino固件库的简单易用的风格,同时有效的缩小了固件的代码尺寸,相比Arduino,Arduino-Lite拥有诸多优点。并且,他是相当易于使用的。

关于他的介绍和由来请访问: Arduino-Lite, RoboPeak使用的高效轻量级AVR库(1)

1. Arduino-Lite的构成

发布在google code上的Arduino-Lite的包含如下部分:

  • Arduino-Lite固件库源代码代码
  • WINAVR (avr-gcc) 编译器
  • Arduino-Lite编译系统
  • 工具程序
  • 例子工程和工程模板文档

使用者仅需下载arduino-lite并配合操作系统带有的文本编辑器(notepad, vim)即可完成AVR程序编写、编译、烧录/下载甚至调试的全部过程。无需安装任何额外的第三方库。当然,Arduino-Lite并不阻止你使用已有的软件/库。

2. 下载并配置Arduino-Lite

2.1 获取Arduino-Lite

开放版本的Arduino-Lite可以在google code下载到: http://code.google.com/p/arduino-lite/。您可以通过2种手段获得Arduino-Lite:

  • 打包的压缩包

在google code的Download区域有已经打包过的Arduino-Lite,比如arduino-lite-r0.1.zip。在下载完毕后,将他解压缩至任何路径即可,无需安装过程。

  • SVN

在google code的Source区域可以以匿名方式签出(check out) Arduino-Lite的最新版本或者历史上的任意版本。在签出后可以直接使用本地工作目录,无需安装过程

Continue reading Arduino-Lite, RoboPeak使用的高效轻量级AVR库(2)

Arduino-Lite, RoboPeak使用的高效轻量级AVR库(1)

Click here to view the English version

Arduino-Lite是由RoboPeak开发并使用的轻量级且高效率的AVR固件库,他基于Arduino项目的固件库改良而来,我们保留了Arduino固件库的简单易用的风格,同时有效的缩小了固件的代码尺寸,相比Arduino,Arduino-Lite拥有诸多优点。并且,他是相当易于使用的。

这里,我们很荣幸将Arduino-Lite开放下载并推荐给大家。

开放版本的Arduino-Lite可以在google code下载到: http://code.google.com/p/arduino-lite/

这是本系列文章的第一部分,后续我们将介绍Arduino-Lite的具体使用。

0. 支持的设备

Arduino-Lite支持基于Atmega328/168的标准Arduino控制板外,任何第三方兼容版,任何满足下文列出的AVR芯片构成的电路均可支持。我们将在后续文章中介绍并开源RoboPeak使用的免驱动AVR/51编程器RP USB Connector,它也是采用Arduino-Lite作为固件库开发的。

1. 为何要开发Arduino-Lite,为何要使用它?

同样使用C++/C编写且基于avr-gcc编译器。但与Arduino固件库相比,Arduino-Lite有如下优势。

  • 非常轻量级

使用Arduino-Lite的固件往往比使用Arduino固件库小了50%以上.

  • 高效率

许多Arduino-Lite提供的与Arduino固件相同功能的函数,例如digitalWrite之Arduino-Lite版本:DIGITAL_WRITE仅使用一条AVR指令实现.

  • 支持更多的AVR芯片和时钟频率

除了 Atmega8(A), Atmega168(PA), Atmega328(PA), Atmega1280 芯片外, Arduino-Lite 也支持以下芯片: Attiny2313, Attiny26, Atmega48(PA), Atmega88(PA)

对于时钟频率, Arduino-Lite 支持从1Mhz 至 20Mhz 的频率范围.

除此之外,Arduino-Lite还有如下特点:

  • 自包含,无需依赖任何第三方工具/编译器/库

只要系统中带有文本编辑器,即可直接用Arduino-Lite进行AVR固件开发、编译、烧录等动作。Arduino-Lite自带了avr-gcc(WINAVR)以及相关的函数库。

  • 灵活易与整合的编译环境,基于Make,但无需用户编写或是生成任何Makefile

创建一个新的Arduino-Lite工程,最简单的办法是将模板工程文件夹解压缩并重命名为希望的工程文件。并将相关的源代码以任何目录结构放置于工程目录下,Arduino-Lite就能编译项目,无需用户修改/编写/生成Makefile.

Continue reading Arduino-Lite, RoboPeak使用的高效轻量级AVR库(1)

Photos & Videos/图片和视频

在正式发布前,这里先给出一些相关的图片和视频资料. FYI.

Before our formal release, here we give some interesting stuffs. FYI.

1. 我们的通用机器人开发平台(原型系统)

Our General Robotic Development Platform (Prototype version)

2. [视频] 平台的手动控制/功能性演示

[Demo video] Manual control / Functionality Demo

3. [视频]基于激光雷达的3维点云的场景重建

[Demo video] 3D Cloud Point Scene Reconstruction based on Laser Ranger Data

4. 低成本的激光雷达系统

Low-cost Laser Ranger

5. 用于手动操控的GUI界面

GUI Console for Manual Control

6.  使用Ipad进行无线操控

Wireless control via IPad

7. RoboPeak设计的部分硬件

RoboPeak-designed Hardware

8. [Video]Fun Stuffs


—-

更多高级的特性(SLAM, 基于手势语音等的人际沟通等)即将在今后发布。

More advanced features (SLAM, Human interaction via gesture&voice, …) will be released in the near future.

About Us/关于我们

RoboPeak is a research & development team in robotics platforms and applications, founded in 2009. Our team members are Software Engineers, Electronics Engineers and New Media Artists that all come from China.

RoboPeak develops both software and hardware, which include personal robotic platforms, Robot Operating System and related devices.

Our vision is to enrich people’s daily-life with the ever-changing development and innovation in robotic technologies.

How to contact us?

You are welcome to contact us via email : support <AT> robopeak.com

RoboPeak是国内由一群软件工程师、电子工程师、新媒体艺术家所组成的机器人及相关技术领域的设计研发团队,项目于2009年底创建。

团队致力于民用机器人平台系统、机器人操作系统(ROS)以及相关设备的设计研发,并尝试将日新月异的机器人技术融入人们的日常生活与娱乐当中。同时,我们将尽力为机器人技术在开源硬件、开源软件社区的普及做出贡献。

团队在嵌入式系统、系统级软件/固件、图像识别等领域拥有丰富的经验,拥有独立设计,开发机器人操作系统、相关传感器设备硬件/固件的能力。

如何联系我们?

欢迎通过电邮与我们取得联系:support <AT> robopeak.com