Harucom Board

Harucom Board is a board built around the RP2350A microcontroller, featuring DVI video output, USB host, stereo PWM audio, and expansion connectors.

Table of Contents

Specifications

Item Specification
MCU Raspberry Pi RP2350A (ARM Cortex-M33, dual-core)
Flash 16 MB QSPI (first 8 MB: firmware, last 8 MB: FAT filesystem)
PSRAM 8 MB QSPI (APS6404L, connected via QMI CS1)
Video Output DVI (via HSTX, Type-A 19-pin connector)
Audio Stereo PWM (3.5mm jack)
USB-C Power supply & data (device port)
USB-A Host port (PIO-USB)
Buttons 8 tactile buttons (ADC resistor ladder)
Expansion Grove x 2, SPI, SWD
LED Red (GPIO 1), Green (GPIO 23)

DVI Video Output

Uses HSTX (High-Speed Serial Transmit) to output DVI signals. Equipped with a Type-A 19-pin connector, allowing connection to a monitor via an HDMI cable.

Outputs 640x480 @ 60Hz video, supporting both text mode and graphics mode.

USB

USB-A (Host Port)

You can connect a keyboard directly to the USB-A port.

USB-C (Device Port)

Used for power supply and data communication. Connected to the RP2350’s native USB PHY, so it is also used for firmware updates.

Audio

Stereo PWM audio output. Equipped with a 3.5mm jack.

Output GPIO
Left GPIO 24
Right GPIO 25

See Audio for playing sound.

Buttons

Equipped with 8 tactile buttons. Uses a resistor ladder (voltage divider) scheme, with 4 buttons connected to each of 2 ADC channels.

Buttons ADC GPIO
Group 0 (x4) ADC2 GPIO 28
Group 1 (x4) ADC3 GPIO 29

See Board::Pad for reading them.

Grove Connectors

The board has two Grove connectors.

Connector Interface Power
Grove 1 I2C (SDA: GPIO 20, SCL: GPIO 21) 5V
Grove 2 UART / ADC / GPIO 3.3V

Temperature and humidity sensors, accelerometers, OLED displays, light sensors, and potentiometers all connect here.

SPI Pin Header

Equipped with an SPI bus pin header. You can connect SPI devices such as SD card modules.

Signal GPIO
SCK (clock) GPIO 6
TX (MOSI) GPIO 7
RX (MISO) GPIO 4
CSN (chip select) GPIO 5

I2C Pin Header

Equipped with an I2C pin header that supplies 3.3V power. Convenient for connecting modules such as I2C displays.

Signal GPIO
SDA GPIO 20
SCL GPIO 21

It shares the bus with Grove 1.

UART and SWD

Pin headers for UART, used for debug output and serial communication with external devices, and for SWD, used to flash and debug the firmware.

Signal GPIO
TX GPIO 2
RX GPIO 3

A debug probe such as the Raspberry Pi Debug Probe connects to SWD.

GPIO Map

GPIO 0      : PSRAM chip select
GPIO 1      : LED (red)
GPIO 2-3    : UART (TX / RX)
GPIO 4-7    : SPI (RX / CSN / SCK / TX)
GPIO 8-9    : USB host (D+ / D-)
GPIO 10     : USB VBUS power enable
GPIO 11     : DVI hot plug detect
GPIO 12-19  : DVI output (HSTX)
GPIO 20-21  : I2C (SDA / SCL)
GPIO 22     : USB VBUS detect
GPIO 23     : LED (green)
GPIO 24-25  : Audio PWM (L / R)
GPIO 26-27  : unused
GPIO 28-29  : ADC buttons

The DVI pins (GPIO 12-19) and the USB host pins (GPIO 8-9) are dedicated and cannot serve another purpose.

Peripherals Available from Ruby

These are usable directly from a Ruby program.

Feature Class
GPIO GPIO
ADC ADC
UART UART New in 2.0
PWM PWM New in 2.0

I2C and SPI are not available from Ruby yet. They need an implementation in the firmware, in C.

When connecting devices to the 5V Grove connector, note that the RP2350 GPIO runs at 3.3V. Level shifting is handled on the board.

Open-Source Hardware

Harucom Board is open-source hardware. The board design is published under the CERN-OHL-P v2 (Permissive) license, and anyone is free to use, modify, and redistribute it.