An RPC-like binary protocol
, resident firmware
, and popular language bindings
access to AVRs and Arduinos.
An AVR/Arduino runs the farther firmware that listens on an interface like the USART, virtual COM port, etc and executes code programmed on a remote host.
This project consists of three primary components:
- AVR firmware that is loaded onto an AVR or Arduino
- Language bindings that you use on the remote host to control the AVR
- The protocol used between the language host and the AVR
The idea is that you have an AVR/Arduino running the farther firmware that listens for protocol packets on some interface, such as the USART, virtual COM port, or TCP/IP connection. On the remote host, you write a program in one of the supported languages for
which there is a binding (see below for currently supported language bindings), and then execute your code and view the results on your AVR/Arduino remote system. The remote AVR-based system might be a wireless sensor, PC-connected arduino with LEDs, intelligent
home automation 'ware' (a la Open Housewares
), a remote servo-supported robotic project, or anything you can imagine that you want to control remotely and programmatically.
Linux, Windows, OS X
USART, virtual COM port, TCP/IP socket, pipe, shared memory, USB
Note: If you would like support for the XMEGA or another language binding please let us know your interest at the contact email below or by leaving a post on the forums, also listed below.
http://farther.avr-firmware.net/ <still under construction>
JIRA Issues and Feature Requests:
Community Forums: http://www.avr-firmware.net
or use these
Farther Development Team:
farther-dev (at) avr-firmware (dot) net