Slashdot Mirror


Hands On With the First Open-Source Microcontroller (hackaday.com)

The folks at SiFive have offered Brian Benchoff from Hackaday a look at the HiFive 1, the first hands-on with the first Open Hardware microcontroller. From the report: The design files for the HiFive 1 were made with Altium, a proprietary and non-Free software. Basically, the HiFive 1 is the SiFive FE310 microcontroller packaged in an Arduino Uno form factor. The pin spacing is just as stupid as it's always been, and there is support for a few Adafruit shields sitting around in the SDK. There are no analog pins, but there are two more PWM pins compared to the standard Arduino chip. The Arduino Uno and Leonardo have 32 kilobytes of Flash, while the HiFive 1 has sixteen Megabytes of Flash on an external SOIC chip. The HiFive 1 supports 3.3 and 5V I/O, thanks to three voltage level translators. The support for 5V logic is huge in my opinion -- nearly every dev board manufacturer has already written off 5V I/O as a victim of technological progress. The HiFive doesn't, even though the FE310 microcontroller is itself only 3.3V tolerant. It should be noted the addition of the voltage level translators add at least a dollar or two to the BOM, and double that to the final cost of the board. It's a nice touch, but there's room for cost cutting here. Other than that, the only other chip of note on the board is the FTDI FT2232HL, a well-supported but most certainly not Free and Open Source USB to UART chip. This is a two-port chip that provides programming, serial, and debug connections simultaneously. The folks at SiFive realize documentation and SDKs are necessary to turn a chip into a development board. To that end, they have a bare-metal SDK and support for the Arduino IDE. The board itself comes with a bootloader, and when you plug the HiFive 1 into a USB you get the equivalent of the Blink sketch from the Arduino. Yes, you too can have Open Source blinkies. What a magical time to be alive. Right now there are two methods of programming the HiFive 1. The Freedom E SDK, and the Arduino IDE. The Arduino IDE appears to be dependent on the Freedom E SDK, so either way, you'll have to get the SDK running. Right now, the SDK only works under Linux (and OS X, and possibly Cygwin), but support for Windows is coming. For Linux users, the getting started guide is more than sufficient, although it will take quite a while (at least 30 minutes) to build all the tools. Once the Freedom E SDK is installed, support for the Arduino IDE pretty much falls into place. You'll have to futz around with the Boards Manager, but with a few clicks, you get something fantastic. You can blink an LED with Open Source Hardware.

1 of 83 comments (clear)

  1. Marketing hash ruins the lede by TopSpin · · Score: 4, Informative

    That is one disappointing summary. Marketing cut-and-paste mixed with a bunch of irrelevancies.

    This is RISC-V. That crucial fact and what it means is completely omitted from the summary. RISC-V is an open ISA (Instruction Set Architecture) out of Berkeley. By open I mean you can go over here and get the stuff you need to make a real CPU without any license costs or other IP entanglements. Open and free from the silicon up. RISC-V is a new 32/64/128 bit ISA with a clean, comprehensive design that is free of legacy cruft, bad ideas and other flaws, and the core instruction set has recently been permanently frozen so it's no longer a moving target for developers.

    SiFive is a fabless semiconductor company "founded by the creators" of RISC-V to produce real silicon. HiFive is a little demo board with a (rather fast) RISC-V SOC. Some people have gotten hung up on the FTDI thing; that's just a UART to provide USB; it doesn't mean this is some kind of proprietary trap. Because the ISA is fully open competitors are free to make their own RISC-V designs as well and embed/attach whatever UARTs they want. Competitors are also free to use Eagle, gEDA, damp napkins are whatever they wish to design boards for their RISC-V chips, so that Altium hang up in summary isn't particularly relevant either.

    Google has been a sponsor of RISC-V work and has been hosting conferences for the platform. They are also actively developing Go on RISC-V and there have been some rumors about Google using RISC-V to displace proprietary CPUs in their operations.

    --
    Lurking at the bottom of the gravity well, getting old