Ethernut is an
open source hardware
Open-source hardware (OSH) consists of physical artifacts of technology designed and offered by the open-design movement. Both free and open-source software (FOSS) and open-source hardware are created by this open-source culture movement and app ...
and software project for use as an
embedded
Embedded or embedding (alternatively imbedded or imbedding) may refer to:
Science
* Embedding, in mathematics, one instance of some mathematical object contained within another instance
** Graph embedding
* Embedded generation, a distributed ge ...
-
Ethernet
Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in ...
-system.
Hardware

Currently four different reference designs exist (Ethernut 1, Ethernut 2, Ethernut 3 and Ethernut 5) which are available as ready to use boards.
All reference designs share the same set of interfaces:
* Ethernet Connector
* RS-232 ports
* Power connector
* Nearly all I/O pins of the microcontroller are available on an expansion port
The designs mainly differ in the used
microcontroller
A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs ( processor cores) along with memory and programma ...
(Ethernut 1 & 2: 8-bit
AVR, Ethernut 3 & 5: 32-bit
ARM
In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between t ...
) and the available memory size.
Since the Ethernut 3 board an
MMC MMC may stand for:
Business
*Mail.com Media Corp., a former name of the US digital media company PMC
* Marsh & McLennan Companies, an American-based global professional services firm
*Master Municipal Clerk, a certification in the US for a munic ...
slot is available. Ethernut 5 also includes
USB
Universal Serial Bus (USB) is an industry standard that establishes specifications for cables, connectors and protocols for connection, communication and power supply ( interfacing) between computers, peripherals and other computers. A broa ...
host and device interfaces.
History
With the rise of the idea of the
Internet of Things
The Internet of things (IoT) describes physical objects (or groups of such objects) with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other com ...
, different groups of people with different aims started around 2000 developing embedded systems which would be able to integrate in existing TCP/IP networks.
The limited resources of this mostly
8-bit
In computer architecture, 8-bit integers or other data units are those that are 8 bits wide (1 octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data buses of ...
embedded systems, which rarely reached or exceeded 64 kB of main memory, imposed a great challenge.
In the year 2000 the British developer Dave Hudson released the source code of a
real-time operating system
A real-time operating system (RTOS) is an operating system (OS) for real-time applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a time-sharing operating system, such as Unix, which ...
with integrated
TCP/IP
The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suit ...
stack named ''Liquorice''.
Another challenge was that suitable hardware for this kind of development was nearly non-existent. Nearly all network controllers of that time used the
PCI-Bus interface which is too complex for small microcontrollers. But one of the few still-in-production controllers with
ISA-Bus interface, which also was not recommended for new designs, was used together with ATmega103 microcontroller to create a single board computer. The layout of this board was released under
BSD license
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD li ...
and was one of the early open hardware projects.
After one year Hudson ceased work on the project. But the source code of Liquorice was used as software foundation for the new Ethernut project which aimed to integrate software and hardware development. After the first few versions had been released to the AVR Freaks Board, the project switched to SourceForge in 2002.
Software
Nut/OS
The
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
for these boards is called Nut/OS. It is a modular real-time operating system, licensed under BSD license.
Characteristics:
* Cooperative
multithreading
* Assured
interrupt
In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted ...
-latency
* Prioritized event handling
* Different configurable timers
*
Dynamic memory management
Memory management is a form of resource management applied to computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when ...
*
Process synchronization technologies
* Good portability to other
architectures
Architecture is the art and technique of designing and building, as distinguished from the skills associated with construction. It is both the process and the product of sketching, conceiving, planning, designing, and constructing buildings o ...
Nut/OS is supported by popular
SSL/TLS
Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in secu ...
libraries such as
wolfSSL
wolfSSL is a small, portable, embedded SSL/TLS library targeted for use by embedded systems developers. It is an open source implementation of TLS (SSL 3.0, TLS 1.0, 1.1, 1.2, 1.3, and DTLS 1.0, 1.2, and 1.3) written in the C programming langu ...
for embedded security.
Nut/Net
The Ethernut project implements its own network stack, called Nut/Net. It implements a substantial protocol and socket API for use in Nut/OS programs.
The supported protocols are:
*
Ethernet
Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in ...
*
ARP
*
IP
*
ICMP
*
UDP
*
TCP
TCP may refer to:
Science and technology
* Transformer coupled plasma
* Tool Center Point, see Robot end effector
Computing
* Transmission Control Protocol, a fundamental Internet standard
* Telephony control protocol, a Bluetooth communication s ...
*
PPP
*
DHCP
The Dynamic Host Configuration Protocol (DHCP) is a network management protocol used on Internet Protocol (IP) networks for automatically assigning IP addresses and other communication parameters to devices connected to the network using a cli ...
*
DNS
The Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned to ...
*
SNTP
*
SNMP
Simple Network Management Protocol (SNMP) is an Internet Standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behaviour. Devices that typically ...
*
FTP
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and data ...
*
TFTP
Trivial File Transfer Protocol (TFTP) is a simple lockstep File Transfer Protocol which allows a client to get a file from or put a file onto a remote host. One of its primary uses is in the early stages of nodes booting from a local area network ...
*
SYSLOG
In computing, syslog is a standard for message logging. It allows separation of the software that generates messages, the system that stores them, and the software that reports and analyzes them. Each message is labeled with a facility code, i ...
*
HTTP
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
*
WINS WINS may refer to:
*WINS (AM), an all-news radio station in New York City
*WINS-FM, a radio station in New York City
*World Institute for Nuclear Security
*Windows Internet Name Service
*WINS (solution stack), a set of software subsystems
*Wireles ...
(Subset)
Configuration and usage
Configuring Nut/OS and Nut/Net is quite simple. After download of the source packages the Nut/OS configurator has to be executed which will build the needed libraries for the selected hardware configuration.
Application programmers will now use these Nut/OS and Nut/Net libraries to write its own software. Beside of the Nut/OS libraries the application programmer can use the
standard C libraries. As programming languages
C is used, but
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significa ...
is mostly supported as well. Additionally a
Lua
Lua or LUA may refer to:
Science and technology
* Lua (programming language)
* Latvia University of Agriculture
* Last universal ancestor, in evolution
Ethnicity and language
* Lua people, of Laos
* Lawa people, of Thailand sometimes referred t ...
interpreter exists so that Lua
scripts
Script may refer to:
Writing systems
* Script, a distinctive writing system, based on a repertoire of specific elements or symbols, or that repertoire
* Script (styles of handwriting)
** Script typeface, a typeface with characteristics of ha ...
can be executed interactively at runtime on the board.
A multitude of simple sample applications exists as easy introduction into Nut/OS.
Supported architectures
*
Atmel
Atmel Corporation was a creator and manufacturer of semiconductors before being subsumed by Microchip Technology in 2016. Atmel was founded in 1984. The company focused on embedded systems built around microcontrollers. Its products included mi ...
AVR (e.g.: ATmega103, ATmega128, ATmega2561, AT90CAN128, etc.)
*
Atmel
Atmel Corporation was a creator and manufacturer of semiconductors before being subsumed by Microchip Technology in 2016. Atmel was founded in 1984. The company focused on embedded systems built around microcontrollers. Its products included mi ...
AVR32
AVR32 is a 32-bit RISC microcontroller architecture produced by Atmel. The microcontroller architecture was designed by a handful of people educated at the Norwegian University of Science and Technology, including lead designer Øyvind Strøm an ...
(e.g.: AT32UC3A, AT32UC3B, etc.)
*
ARM7
ARM7 is a group of 32-bit RISC ARM processor cores licensed by ARM Holdings for microcontroller use. The ARM7 core family consists of ARM700, ARM710, ARM7DI, ARM710a, ARM720T, ARM740T, ARM710T, ARM7TDMI, ARM7TDMI-S, ARM7EJ-S. The ARM7TDM ...
(e.g.: AT91R40008, AT91SAM7X, LPC-E2294,
Game Boy Advance
The (GBA) is a 32-bit handheld game console developed, manufactured and marketed by Nintendo as the successor to the Game Boy Color. It was released in Japan on March 21, 2001, in North America on June 11, 2001, in the PAL region on June 22, 2 ...
, etc.)
*
ARM9
ARM9 is a group of 32-bit RISC ARM processor cores licensed by ARM Holdings for microcontroller use. The ARM9 core family consists of ARM9TDMI, ARM940T, ARM9E-S, ARM966E-S, ARM920T, ARM922T, ARM946E-S, ARM9EJ-S, ARM926EJ-S, ARM968E-S, AR ...
(e.g.: AT91SAM9260, AT91SAM9XE, etc.)
*
ARM Cortex M3
The following architectures are supported but not actively maintained:
*
H8/300
H8 is the name of a large family of 8-bit, 16-bit and 32-bit microcontrollers made by Renesas Technology, originating in the early 1990s within Hitachi Semiconductor. An administrator on the Renesas user community boards commented in 2011 that ...
*
Motorola 68000
The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Sect ...
Bluetooth stack
The research group for distributed systems of the
ETH Zurich
(colloquially)
, former_name = eidgenössische polytechnische Schule
, image = ETHZ.JPG
, image_size =
, established =
, type = Public
, budget = CHF 1.896 billion (2021)
, rector = Günther Dissertori
, president = Joël Mesot
, a ...
has developed a distributed
Sensor network
Wireless sensor networks (WSNs) refer to networks of spatially dispersed and dedicated sensors that monitor and record the physical conditions of the environment and forward the collected data to a central location. WSNs can measure environmental c ...
with nodes based on AVR. These
sensor node
A sensor node, also known as a mote (chiefly in North America), is a node in a sensor network that is capable of performing some processing, gathering sensory information and communicating with other connected nodes in the network. A mote is a n ...
s communicate via
Bluetooth
Bluetooth is a short-range wireless technology standard that is used for exchanging data between fixed and mobile devices over short distances and building personal area networks (PANs). In the most widely used mode, transmission power is limit ...
. As system software the
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
BTNut
Bluetooth
Bluetooth is a short-range wireless technology standard that is used for exchanging data between fixed and mobile devices over short distances and building personal area networks (PANs). In the most widely used mode, transmission power is limit ...
stack is used. The BTNut stack is based on the Nut/OS system and extends the Nut/OS functionality with Bluetooth access functions. Although the BTNut stack was developed mainly for the BTNode
sensor node
A sensor node, also known as a mote (chiefly in North America), is a node in a sensor network that is capable of performing some processing, gathering sensory information and communicating with other connected nodes in the network. A mote is a n ...
s it can be easily ported to other applications.
Usage and availability
According to the German manufacturer (egnite GmbH) about 33.000 Ethernut boards were sold (state: December 2013). There are several manufacturers of compatible hardware:Achatz electronics (Netherlands), proconX (Australia), Propox (Poland), SOC Robotics (Canada), HW group s.r.o. (Czech Republic), thermotemp Embedded-IT (Germany). Beside these, the Nut/OS operating system is used as base for the BTNode
Sensor network
Wireless sensor networks (WSNs) refer to networks of spatially dispersed and dedicated sensors that monitor and record the physical conditions of the environment and forward the collected data to a central location. WSNs can measure environmental c ...
ETH Zurich
(colloquially)
, former_name = eidgenössische polytechnische Schule
, image = ETHZ.JPG
, image_size =
, established =
, type = Public
, budget = CHF 1.896 billion (2021)
, rector = Günther Dissertori
, president = Joël Mesot
, a ...
.
References
{{reflist
External links
Ethernut ProjectNutWikiBTNode Projekt
Open hardware electronic devices
Free software operating systems
Software using the BSD license
ARM operating systems