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.
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.
--
"It is now safe to switch off your computer."
There have Been Op cores for years.
There are many Public Domain Cores. Many of the are 8052 Cores.
The Core is easy, It is the Software support tools that are hard.
Until You get into the high tech stuff that is all patented.
Was it the Neo OpenMoko Freerunner or before that the Sony Mylo 2 or before that the Agenda Computing VR3?
Im still waiting for the Linux kernal 2.0 pc-speaker synthesizer patch to make it into general kernal modern.
More interestingly, these are the guys behind RISC-V, the first royalty-free modern and forward-thinking ISA (instruction set architecture); the instruction set is designed to be modular, and it supports standardized implementations from this low-level kind of microcontroller all the way up to 128-bit (yes, that's right) general purpose or highly parallel computing.
It has a lot of industry support, and a commuting of very zealous tinkerers, who are working on all manner of open-source implementations of this open and royalty-free ISA.
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.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Why They Bricked Clone Chips that used their drivers?
An Little Dickish.
The Clone companies could have written their own, but then they could not undercut FTDI prices.
They Make Good well supported Products.
But why should customers suffer bricked devices? Fuck FTDI, I won't buy anything with their chip s again.
across mike and speaker to directly control hardware?
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?
A lot of us just buy little tiny daughterboards with FTDI chips on them, for our microcontroller projects. You plug 'em in and the USB hassle is solved.
USB really has been an ugly thing for some of us who for years liked being able to just hang a microcontroller project off a PC's serial port using a MAX232 chip, voltage level shifters or even just a few resistors. Turnkey USB i/o modules bring some of that back.
The open source software is so shitty they had to design it with Altium. What, Eagle isn't good enough?
Only the State obtains its revenue by coercion. - Murray Rothbard
It is Open, Free and free.
A Free Software project built with a proprietary toolchain is still a Free Software project. Richard Stallman started the GNU Project in 1984 with proprietary UNIX C compiler. The point is, in theory, anyone can port such project to a free and open toolchain or even build a new toolchain, and the project itself doesn't restrict users' freedom. Of course, the lack of free and open toolchains is a practical problem that limits the usefulness of the project, but it is a separate issue.
Same applies to Free and Open Hardware.
Why They Bricked Clone Chips that used their drivers?
An Little Dickish.
The Clone companies could have written their own, but then they could not undercut FTDI prices.
They Make Good well supported Products.
Burma Shave.
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.
Wait until next month.
They're adding 7V and 4.2V logic because they're better.
R3 will feature 10.93V logic and new experimental 15.22449V logic.
Canonical is working on new 17.2V logic to try and get ahead of Wayland (that's implementing 17.3V logic).
Arch will debut with 10,000V logic but they're having initial minor problems with the insulation for which bugs have been filed.
The CH340G usb serial chips are about 30 cents. On older versions of Windows you have to install the driver.
For about $3 you can get an adapter that uses a Silicon Labs 210x chip, and support is better than the CH340G.
The People that got Bricked never Bought from them in the First Place.
There were no drivers if they just refused to work.
A dickish move on their part, but I goes they got their point across to the clones.
there's about a half dozen other USB ttl serial chips out there I can think of off the top of my head
I wont incorporate FTDI in my designs anymore as well, not when maxium, ti, prolific, microchip, NXT and ST all make the same durn thing (and for cheaper as well in large quantities)
Fixed link: RISC-V assembly (31 Dec 2016)
The problem is that they hit the wrong target. I don't blame them for wanting to block counterfeits, but they attacked people who had no way to know they were using a counterfeit. Basically, they mis-managed their channels to the point that a legit customer could make a good faith effort to buy the real thing at market price and still end up with fakes and no way to tell. FTDI had a way to tell but they wouldn't disclose it. Rather than fix their channels and help their direct customers to get the real thing, they punished people who had no idea what an FTDI was.
They keep shitting out these microcontroller projects based off 'full' processor cores, rather than even offering hooks for a memory controller, MMU, or other peripheral connections needed to go from chip to something useful.
Sure I *COULD* buy one of these for microcontroller purposes, but even among the proprietary chips most have been well enough documented to offer the features I need.
What hasn't been available in quite a long time is an actual general purpose processor, with even 90s era PC memory capacity or io capabilities to begin building an actual openly documented libre computer system around chips like the risc-v or j1/2/4/6 processors. At the rate those projects are going, the window of opportunity for 'free' modern processors will have come and gone, whether due to financial considerations or more than likely legal ones if the movement doesn't break through soon.
The opportunities to get the international community out of this dark spiral we are swirling down is coming to a close. If people don't start getting slightly more ambitious with their design plans we are never going to get over the memory, io, and cpu boundaries necessary for these open source chips to be anything greater than a toy or niche product.
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
Depressing
Since they have no way for customers to verify if a chip is a "clone" or not, and the company won't even give the name of a single trustable distributor, it is therefore impossible for a customer to verify that a bricked chip is actually a "clone" and not simply a false positive.
Pretty much every other parts supplier of any type of part in the world can, if they claim to care about "clones," give you the name of a trusted distributor that can provide a guaranteed-real part. FTDI, no such luck. If you buy it at full price from a reputable American distributor listed by FTDI as a company that they sell parts to, their official position is that you still might be buying clones.
The net result is: if you use FTDI in a product, it might stop working for your customers at any moment, and there is no way to verify if a particular board is safe or not. And as a customer you should be aware that the manufacturer of the end product has no way at all to promise you that they used "real" FTDI chips; even if they bought them from the factory, that same factory will not promise that what ever was delivered off the truck is "real" in their eyes.
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 with CDC too, it's something I have been meaning to try for ages.
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.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
Uh, I can already blink an LED with open-source hardware. A couple transistors make a flip-flop. Is the author of this article being a tad sarcastic here?
I'll never touch another ftdi chip by choice, again. just search for 'ftdi gate' and you'll see the back story.
That's quite a knee jerk reaction in the world of software/hardware. Here's a fix for your problem that works just fine. https://rlogiacco.wordpress.com/2016/03/04/win-10-ftdigate-solved/
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...
Liberty - Security - Laziness - Pick any two.
Supplyframe and HaD turn our barely researched garbage that misleads more than it informs. And Benchhoff is an asshole. Here's to the death of HaD in 2017!!
This open source microcontroller has been around for 10+ years:
http://opencores.org/project,c...
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.
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 ;-)
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?
'The Economy' is a giant Ponzi scheme whose most pitiable suckers are the youngest among us and the yet-unborn.
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?
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
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...
Log in or piss off.
The problem is that they hit the wrong target. I don't blame them for wanting to block counterfeits, but they attacked people who had no way to know they were using a counterfeit. Basically, they mis-managed their channels to the point that a legit customer could make a good faith effort to buy the real thing at market price and still end up with fakes and no way to tell. FTDI had a way to tell but they wouldn't disclose it. Rather than fix their channels and help their direct customers to get the real thing, they punished people who had no idea what an FTDI was.
I see a bigger problem here. You've got a microcontroller that is ostensibly open-source hardware, but it's using a component from a company that most definitely swings hard in the other direction. Okay, so a USB-to-UART conversion option that is open-source hardware may not be available...but do you have to use one from a company that deliberately goes after clones in a way that punishes the innocent as collateral damage, too?
For your security, this post has been encrypted with ROT-13, twice.
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.
> I have a shit-ton of devices with the CH340G and I've never been sorry about it.
That's good to know.
> What's wrong with CH340G support? It's included with Linux
Of course; I'm pretty sure Linux includes drivers for some 1960s era vacuum tube radars too. :) I have a bunch of old enterprise hardware, raid cards and such, that works fine with Linux - the companies that made the hardware have been bought out a couple times since my hardware was made, and it's been off the manufacturer "supported" list for probably a decade, so I would caution anyone considering it for new deployments.
First? In what sense? There's piles of free/Free Verilog/VHDL out there that implement controllers, and which can be used how you like. Want a chip? Send them off to a foundry (unless you have your own). Want something now? Get an FPGA and shoot the bitstream into it. Compile with proprietary software, or use something like the Icestorm project.
Some people had odd definitions of 'open' and/or 'first'.
Microcontroller != development board.
The chip itself is (I assume) open source. The implementation of this specific development board was created using proprietary software and includes a proprietary component, but that's about it.
If the MCU is of any interest to people, there will be other more or less open dev boards created. Most obviously would be things like the STM32 ARM boards that are all over the place now having just the minimum voltage regulation, resistors, capacitors, pin headers, crystals and jumpers to be usable with an external USB-to-TTL conversion module.
Log in or piss off.
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.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
The only thing FTDI did wrong was not finding a way to perminantly hard brick the clone chips. Sorry, but customers and vendors will continue to look the other way unless there are consequences. This is the harsh reality.
What I want is a working legit FTDI implementation that is known good and I DO NOT want a clone because I don't have time for shit knockoffs that have crept in to the supply chain.
I don't care if your device doesn't work. Go bitch at your vendor for getting fake chips, not FTDI. FTDI maintains their drivers and they have no obligation to you to maintain compatibility. For any reason. You are at their whim. Full stop.
The real solution is to create a standard with a generic driver. But that takes time and money. You know. Like FTDI did when they made their chips that became the only non-shit usb-to-serial solution. Only to have their devices cloned so inferior knockoffs could steal their marketshare and dilute their brand.
"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.