RISC-V computer system on Open Source Hardware FPGA iCE40HX8K-EVB runs UNIX xv6 using only FOSS (free and open source hard- and software)

Michael Schröder sent us a link to his Gitlab repository

He managed to build RISC-V computer running Unix xv6 using only FOSS.

For hardware he choose our OSHW FPGA board iCE40HX8K-EVB

New Product in stock: PIC32-RetroBSD Open Source Hardware Board running Unix like RetroBSD OS


RetroBSD is a port of 2.11BSD Unix intended for embedded systems with fixed memory mapping. The current target is Microchip PIC32 microcontroller with 128 kbytes of RAM and 512 kbytes of Flash. PIC32 processor has MIPS M4K architecture, executable data memory and flexible RAM partitioning between user and kernel modes. The project is open source and hosted at RetroBSD.org

PIC32-Pinguino was used by RetroBSD developers since long time as it’s small and easy to use, but the Pinguino bords processor PIC32MX440 has not enough RAM to hold the RetroBSD, so we got number of requests to release PIC32-PINGUINO-MICRO with PIC32MX795F512H processor which is pin to pin compatible, so we run small batch of these boards and named them PIC32-RetroBSD, these surely can be used with Pinguino and MPIDE, but note that you must have additional PIC-KIT3 to re-flash the proper bootloader, as RetroBSD bootloader is different and we ship these boards with RetroBSD bootlaoder. Also you will need PIC32-RetroBSD-SD for the file system.

We are shipping today free PIC32-RetroBSD boards to the 9 RetroBSD developers.

UNIX ON PIC32 – meet RetroBSD for DuinoMite


Can you run UNIX on PIC32 with onlt 128KB of RAM? Yes absolutely! Serge Vakulenko proves this with his RetroBSD port for PIC32 (MIPS).

The project is hosted at http://retrobsd.org/

Serge did amazing job by porting the old days  2.11BSD Unix used to run on PDP-11 to PIC32 (MIPS). In just 128KB RAM footprint he manage to boot UNIX OS and you have 96KB left for applications.

RetroBSD is multi tasking and you have access to the PIC32 GPIO and ADCs via API, so you can write embedded applications on it!

To make your DuinoMite Unix machine you need:

1. To download RetroBSD compiled image from http://retrobsd.org/wiki/software-2/ the release I check is retrobsd-duinomite-r425.zip

the files inside are UNIX.HEX which contains PIC32 firmware, filesys.img which contains the SD card disk image with the different tools

2. Unpack on your local drive, there are few files you need: Bootloader is same as Olimex DuinoMite bootloader so you may not need it if you have already Olimex bootloader installed

the filesys.img this is the UNIX diskcontent you should write it to SD-card, for Windows users you need Win32 Image writer software, download from https://launchpad.net/win32-image-writer/+download you have to open the filesys.img with Win32DiskImager and to write it to SD card.

3. then you have to put the written SD card in DuinoMite and press reset+button to put DuinoMite in bootloader mode and launch USB Bootloader v2.90a to write Unix.HEX file (the Bootloader in the RetroBSD zip didn’t work for me for some reason)

4. when finished you press reset and Duinomite will boot RetroBSD, if you are under Linux there will be no need for USB CDC drivers as Linux will load them automatically, Ifyou are on Windows you have to point it to DuinoMite CDC Virtual com port drivers.

5. check which virtual com port is created (in linux you can do this in termianl mode by running dmesg | grep tty* command, in windows you can check in device manager which com port is created when you plug in DuinoMite) and run terminal program minicom for linux or hyperterminal for windows

you will see this welcome message on top of this post, login is logically root with empty password


you can see the tools by listing the bin folder:


As you see you got CC compiler, I immediately wrote hello world, but for some reason it fails to compile, I guess I have to RTFM :)))


Anyway I’m amazed how fast this RetroBSD works on PIC32, actually it works faster than the Linux on my 3Ghz machine. I guess because it’s very lightweight and have no so much features as real Linux.

It boots in 2 seconds, CC compiles in 1 second!