S100 Master - Duino Leonardo

Overview

The Duino Leonardo module is a certified Rhomb.io Module that contains an ATmega32U4 microcontroller, the IC in which the popular Arduino/Genuino Leonardo board is based. This IC is a low-power CMOS 8-bit microcontroller based on RISC architecture.

The module allows to program the microcontroller by using the Arduino IDE as it were a genuine Arduino/Genuino Leonardo board. This gives to the user the capability to export easily a project originally made for the Arduino platform and transform it in a modular, tiny, and powerful professional product.

The Duino Leonardo module can work as a typical Rhomb.io Slave Module, or as a Master Module when is used with any Rhomb.io PCB Class 2.

The next two figures show a 3D view from the top and bottom side.

Duino Leonardo - 3D Top.png Duino Leonardo - 3D Bottom.png

Applications:

  • Industrial automation
  • Internet of Things
  • Human Interface Device

Module specification

Key features

As it has been mentioned above, the Duino Leonardo module contains an ATmega32U4 microcontroller. This 8-bit RISC machine has 26 digital input/output pins (12 of them can be used as 8-bit PWM outputs), 6 analog inputs, 1 UART and a 16 MHz quartz crystal.

The module is ready to use with the Arduino IDE. That is possible because a bootloader has been installed on the ATmega32U4 and the module includes also a USB port. Then, the user only has to plug the Duino Leonardo module on the master socket that will be found on the Rhomb.io Class 2 PCB and connect the USB to a computer.

The following figure identifies the main Integrated Circuits (IC) onboard.

Duino Leonardo - Description Top.png

The next figure shows the Block Diagram for the Duino Leonardo module.

Duino Leonardo - Block Diagram.png

Duino Leonardo Key Features
Microcontroller: Microchip ATmega32u4, 8-bit AVR, 16 MHz, 32 KHz
32 KB Flash, 1 KB EEPROM, 2.5 KB SRAM
Arduino IDE compatible; Native USB
Encryptation Memory: 16 Keys/ECDSA/ECDH/SHA-256/HMAC/NIST
64-bit Unique-ID Memory with 112 B User EEPROM
MCU I/O: 26xI/O (7xPWM, 12xADC, 5xINT, PWM, 11xGPIO, 5xAD)
Rhomb.io config.: USB, 1xUART, SPI, I2C, 2xINT, PWM, 11xGPIO, 5xAD
Op. Voltage: 2.8 V / 3.3 V / 5 V
Op. Temperature: -40 ºC to +85 ºC

Connections

The following table indicates the available signals on the Rhomb.io Standard and which of them are in use. The table also shows the nomenclature used on the Rhomb.io Standard and its corresponding on Arduino platform.

J102 connector
Pin Rhomb.io signal MCU Port Arduino Pin Arduino IDE
1 GND GND GND -
2 - - - -
3 - - - -
4 - - - -
5 - - - -
6 - - - -
7 - - - -
8 - - - -
9 GND GND GND -
10 - - - -
11 - - - -
12 - - - -
13 - - - -
14 - - - -
15 - - - -
16 - - - -
17 GND GND GND -
18 - - - -
19 - - - -
20 GND GND GND -
21 CAN-A_RX PF4 (ADC4/TCK) A3 17/A3
22 CAN-A_TX PF1 (ADC1) A4 18/A4
23 - - - -
24 - - - -
25 - - - -
26 RESET_OUT PF6 (ADC6/TDO) A1 15/A1
27 GND GND GND -
28 INT0 PB0 (SS/PCINT0) - -
29 SPI-A_CS0 PB6 (PCINT6/OC1B/OC4B/ADC13) 10 10/A10
30 SPI-A_CLK PB1 (PCINT1/SCLK) SCK -
31 SPI-A_MOSI PB2 (PDI/PCINT2/MOSI) MOSI -
32 SPI-A_MISO PB3 (PDO/PCINT3/MISO) MISO -
33 GND GND GND -
34 #NMI PE2 (#HWB) - -
35 I2C-A_SCL PD0 (OC0B/SCL/INT0) 3 3
36 I2C-A_SDA PD1 (SDA/INT1) 2 2
37 GND GND GND -
38 - - - -
39 - - - -
40 GND GND GND -
41 USB_P D+ - -
42 USB_N D- - -
43 GND GND GND -
44 - - - -
45 - - - -
46 - - - -
47 - - - -
48 - - - -
49 - - - -
50 GND GND GND -
J101 connector
Pin Rhomb.io signal MCU Port Arduino Pin Arduino IDE
1 GND GND GND -
2 - - - -
3 IO0 PD4 (ICP1/ADC8) 4 4/A6
4 IO1 PC6 (OC3A/OC4A) 5 5
5 IO2 PD7 (T0/OC4D/ADC10) 6 6/A7
6 IO3 PE6 (IN6/AIN0) 7 7
7 IO4 PB4 (PCINT4/ADC11) 8 8/A8
8 IO5 PB7 (PCINT7/OC0A/OC1C/#RTS) 11 11
9 IO6 PD6 (T1/#OC4D/ADC9) 12 12/A11
10 IO7 PC7 (ICP3/CLK0/#OC4A) 13 13
11 - - - -
12 GND GND GND -
13 - - - -
14 UART-A_RXD PD2 (RXD1/INT2) 0 0
15 UART-A_TXD PD3 (TXD1/INT3) 1 1
16 - - - -
17 GND GND GND -
18 AD0 PF0 (ADC0) A0 14/A0
19 GND GND GND -
20 PWM0 PB5 (PCINT5/OC1A/#OC4B/ADC12) 9 9/A9
21 CAPT0 PF7 (ADC7/TDI) A0 14/A0
22 CAPT1 PF5 (ADC5/TMS) A2 16/A2
23 VSYS DVCC 5V, IOREF -
24 -
25 -
26 #RESET_IN #RESET RESET -
27 - - - -
28 - - - -
29 RST - - -
30 GND GND GND -
31 3V3 VCC 3V3, IOREF -
32 -
33 GND GND GND -
34 -
35 2V8 VCC IOREF -
36 -
37 GND GND GND -
38 -
39 - - - -
40 - - - -
41 - - - -
42 - - - -
43 GND GND GND -
44 - - - -
45 GND GND GND -
46 - - - -
47 DVCC (VIO_OUT) DVCC 5V, IOREF -
48 1WIRE PD5 (XCK1/#CTS) A1 15/A1
49 - - - -
50 GND GND GND -

In Duino Leonardo Master Module, the user can choose wether this master module is supplied by a 2.8V, 3.3V or a VSYS source simply by closing or opening the solder jumpers at the bottom-right corner of the module. It is the voltage at which the whole module is powered. 2.8V level recommenden for power efficient applications. If VSYS source is selected, "1WIRE PROTECT" solder jumper must be closed in order to protect all 1-wire EEPROM connected to 1-wire bus, otherwise they will be damaged.

VIO_OUT is a power output pin that sets the voltage level for slave modules to this master module. VIO_OUT level is the same as DVDD.

RESET_OUT is a GPIO assigned to output reset signal to any slave modules interfaced to this master module.

There is a LED controlled by PWM0 output pin for whatever the user might need, debugging, visual validation, etc.

1-Wire is an interface to read information from the on-module EEPROM memory.


Schematics

The schematics are available here.

Bill of materials

The BOM is available here.

Fabrication files

The fabrication files are available here.

Mechanical specifications

Board

Duino Leonardo - Dimensions.png

Warranty

  • Precaution against Electrostatic Discharge. When handling Rhomb.io products, ensure that the environment is protected against static electricity. Follow the next recommendations:
  1. The users should wear anti-static clothing and use earth band when manipulating the device.
  2. All objects that come in direct contact with devices should be made of materials that do not produce static electricity that would cause damage.
  3. Equipment and work table must be earthed.
  4. Ionizer is recommended to remove electron charge.
  • Contamination. Be sure to use semiconductor products in the environment that may not be exposed to dust or dirt adhesion.
  • Temperature/Humidity. Semiconductor devices are sensitive to environment temperature and humidity. High temperature or humidity may deteriorate semiconductor devices characteristics. Therefore avoid storage or usage in such conditions.
  • Mechanical Shock. Care should be exercised not to apply excessive mechanical shock or force on the connectors and semiconductors devices.
  • Chemical. Do not expose semiconductor device to chemical because reaction to chemical may cause deterioration of device characteristics.
  • Light Protection. In case of non-EMC (Epoxy Molding Compound) package, do not expose semiconductor IC to strong light. It may cause devices malfunction. Some special products which utilize the light or have security function are excepted from this specification.
  • Radioactive, Cosmic and X-ray. Semiconductor devices can be influenced by radioactive, cosmic ray or X-ray. Radioactive, cosmic and X-ray may cause soft error during device operation. Therefore semiconductor devices must be shielded under environment that may be exposed to radioactive, cosmic ray or X-ray.
  • EMS (Electromagnetic Susceptibility). Note that semiconductor devices characteristics may be affected by strong electromagnetic waves or magnetic field during operation.

Disclaimer

Rhomb.io reserves the right to make corrections, enhancements, improvements and other changes to its products and services, and to discontinue any product or service. Buyers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All the hardware products are sold subject to the Rhomb.io terms and conditions of sale supplied at the time of order acknowledgment.

All brand names, trademarks and registered trademarks belong to their respective owners.

We are constantly striving to improve the quality of our technical notes. If you find an error or omission please let us know.

Email us at: info@rhomb.io