Open source has finally arrived to microcontrollers. Based on RISC-V instruction set, a group of doctoral students at the Universidad Industrial de Santander in Colombia have been working on an open source 32-bit chip called “Open-V“.
Onchip, the startup of the research team, is focusing on integrated systems and is aiming to build the first system-on-chip designed in Colombia. The team aims to contribute to the growth of the open source community by developing an equivalent of commercial microcontrollers implemented with an ARM M0 core.
The Open-V is a 2x2mm chip that hosts built-in peripherals which any modern microcontroller could have. Currently, it has ADC, DAC, SPI, I2C, UART, GPIO, PWM, and timer peripherals designed and tested in real silicon. Other peripherals, such as USB 2, USB3, internal NVRAM and/or EEPROM, and a convolutional neural network (CNN) are under development.
Open-V Chip Specifications
- Package: QFN-32
- Processor RISC-V ISA version 2.1 with 1.2 V operation
- Memory: 8 KB SRAM
- Clock: 32 KHz – 160 MHz, Two PLLs, user-tunable with muxers and frequency dividers
- True Random Number Generator: 400 KiB/s
- Analog Signals: Two 10-bit ADC channels, each running at up to 10 MS/s, and two 12-bit DAC channels
- Timers: One general-purpose 16-bit timer, and one 16-bit watch dog timer (WDT)
- General Purpose Input/Ouput: 16 programmable GPIO pins with two external interrupts
- Interfaces: SDIO port (e.g., microSD), two SPI ports, I2C, UART
- Programming and Testing
- Built-in debug module for use with gdb and JTAG
- Programmable PRBS-31/15/7 generator and checker for interconnect testing
- Compatible with the Arduino IDE
RISC-V is a new open instruction set architecture (ISA) designed to support architecture research and education. RISC-V is fully available to public and has advantages such as a smaller footprint size, support for highly-parallel multi-core implementations, variable-length instructions to support an optional dense instruction, ease of implementation in hardware, and energy efficiency.
Open-V core provides compatibility with Arduino, so it is possible to benefit from its rich resources. Also when finish preparing the first patch, demos and tutorials will be released showing how Open-V can be used with the Arduino and other resources.