Boards · Rust firmware · Open source

Tools for people who build hardware

Boards, Rust firmware and the open-source software that ties them together, from Norway.

draft Skeleton copy, filled in the landing-page step.

FIG. 1B153 Donguru · rev B

01Products

What we make

FIG. 2

Donguru Coming Q1–Q2 2027

One cable to your board: a USB-C hub with a serial port, flips TX and RX for you.

Host
USB-C, USB 2.0
Device
USB-C + serial
Power
switched VBUS
FIG. 3

rePort

Digital and analog I/O over USB. No programming needed.

Link
USB
I/O
digital + analog
Software
IOWeaver
FIG. 4

CAN line

USB and Ethernet bridges to isolated CAN FD, and the adapters around them.

Bus
CAN FD, isolated
Host
USB / Ethernet
Extras
PoE, SD logging

02Software

From register to GUI

IOWeaver plots what your device says. RockFace debugs the firmware that says it. WireWeaver keeps both sides speaking the same API.

FIG. 5 · WireWeaver, ww_uart

API

#[ww_trait]
#[claim(exclusive)]
pub trait Uart {
    #[counted]
    stream!(rx: RxChunk<'i>);

    #[credit]
    sink!(tx: MaxLen<RefVec<'i, u8>, UART_TX_MAX>);

    fn configure(config: UartConfig) -> Result<UartConfig, UartError<'i>>;
    fn send_break(duration: Second) -> Result<(), UartError<'i>>;
}

Device

// A device with several ports is one array, monitoring included:
ww_impl!(uart[]: ww_uart::Uart)

03From the lab

Work we are proud of

FIG. 6

3D laser scanner

Optical inspection at 15 μm.

FIG. 7

Motor controller

6-step and FOC, CAN servo.

FIG. 8

BMS

6–10S, 50 A nominal, 100 A peak.

04Stay in the loop

Hear when Donguru launches

Launch news goes out through CrowdSupply. Questions: hello@vhrd.tech.

Get notified