Ethernut

Ethernut is an open- source hardware and software project for the operation of embedded Ethernet systems and is used mainly in research and in industrial applications.

History of development

After the rapid development of the Internet as a communication medium for human users many developers appeared the idea of an Internet of things was a logical progression. Thus, several free and commercial projects built around the year 2000 with the aim to integrate embedded systems into existing TCP / IP networks. The challenge was that the usual at this time 8 -bit microprocessors possessed rarely more than 64 kilobytes of memory. Thus, the British developer Dave Hudson published in 2000, the open source code of a real-time operating system kernel with integrated TCP / IP stack under the name Liquorice.

A further problem was that, there was hardly any suitable hardware at that time. Among other things, almost all available network controller with PCI bus for simple microcontrollers were unsuitable. For the Atmel AVR microcontroller family, there was already a large number of free development tools and as a first board based on the ATmega103 and an outdated, but which are still in production, Ethernet controller with ISA bus under the BSD license was published in 2001. It is thus one of the pioneers of free hardware.

Hudson presented the work at a Liquorice after one year. The source code has been incorporated into the newly formed project Ethernut to merge the free hardware and software. After the first publications in the developer forum AVR Freaks the project moved in 2002 to the web portal SourceForge.

Hardware

Currently, four different reference designs ( Ethernut 1, Ethernut 2, 3 and Ethernut Ethernut 5) are available as ready built circuit boards.

In all versions, the same functional modules are included:

  • Ethernet interface
  • RS232 interface
  • Power supply
  • Almost all I / O pins of the microcontroller available

The designs differ primarily in the used microcontroller ( Ethernut 1 & 2: 8- bit AVR, Ethernut 3 & 5: 32-bit ARM) and the memory availability. Thus, a slot for MMC memory cards is available from the Ethernut 3.

Software

Nut / OS

The operating system for the boards is called Nut / OS. It is a modular real-time operating system that is released under the BSD license.

Features:

  • Cooperative multithreading
  • Guaranteed interrupt response times
  • Prioritized event handling
  • Various configurable timer
  • Dynamic memory management
  • Good portability to other architectures

Nut / Net

The network stack of Ethernut software called Nut / Net. It provides an extensive API for different protocols.

Supported protocols:

  • Ethernet
  • ARP
  • IP
  • ICMP
  • UDP
  • TCP
  • PPP
  • DHCP
  • DNS
  • SNTP
  • SNMP
  • FTP
  • TFTP
  • SYSLOG
  • HTTP
  • WINS ( subset )

Configuration and applications

The establishment of Nut / OS and Nut / Net is very easy. After downloading the files, a configuration tool is run, which created a few settings the libraries for the selected hardware.

When programming the application in the C libraries of Nut / OS and Nut / Net now be used. In addition, the application programmer is the C standard library. C in addition to C is largely supported. Furthermore, there's a Lua interpreter, so that Lua scripts can be run on the board.

Ethernut delivers with a variety of easy- held sample programs to facilitate the entry into Nut / OS.

Supported Architectures

  • Atmel AVR (eg ATmega103, ATmega128, ATmega2561, AT90CAN128, etc.)
  • Atmel AVR32 ( example: AT32UC3A, AT32UC3B, et al )
  • ARM7 (eg AT91R40008, AT91SAM7X, LPC - E2294, Gameboy Advance, etc.)
  • ARM9 ( example: AT91SAM9260, AT91SAM9XE, et al )
  • ARM Cortex M3

The following architectures are supported in principle, but are currently not actively maintained:

  • H8/300
  • Motorola 68000

Bluetooth Stack

The Research Group for Distributed Systems at ETH Zurich has developed a distributed sensor network with sensor nodes to AVR basis. These sensor nodes communicate with each other via Bluetooth. As a software based on the open -source Bluetooth stack BTNut is used. The BTNut stack based on Nut / OS and extended it to Bluetooth functionality. Although the BTNut stack was developed primarily for the BTnode sensor node, the Bluetooth stack can be ported to other applications.

Dissemination

The early availability and the open concept of the hardware Ethernut boards initially met in research on interest where you dealt with various aspects of ubiquitous computing. Among other things, it served as a first embedded platform for Contiki. The liberal license make well commercial use uncomplicated and found both hardware and software collection in numerous products.

By his own testimony sold the German manufacturer, the egnite GmbH, formerly 33.000 Ethernuts (as of December 2013). Other manufacturers of compatible hardware Achatz electronics (Netherlands), proconX (Australia), Propox (Poland), SOC Robotics ( Canada ) HW group sro (Czech Republic), Thermotemp Embedded -IT ( Germany ). Furthermore, the Nut / OS operating system used as the basis for the BTnode Sensor Networks ETH Zurich.

317985
de