Duino Uno328P


This sheet shows the documentation for the Rhomb.io Duino Uno328P Master Module.


The Duino Uno328P is a certified Rhomb.io Master Module that contains an ATmega 328P microcontroller, the IC in which the widely known Arduino/Genuino Uno 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 Uno 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, powerful and professional product.

As a Rhomb.io Master Module, the Duino Uno328P module can be used on any Rhomb.io motherboard that includes the Master Module socket, such as the Phobos or the Zepto boards, for example.

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

Duino Uno328P 3D view Top v5.jpg Duino Uno328P 3D view Bottom v5.jpg

Module specifications

As a summary, these are the main features of the Duino Uno328P Rhomb.io Master Module:

Duino Uno328P Master Module features
Microcontroller ATmega 328P
Operating voltage 1.8 - 5.5 V
Digital I/O pins 14 (6 can be PWM)
Analog Input pins 6
DC current per I/O pin 20 mA
Flash memory 32 KB
Clock speed 16 MHz
User LED 1

As it has been mentioned above, the Duino Uno328P contains an ATmega 328P microcontroller. This 8-bit RISC machine has 14 digital input/output pins (6 of them can be used as PWM outputs), 6 analog inputs and a 16 MHz quartz crystal. More details can be found at the manufacturer documentation here (ATmega 328P).

The module is ready to use with the Arduino IDE. That is possible because a bootloader has been installed on the ATmega 328P and the module includes also an USB to UART converter in order to transform the UART signals from the microcontroller to USB signals from the computer, where the IDE is installed. The user only has to plug the Duino Uno328P Master Module on the Rhomb.io Master socket of the desired Rhomb.io motherboard. Then, the USB should be connected to a computer and the module will be ready to use. More information can be found on the "Getting started" section.

Duino Uno328P Block Diagram v5.jpg

There are six connectors available on the board: two of them are the standard Rhomb.io connectors for modules, and the remaining ones are auxiliary connectors tied to the Arduino/Genuino Uno standard signals. This gives more flexibility to the module and allows to use the entire pinout available on the microcontroller. On the section "Auxiliar connectors" it has been summarized which signals are tied to the four auxiliar connectors.

On the Block Diagram, it is shown that the user has four options for selecting the module power supply: VSYS, 3V3, 2V8_300mA and 1V8_150mA. There is a trace which connects, on the board, VSYS to the module supply (DVCC on the schematics), so the default supply is VSYS. If the user needs to choose another signal, this trace should be cut and a short circuit should be done by soldering the corresponding solder pads. More details regarding the supply capabilities can be found at the documentation for the Rhomb.io standard.

Note that there are three LEDs on board. The red and orange LED are intended to blink when the microcontroller and the USB host are transferring data. The anode of the green LED is connected to the pin 17 on the microcontroller, so it is user programmable.

The following figure identifies the main parts of this Rhomb.io module.

Duino Uno328P Module Description Top v2.jpg Duino Uno328P Module Description Bottom v2.jpg



The GPIO signals from the standard Rhomb.io connectors are not used on this module. Nevertheless, all the signals from the microcontroller are tied to the auxiliar connectors. Look at the "Auxiliar connectors" section for more details.

Serial interfaces

The following table indicates the available serial interfaces on the Rhomb.io standard and its been indicated the used ones. The table also shows the nomenclature used on the schematic and its corresponding on the Rhomb.io standard.

Signal (Rhomb.io) Signal (module) Used by
I2C.SDA AD4/SDA Microcontroller
I2C.SCL AD5/SCL Microcontroller
SPI_MISO IO12/MISO Microcontroller
SPI_MOSI IO11/MOSI Microcontroller
SPI_CLK IO13/SCK Microcontroller
USB_DATA_N USB.D_N USB to UART converter
USB_DATA_P USB.D_P USB to UART converter

The blank fields are unused signals on the module. Note that the I2C pull-ups resistors should be mounted on the bus, otherwise, the I2C will not work. For more details, look at the specifications for the Rhomb.io standard.

* (By default, the UART_RXD and UART_TXD signals are not connected to the Rhomb.io standard connectors. It is possible to connect those signals by assembling the resistors R5 and R6. Please, look at the schematics)


The Secure Digital Input Output (SDIO) interfaces are not used on the Duino Uno328P Module.


As per the available supply lines on the board, there is a summary on the next table. Note that it is possible to select the general supply on the module. The default supply is VSYS, but in the case the user may need other voltage, the trace in between the VSYS solder pads should be cut and the desired solder pad should be soldered in order to select the desired supply.

Signal (Rhomb.io) Signal (module) Voltage (V) Used
1V8 150mA DVCC 1.8 Selectable
2V8 150mA DVCC 2.8 Selectable
VSYS DVCC 3 - 5.5 Selectable (default)
Buck8 DVCC 3.3 Selectable
Buck9 DVCC 3.3 Selectable

For more details, look at the specifications for the Rhomb.io standard.

Other signals

The CLK_32KH, AD_OUT and PWM_INT signals are not used on the Duino Uno328P Module. More information regarding these signals can be found at the specifications for the Rhomb.io standard.

Auxiliar connectors

On the following two tables it is shown the signals that have been interconnected to the auxiliar connectors from the microcontroller. Note that all the Arduino/Genuino UNO signals from the ATmega 328P are tied to the connector, so any signal could be extracted from the board as it were the headers on a genuine Arduino/Duino board. Look at the Arduino/Genuino UNO documentation for more details here (Arduino/Genuino UNO).

Connectors J3 and J5 Connectors J4 and J6
Pin Signal name Pin Signal name Pin Signal name Pin Signal name
1 IO0/RXD 26 1 RESET 26
2 IO1/TXD 27 2 27
3 IO2 28 3 28
4 IO3 29 4 29
5 IO4 30 5 30
6 IO5 31 6 31
7 IO6 32 7 32
8 IO7 33 8 33
9 GND 34 9 34 GND
10 IO8 35 10 35
11 IO9 36 11 36
12 IO10/SS 37 12 37 GND
13 IO11/MOSI 38 13 38
14 IO12/MISO 39 14 39
15 IO13/SCK 40 15 40
16 AREF 41 16 41
17 AD4/SDA 42 GND 17 42
18 AD5/SCL 43 18 43
19 GND 44 19 GND 44
20 DVCC 45 20 AD0 45
21 DVCC 46 21 AD1 46
22 DVCC 47 22 AD2 47
23 IO11/MOSI 48 23 AD3 48
24 IO12/MISO 49 24 AD4/SDA 49
25 IO13/SCK 50 25 AD5/SCL 50

Getting started

The Duino Uno328P Module can be programmed over a USB Micro-B cable using the Arduino IDE: just plug in the board, select "Arduino/Genuino Uno" from the board menu and the module will be ready to upload code.

Required elements for this tutorial:

  • Rhomb.io Duino Uno328P Module.
  • Rhomb.io Phobos PCB.
  • USB Micro-B cable.
  • Arduino IDE installed on a compatible PC.

On this tutorial, it will be shown how to upload the Blink sketch included on the Arduino IDE. The example blinks the on board LED at a rate of one time per second. For doing so, the Duino Uno328P Module is used in connection with the Phobos board. This PCB acts as a holder for the Duino Uno328P Module and provides the required power supply and the micro USB type B connector for driving the communications from the computer to the Rhomb.io module.

Duino Uno328P Module and Phobos.gif

Follow these steps:
1. Connect the Duino Uno328P Module to the Phobos board as it is shown on the animation above. Ensure that the module is connected to the master slot.
2. Connect the USB cable to the Phobos board and to the computer. Ensure that the Arduino IDE is installed. For doing so, it is recommended to read the Arduino IDE Getting Started.
3. Load the "Blink" sketch on the Arduino IDE. The following screenshot shows where the example is.

Arduino load Blink example.jpg

4. Go to Tools/Board and select "Arduino/Genuino Uno".

Arduino IDE Select Board.jpg

5. Upload the code on the Duino Uno328P Module: select "Upload" from the "Sketch" menu or use the shortcut Ctrl+U.

Once the firmware is loaded on the module and if all the steps have been done successfully, the green user LED turns periodically on and off. Now, you can modify the loop function in order to understand the code. For example, if you want to blink the LED each two seconds, the parameter on the delay function should be modified as it is shown:

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay (2000);
  digitalWrite(LED_BUILTIN, LOW);
  delay (2000);


Click the image below to download the schematic files.

Duino Uno328P Module Arturo schematics v3.jpg

Bill of materials

Click the image below to download the BOM files.

Fabrication files

Click the image below to download the fabrication files.

Part number package marking

[Under contruction]

Mechanical specifications


Duino Uno328P Dimensions v2.JPG


[Under contruction]


  • 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.


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

Where to buy

You can purchase this item at the Rhomb website store.

Please, click the icon below.