Arduino Compatible modules

Has any one used LoFive RISC-V or HiFive1 modules? Are they compatible with Arduino libraries?

Do you have any links to the modules please?

Thanks.. Tom... :slight_smile:

Yes, here they are:

It looks like there is a hardware core to add support for the Freedom E310 used on both these boards to the Arduino IDE. The installation instructions are in the "Software Development Using the Arduino IDE" section of this PDF:

The hardware core should provide implementations of the standard Arduino API. Most libraries that only use the Arduino API functions and other non-architecture specific code should work just fine on the E310 boards, even if the author didn't even know of the existence of this chip. The problem you'll have is with the libraries that have architecture-specific code. The library author would have needed to add a version of that code specifically written for the Freedom E310 and since this is not at all a common chip in the Arduino world currently you'll find that almost no Arduino library authors have done this. If the chip catches on, the community support will surely improve over the years. If you want the best level of library support, stick with the AVR-based Arduino boards like the Uno, Mega, Leonardo, Nano, etc. Nothing will be able to compete with the level of support for these boards simply because they've been around the longest. Second best would be the SAMD and ESP8266 boards, which are getting a very good level of support at this point.

I would not recommend boards of other architectures to a beginner or someone who just wants to get their project done with the minimum amount of hassle. These other architectures are best for the adventurous folks who welcome the challenges of exploring new parts and the many opportunities to make significant contributions to the Arduino project they will provide.

One of those challenges I mentioned is that sifive didn't bother to add Windows support to their hardware core. It only works on Linux and macOS. A community memmber forked the core and added Windows support:

Another one of those challenges is that both hardware cores have a bug that makes them not work if your user name has a space in it. I submitted a fix for that bug, but sadly there has been no move to accept it yet.

And there we have yet another challenge. It seems that sifive has largely abandoned work on the Arduino core, as has the person who make the Windows compatible fork. This does not bode well for the chances of the Freedom E300 and E310 chips becoming widely used in the Arduino world. Luckily, the code is all open source, so the community always has the option of adopting the project and taking it along as far as it can go. However, the ideal solution would have been for sifive to continue to take an active role leading the project, since they financially benefit from it and thus should be able to pay professional developers to work no the project

All the above are also implemented on Teensy 4.0?

It has a powerful 600 MHz cpu, and I want to know whether I can do something more using Arduino IDE with its libraries.. I am now using Arduino DUE but I need a higher clocked CPU, that is why I look around these modules..

Thank you again for your time..

I think you'll find that the Teensy boards have a much better level of support than the sifive boards. The creator, Paul Stoffregen works really hard to provide a great user experience with the Teensy. Paul maintains a large number of popular libraries that can be automatically installed along with Teensyduino and I'm sure they have been working to make sure as many of those libraries as possible are compatible with the Teense 4.0. Paul, along with a large team of very smart volunteers have done a ton of work over the last 9 months on the hardware core for the Teensy 4.0 before Paul thought the support was to a good enough level to release this board.

That said, this is a brand new board as far as the 3rd party library authors are concerned and so very few of them are likely to have already added any low level support code that might be needed to support the Teensy 4.0 (though many others that don't use low level code will support it out of the box). However, the Teensy boards are some of the most popular 3rd party Arduino boards so the 3rd party library authors are much more likely to make the effort to provide support for this board, when they might not think it's worthwhile for an obscure unpopular board.