Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Open Source Software Technology Hardware

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

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.
This discussion has been archived. No new comments can be posted.

Hands On With the First Open-Source Microcontroller

Comments Filter:
  • ftdi? sigh ;( (Score:3, Insightful)

    by TheGratefulNet ( 143330 ) on Thursday January 05, 2017 @09:11PM (#53614703)

    REALLY bad idea. the company is fucked up. or, their leadership is, at least. I'll never touch another ftdi chip by choice, again. just search for 'ftdi gate' and you'll see the back story.

    • by AmiMoJo ( 196126 )

      It's unnecessary too. Microchip make similar USB to RS232 converters, or you can roll your own fairly easily with a cheap microcontroller and open source firmware.

      The only slight hitch with rolling your own is that Windows requires a signed .inf file to make it work. You can get a free cert to sign the .inf. However, there is also the possibility of using some custom Microsoft USB descriptors that avoid the need for any driver files on the PC. It's designed for their WinUSB system but I think it might work

      • By the way, if any MCU manufacturers are listening, an 8 pin device with USB and a fancy serial peripheral that does UART/SPI/I2C would be lovely, thanks.

        You mean an attiny85? You do need a crystal to get USB out of it, is that a dealbreaker?

        • by AmiMoJo ( 196126 )

          The software V-USB stack has the disadvantage that a lot of cycles are lost to it and the timing is forced by interrupts. A double buffered peripheral with DMA into RAM will allow you to get a high baud rate on the serial side.

      • "or you can roll your own fairly easily with a cheap microcontroller"

        Yo dawg, I heard you liked microcontrollers, so I put a microcontroller with your microcontroller so you can serially communicate with your serial communications.

    • REALLY bad idea. the company is fucked up. or, their leadership is, at least. I'll never touch another ftdi chip by choice, again. just search for 'ftdi gate' and you'll see the back story.

      What part of "first open source microcontroller" did you not understand? I'm no fan of FTDI after what they did. But seriously, you read a story about a ground-breaking first product based on an OPEN MICROCONTROLLER, and all you can do is kvetch about the closed bit of silicon they used to get the first version out the door?

    • by c ( 8461 )

      It's too bad, really, because the FTDI chip is just a dev board peripheral and has nothing to do with the open source microcontroller itself, but it's going to be the source of a lot of controversy and noise.

      Plus it's not like there aren't viable alternatives to the FTDI...

  • It's nice, I'm not mad at it or anything, but for a lot of purposes you don't need it and it just takes up space. When you do, a 4-gang level shifter is only a couple of bucks. It seems unnecessary.

    What does matter is size. I pretty much just use ESP-01, ESP-07, and Arduino nano unless I have a really good reason to use something else, like a mini 2560. A dev board I can't fit into a project isn't as useful to me.

  • The design files for the HiFive 1 were made with Altium, a proprietary and non-Free software.

    Umm, if you need proprietary software to modify the "open hardware" design, is it really open hardware?

    • Re:Open Hardware? (Score:5, Insightful)

      by drinkypoo ( 153816 ) <drink@hyperlogos.org> on Thursday January 05, 2017 @10:00PM (#53614871) Homepage Journal

      Umm, if you need proprietary software to modify the "open hardware" design, is it really open hardware?

      Yes. It is open source, and it is free, but it is not Free.

      This is why capital-F Freedom is important, why Open Source is not enough.

      • Re: (Score:3, Insightful)

        by Cmdln Daco ( 1183119 )

        It's unfortunate, because the design would probably fit perfectly well into gEDA [geda-project.org]. Then it would be completely open-source editable.

        • by AmiMoJo ( 196126 )

          It does seem like a very odd decision. Kicad actually comes with an Arduino board as one of the example projects.

          How does gEDA compare to Kicad?

    • I'm so old I remember when hardware came with schematics.

      Kids today, thinking they're inventing a new concept!

    • Is proprietary software the only way to modify the open hardware design? Only then can its openness be called into doubt. If its spec is published - which it would have to be for it to be open - then there is nothing stopping a competent coder from writing an FOSS version of the modifying HDLs
      • As far as I know, there are no open formats that can store a complete board level design, only interchange formats for the emitted PCB layers.

        (As far as I know, there are no open formats that can store a complete any level design)

  • The open source software is so shitty they had to design it with Altium. What, Eagle isn't good enough?

  • by ooloorie ( 4394035 ) on Thursday January 05, 2017 @11:04PM (#53615091)

    There seems to be a big push for backdoors into CPUs and other chips, anything from hardware backdoors to instruction set backdoors that allow you to circumvent OS protections. Open hardware designs provide at least some protection against these kinds of abuses.

    Another kind of approach towards the same goal is to use an FPGA together with a soft core CPU. While the FPGA may not be entirely trustworthy, it would be hard for any kind of FPGA hack to be smart enough to interfere with the operations of a soft core CPU.

    • by AmiMoJo ( 196126 )

      The key to secure computing is to add your own trusted processors for specific tasks. You can't trust the CPU, but that doesn't matter if you move all the critical key management and encryption functions to a USB device you have full control over.

      • The key to secure computing is to add your own trusted processors for specific tasks. You can't trust the CPU, but that doesn't matter if you move all the critical key management and encryption functions to a USB device you have full control over.

        That's not correct, because the main computer also handles I/O; that is, even if your key management is secure, an attacker can still get at all your encrypted communications when you type them in and when they appear on your screen.

        Even disregarding that issue, tr

  • by TopSpin ( 753 ) on Friday January 06, 2017 @02:05AM (#53615447) Journal

    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 [github.com] 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.

    • 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.

      What it does mean is that they wasted money using an expensive USB to UART which will drive away a subset of hobbyists, needed to drive adoption of the platform. Something cheaper and less controversial would have been just as good — in fact, better, because these guys have no way to know that they are not buying counterfeit FTDI chips, and neither do you. You don't want your dev board to go tits up during the dev cycle because FTDI are a bunch of arses.

  • Comment removed based on user account deletion
  • Point of order, the Parallax Propeller has been open source (in that they give you VHDL code and photolito files) for a couple of years now. Give them credit. https://www.parallax.com/micro... [parallax.com]
  • by moeinvt ( 851793 ) on Friday January 06, 2017 @08:52AM (#53616345)

    This open source microcontroller has been around for 10+ years:

    http://opencores.org/project,c... [opencores.org]

    This is truly "open source" because you can download the actual VHDL source files and compile them into your own chip design.

    The article seems to be confusing a "printed circuit board"(PCB) with a "microcontroller". The author keeps referring to the "HiFive1" as a "microcontroller". It's not. It's a circuit board. The FE310 is the "microcontroller".

    From the company website:

    HiFive1 Features & Specifications
            Microcontroller: SiFive Freedom E310 (FE310)

    It looks like the Altium files are "open source", but Altium is PCB design software. I don't see a place where you can download the VHDL, Verilog source code or even a netlist and layout(e.g. a GDS file) of the actual FE310 microcontroller. That appears to be proprietary IP. I don't see how this is any more of an "open source" microcontroller than the Atmel or PIC chips.

    • I could design an open-source microcontroller by that definition.

      atmega, regulator, crystal, three capacitors. layout on stripboard, done.

    • The FE310 is a RISC-V instantiation. Here is the repo that will generate a configured RISC-V RTL: https://github.com/ucb-bar/roc... [github.com]

      The compiled verilog netlist and layout for the FE310 is pretty useless to anyone not targeting an ASIC the same configuration on the same process in the same package... and completely useless to anyone targetting an FPGA.

  • Right now, the SDK only works under Linux

    There's something in me that snickers every time I read those words. It happens surprisingly often ;-)

  • At the base level, the HiFive 1 is a powerful microcontroller with a lot of Flash, with support for hundreds of Arduino libraries. That’s great, and alone this might be worth the $60 price of admission.

    These "Open" projects will always have a hard time when they have a price tag of $60. Who's buying a microcontroller for that? I can buy a retarded number of ESP-12 chips for this, or even go with 8 much beefier Orange Pi Zeros.

There is no opinion so absurd that some philosopher will not express it. -- Marcus Tullius Cicero, "Ad familiares"

Working...