Problems using HiFive1 Rev B from the Arduino IDE

I have just ordered the HiFive1 Rev B for use with the Arduino IDE, and have been trying it out. However, everything I try gives the error:

Error: no device found
Error: unable to open ftdi device with vid 0403, pid 6010, description 'Dual RS232-HS', serial '*' at bus location '*'

I’m using it with a MacBook Pro, macOS High Sierra, and Arduino 1.8.9. Can anyone help?

Unfortunately, the RevB is not supported under the Arduino IDE. You would have to use either Freedom Studio or the Freedom SDK (or platformio I think?). In all cases this requires the J-Link package in order to debug/flash. Check the RevB getting started guide (which is slightly different than the original hifive1)

There is the option of flashing via USB mass storage, but generating the hex file requires one of the above two approaches.

It would be nice if Arduino support eventually emerged, but my guess is that the change in JTAG<->USB solution for flashing is the biggest hurdle at the moment, as this brought a dependency on the J-Link binary that likely can’t be redistributed.

1 Like

On this page: HiFive1 - SiFive it says:

HiFive1 is a low-cost, Arduino-compatible development board featuring the Freedom E310. It’s the best way to start prototyping and developing your RISC‑V applications.

This implies you can program it from the Arduino IDE. Lower down it says:

New Version of HiFive1 Available

Check Out HiFive1 Rev B

Nowhere does it say that the Rev B is no longer Arduino compatible.

Please can you add this information to your website so other people don’t mistakenly buy the HiFive1 Rev B on this understanding.

Hi @johnsondavies,

This Twitter thread should help you to get started with this amazing board:

Unfortunately that doesn’t really help with my application. I was planning to port my Lisp interpreter, uLisp, to the HiFive1 Rev B:

uLisp - Lisp for microcontrollers

It’s built on top of the Arduino infrastructure.

It’s definitely disappointing, and I hit the same problem–I really enjoyed the original HiFive1 w/ Arduino and got this expecting it to work the same.

…they do also have a bare JTAG header on the board, I wonder if one could use an FTDI jtag<->usb adapter and fake it being an original HiFive?

I have had [mixed] results with the USB mass storage, and the RevB platform wise should be very similar to original. Maybe you could verify/compile your stuff in Arduino against the HiFive1, take the elf and convert to a hex file (elf2hex should be in freedom-e-sdk), then drag-n-drop to the board? It’s not great, but it may be workable.

I’m currently experimenting to get OpenOCD working with my board and I’m slowly making some progress, but I’m not sure how much functionality I’ll be able to get out of it.

Thanks! I’ll investigate those suggestions.

Hi David,

Confirming that we dropped support for the Arduino IDE for the Rev B board. I don’t fully understand the technical issues but I can try to find out more.

There is internal debate about the semantics of “Arduino-compatible”: some folks meant this to refer to the form factor, rather than compatibility with software tools/ecosystem.

We’re working on getting our website updated. Thanks for bringing this to our attention – our apologies for not making this clear.

Nick Knight
Technical Lead, Software Performance Team

2 Likes

Thanks for the reply.

There is internal debate about the semantics of “Arduino-compatible”

The form-factor-compatibility is usually expressed as “compatible with Arduino shields”.

2 Likes