+++
title = "Sipeed MAiXDUiNO"
date = "2026-02-16T09:30:45+01:00"
type = "index"

+++

+ Architecture: RISCV64
+ CPU: Dual-Core 64 Bit RISCV 400 Mhz
+ no-MMU
+ RAM: 8 MB
+ Flash 16 MB
+ Serial console (USB-C)

Serial console has a speed of 115200n8.

https://wiki.sipeed.com/soft/maixpy/en/develop_kit_board/maix_duino.html

![Sipeed MAiXDUiNO](/img/maixduino.jpg)

dmesg:
```
[    0.000000] Linux version 6.12.69-1 (wbx@fluor) (riscv64-openadk-linux-uclibc-gcc (GCC) 15.2.0, GNU ld (GNU Binutils) 2.46.0.20260210) #3 SMP Mon Feb 16 12:52:46 CET 2026
[    0.000000] Machine model: Kendryte K210 generic
[    0.000000] Forcing kernel command line to: earlycon console=ttySIF0
[    0.000000] earlycon: sifive0 at MMIO 0x0000000038000000 (options '115200n8')
[    0.000000] printk: legacy bootconsole [sifive0] enabled
[    0.000000] OF: reserved mem: Reserved memory: No reserved-memory node in the DT
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000080000000-0x00000000807fffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x00000000807fffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000807fffff]
[    0.000000] Falling back to deprecated "riscv,isa"
[    0.000000] riscv: base ISA extensions acdfim
[    0.000000] riscv: ELF capabilities acdfim
[    0.000000] percpu: max_distance=0x22000 too large for vmalloc space 0x0
[    0.000000] percpu: Embedded 17 pages/cpu s36896 r0 d32736 u69632
[    0.000000] percpu: wasting 30 pages per chunk
[    0.000000] Kernel command line: earlycon console=ttySIF0
[    0.000000] Dentry cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.000000] Inode-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping off.  Total pages: 2048
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] SLUB: HWalign=64, Order=0-1, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] riscv-intc: 64 local interrupts mapped
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] k210-clk: clock-controller: CPU running at 390 MHz
[    0.000000] clint: timer@2000000: timer running at 7800000 Hz
[    0.000000] clocksource: clint_clocksource: mask: 0xffffffffffffffff max_cycles: 0x3990be68b, max_idle_ns: 881590404272 ns
[    0.000001] sched_clock: 64 bits at 8MHz, resolution 128ns, wraps every 4398046511054ns
[    0.008535] Calibrating delay loop (skipped), value calculated using timer frequency.. 15.60 BogoMIPS (lpj=31200)
[    0.018255] pid_max: default: 4096 minimum: 301
[    0.022868] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.029978] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.041284] rcu: Hierarchical SRCU implementation.
[    0.045350] rcu: 	Max phase no-delay instances is 1000.
[    0.051907] smp: Bringing up secondary CPUs ...
[    0.057356] smp: Brought up 1 node, 2 CPUs
[    0.061749] Memory: 5136K/8192K available (1102K kernel code, 139K rwdata, 252K rodata, 446K init, 60K bss, 2340K reserved, 0K cma-reserved)
[    0.074372] devtmpfs: initialized
[    0.084962] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.094039] pinctrl core: initialized pinctrl subsystem
[    0.109248] /soc/bus@50400000: Fixed dependency cycle(s) with /soc/bus@50400000/syscon@50440000/clock-controller
[    0.120862] clocksource: Switched to clocksource clint_clocksource
[    0.131048] workingset: timestamp_bits=62 max_order=11 bucket_order=0
[    0.158804] riscv-plic: interrupt-controller@c000000: mapped 65 interrupts with 2 handlers for 4 contexts.
[    0.169008] /soc/bus@50200000/pinmux@502b0000: Fixed dependency cycle(s) with /soc/bus@50200000/pinmux@502b0000/jtag-pinmux
[    0.185690] /soc/bus@50400000/syscon@50440000: Fixed dependency cycle(s) with /soc/bus@50400000/syscon@50440000/clock-controller
[    0.199483] k210-sysctl 50440000.syscon: K210 system controller
[    0.208152] k210-rst 50440000.syscon:reset-controller: K210 reset controller
[    0.216096] 38000000.serial: ttySIF0 at MMIO 0x38000000 (irq = 12, base_baud = 24375000) is a SiFive UART v0
[    0.225296] printk: legacy console [ttySIF0] enabled
[    0.225296] printk: legacy console [ttySIF0] enabled
[    0.235102] printk: legacy bootconsole [sifive0] disabled
[    0.235102] printk: legacy bootconsole [sifive0] disabled
[    0.248410] i2c_dev: i2c /dev entries driver
[    0.261762] k210-fpioa 502b0000.pinmux: K210 FPIOA pin controller
[    0.269975] clk: Disabling unused clocks
[    0.274570] Freeing unused kernel image (initmem) memory: 444K
[    0.279720] This architecture does not have kernel memory protection.
[    0.286291] Run /init as init process

```

Have fun!
