NRFICE: Bluetooth Without a Dongle on FPGA
The NRFICE board is a dongle-free FPGA + Bluetooth development platform for mobile and edge computing applications.
The NRFICE board from Hurley Research is an FPGA development board with an Arduino form-factor, on-board nRF5340 Bluetooth SoC, and built-in JLink-OB programmer/debugger. This makes the NRFICE ideal for edge computing and mobile applications given its combination of wireless connectivity and FPGA processing power.
Since it's built on the Lattice ICE40UP5K FPGA, the NRFICE board can utilize examples from Lattice for interfacing with image sensors and implementing AI models. The onboard JLink debugger means that it the NRFICE is ready to plug and play directly into a host PC without the need for an emulator dongle such as the Segger J-Link BASE USB JTAG probe.
The ICE40UP5K FPGA was specifically selected for the edge computing application development on the NRFICE board due to the existing reference designs from Lattice for hand gesture detection, audio key phrase detection, and human presence detection.
The nRF5340 dual-core Bluetooth SoC from Nordic Semiconductor then provides a wireless interface with the outside world. The nRF5340 is equipped with two Arm® Cortex®-M33 processors and can operate up to 105 °C. These features along with the fact that the Segger Embedded Studio is free to Nordic chip users, means the bar/cost for entry is low for users. The Radiant IDE from Lattice is also free for the ICE40 FPGA family.
As with the ICE40UP5K FPGA, there are also many example designs available for the nRF5340 Bluetooth SoC including Central/Peripheral/HIDS Bluetooth LE 5 roles, Bluetooth 5 mesh networking, near field communication (ie pairing to smart cards), direction finding/distance measurement using Bluetooth radio, and cryptographic capabilities (AES CBC/CCM/CTR/GCM, ECDH, ECDSA,HKDF, HMAC, PSA TLS, RNG, RSA, SHA-256). The nRF5340 then connects to a Fanstel BT40 module with a trace antenna that is FCC approved.
The ICE40UP5K FPGA and nRF5340 both have access to a 128 Mbit external flash memory chip, and the JLink-OB is accessible via a USB C connector. A second USB C connector offers a virtual COM port for the nRF5340 or any other USB implementation based on the deployed code.
The board is powered by a 9 V - 12 V barrel connector with 5V/3A regulator and it adheres to the standard Arduino UNO form factor with 0.1” pinout.
A neat bonus feature is an Android app that facilitates wireless loading of example projects onto the nRF5340 and ICE40UP5K FPGA. The Android app is also open source to allow users to tweak and expand it based on project needs. This app also means that a deployed NRFICE board running an edge computing application can be reprogrammed/updated in-situ without requiring physical access to the board.
To top it all off, the NRFICE board is fully open source with its BOM, Eagle schematic and BRD files, gerbers, example/test verilog (FPGA) projects, android app source, nRF Connect projects, and a PC app from Hurley Research all available in its public Github repository. If you are interested in supporting the project, check out its Crowd Supply campaign here.