Getting started with the Arduino NANO 33 BLE Sense Getting started with the Arduino NANO 33 BLE Sense

Getting started with the Arduino NANO 33 BLE Sense

ARDUINO NANO 33 BLE SENSE

Arduino Nano 33 BLE Sense

Bring the power of AI to your pocket with Arduino’s tiniest form factor.

  • OVERVIEW
  • The Nano 33 BLE Sense (without headers) is Arduino’s 3.3V AI enabled board in the smallest available form factor: 45x18mm!

    The Arduino Nano 33 BLE Sense is a completely new board on a well-known form factor. It comes with a series of embedded sensors:

    • 9 axis inertial sensor: what makes this board ideal for wearable devices
    • humidity, and temperature sensor: to get highly accurate measurements of the environmental conditions
    • barometric sensor: you could make a simple weather station
    • microphone: to capture and analyse sound in real time
    • gesture, proximity, light color and light intensity sensor : estimate the room’s luminosity, but also whether someone is moving close to the board

    Arduino NANO 33 BLE Sense Sensors

    The Arduino Nano 33 BLE Sense is an evolution of the traditional Arduino Nano, but featuring a lot more powerful processor, the nRF52840 from Nordic Semiconductors, a 32-bit ARM® Cortex™-M4 CPU running at 64 MHz. This will allow you to make larger programs than with the Arduino Uno (it has 1MB of program memory, 32 times bigger), and with a lot more variables (the RAM is 128 times bigger). The main processor includes other amazing features like Bluetooth® pairing via NFC and ultra low power consumption modes.

    Embedded Artificial Intelligence

    The main feature of this board, besides the impressive selection of sensors, is the possibility of running Edge Computing applications (AI) on it using TinyML. You can create your machine learning models using TensorFlow™ Lite and upload them to your board using the Arduino IDE.

    Arduino’s developer Sandeep Mistry and Arduino’s advisor Dominic Pajak have prepared an introductory tutorial to AI on the Nano 33 BLE Sense, but also a more advanced guide on color detection.

    An Improved Arduino Nano

    If you used Arduino Nano in your projects in the past, the Nano 33 BLE Sense is a pin-equivalent substitute. Your code will still work, but remember, it operates at 3.3V. This means that you need to revise your original design in case it is not 3.3V compatible. Besides that, the main differences to the classic Nano are: a better processor, a micro-USB connector, and all of the sensors mentioned above.

    You can get the board with or without headers, what will allow you embedding the Nano inside any kind of inventions, including wearables. The board comes with tessellated connectors and no components on the B-side. These features allow you to solder the board directly onto your own design, minimizing the height of your whole prototype.

    Oh, and did we mention the improved price? Thanks to a revised manufacturing process, the Arduino Nano 33 BLE Sense is really cost efficient … what are you waiting for? Upgrade now!

    Bluetooth® and BLE

    The communications chipset on the Nano 33 BLE Sense can be both a BLE and Bluetooth® client and host device. Something pretty unique in the world of microcontroller platforms. If you want to see how easy it is to create a Bluetooth® central or a peripheral device, explore the examples at our ArduinoBLE library.

  • TECH SPECS

The Arduino Nano 33 BLE Sense is based on the nRF52840 microcontroller.

Microcontroller nRF52840 (datasheet)
Operating Voltage 3.3V
Input Voltage (limit) 21V
DC Current per I/O Pin 15 mA
Clock Speed 64MHz
CPU Flash Memory 1MB (nRF52840)
SRAM 256KB (nRF52840)
EEPROM none
Digital Input / Output Pins 14
PWM Pins all digital pins
UART 1
SPI 1
I2C 1
Analog Input Pins 8 (ADC 12 bit 200 ksamples)
Analog Output Pins Only through PWM (no DAC)
External Interrupts all digital pins
LED_BUILTIN 13
USB Native in the nRF52840 Processor
IMU LSM9DS1 (datasheet)
Microphone MP34DT05 (datasheet)
Gesture, light, proximity APDS9960 (datasheet)
Barometric pressure LPS22HB (datasheet)
Temperature, humidity HTS221 (datasheet)
Length 45 mm
Width 18 mm
Weight 5 gr (with headers)
  • DOCUMENTATION
  • OSH: Schematics

    The Arduino Nano 33 BLE Sense is open-source hardware! You can build your own board using the following files:

    EAGLE FILES IN .ZIPSCHEMATICS IN .PDFFRITZING IN .FZPZ

    Pinout Diagram

    Getting started with the Arduino NANO 33 BLE Sense Pinout NANOsense latest

    Download the full pinout diagram as PDF here.

    Getting started with the Arduino NANO 33 BLE Sense

    Arduino NANO 33 BLE Sense board has been designed to offer a power savvy and cost effective solution for makers seeking to have Bluetooth Low Energy connectivity in their projects. it is based on a NINA B306 module, that hosts a Nordic nRF52480 that contains a Cortex M4F microcontroller. The NANO 33 BLE Sense is the same as the Arduino NANO 33 BLE with the addition of a set of sensors, detailed below. Learn how to set up the programming environment and get the hardware up and running, ready for your projects, in minutes.

    The Arduino NANO 33 BLE Sense is programmed using the Arduino Software (IDE), our Integrated Development Environment common to all our boards and running both online and offline. For more information on how to get started with the Arduino Software visit the Getting Started page.

    Use your Arduino NANO 33 BLE Sense on the Arduino Web IDE

    Getting started with the Arduino NANO 33 BLE Sense WebEditor

    All Arduino boards, including this one, work out-of-the-box on the Arduino Web Editorno need to install anything.

    The Arduino Web Editor is hosted online, therefore it will always be up-to-date with the latest features and support for all boards. Follow this simple guide to start coding on the browser and upload your sketches onto your board.

    Use your Arduino NANO 33 BLE Sense on the Arduino Desktop IDE

    If you want to program your Arduino NANO 33 BLE Sense while offline you need to install the Arduino Desktop IDE and add the Arduino nRF528x mbed Core to it. This simple procedure is done selecting Tools menu, then Boards and last Boards Manager, as documented in the Arduino Boards Manager page.

    MBED Board Insta

    NOTE: this core is made of many files and the installation process may require a few minutes, please be patient while the process is executed and it is normal that the progress bar stays for a long time on the same spot.

    The Arduino NANO 33 BLE Sense is a hardware variation of the Arduino NANO 33 BLE; both boards are recognized as Arduino NANO 33 BLE and this is normal. In the board manager and the board selection, you will find listed only the Arduino NANO 33 BLE.

    Installing Drivers for the Arduino NANO 33 BLE Sense

    With the nRF528x mbed core installed, you now proceed with the driver installation.

    OSX No driver installation is necessary on OSX. Depending on the version of the OS you’re running, you may get a dialog box asking you if you wish to open the “Network Preferences”. Click the “Network Preferences…” button, then click “Apply”. The Arduino NANO 33 BLE Sense will show up as “Not Configured”, but it is still working. You can quit the System Preferences.

    Windows (tested on 7, 8 and 10) If you properly installed the nRF528x mbed Core, just connect the Arduino NANO 33 BLE Sense to your computer with a USB cable. Windows should initiate its driver installation process once the board is plugged in.

    Linux No driver installation is necessary for Linux. Note for Raspberry Pi users: the Linux Arm version of IDE with Mbed OS core 1.1.2 may show an error while compiling for this board. We are aware of the issue and we are updating the toolchain.

    Open your first sketch

    Open the LED blink example sketch: File > Examples >01.Basics > Blink.

    Blynk 20Select

    Select your board type and port

    You’ll need to select the entry in the Tools > Board menu that corresponds to your Arduino board. Please note that the Sense board is recognized as Arduino NANO 33 BLE.

    MBED Board Select

    Select the serial device of the board from the Tools | Serial Port menu. This is likely to be COM2 or higher (COM1 is usually reserved for hardware serial ports). To find out, you can disconnect your board and re-open the menu; the entry that disappears should be the Arduino board. Reconnect the board and select that serial port.

    MBED Board Port

    Upload the program

    Now, simply click the “Upload” button in the environment. Wait a few seconds – you should see the orange LED on the board slowly fade in and out. If the upload is successful, the message “Done uploading.” will appear in the status bar.

    NOTE: If the board does not enter the upload mode, please do a double press on the reset button before the upload process is initiated; the orange LED should slowly fade in and out to show that the board is waiting for the upload.

    UNO Upload

    A few seconds after the upload finishes, you should see the on-board LED start to blink (in orange). If it does, congratulations! You’ve gotten your Arduino NANO 33 BLE Sense up-and-running. If you have problems, please see the troubleshooting suggestions.

    Learn more on the Desktop IDE

    See this tutorial for a generic guide on the Arduino IDE with a few more infos on the Preferences, the Board Manager, and the Library Manager.

    Tutorials

    Now that you have set up and programmed your Arduino NANO 33 BLE board, you may find inspiration in our Project Hub tutorial platform or have a look to the tutorial pages that explain how to use the various features of your board.

    Please Read…

    The microcontroller on the Arduino NANO 33 BLE Sense runs at 3.3V, which means that you must never apply more than 3.3V to its Digital and Analog pins. Care must be taken when connecting sensors and actuators to assure that this limit of 3.3V is never exceeded. Connecting higher voltage signals, like the 5V commonly used with the other Arduino boards, will damage the Arduino NANO 33 BLE Sense.

    To avoid such risk with existing projects, where you should be able to pull out a Nano and replace it with the new NANO 33 BLE Sense, we have the 5V pin on the header, positioned between RST and A7 that is not connected as default factory setting. This means that if you have a design that takes 5V from that pin, it won’t work immediately, as a precaution we put in place to draw your attention to the 3.3V compliance on digital and analog inputs.

    5V on that pin is available only when two conditions are met: you make a solder bridge on the two pads marked as VUSB and you power the NANO 33 BLE Sense through the USB port. If you power the board from the VIN pin, you won’t get any regulated 5V and therefore even if you do the solder bridge, nothing will come out of that 5V pin. The 3.3V, on the other hand, is always available and supports enough current to drive your sensors. Please make your designs so that sensors and actuators are driven with 3.3V and work with 3.3V digital IO levels. 5V is now an option for many modules and 3.3V is becoming the standard voltage for electronic ICs.

    Features

    Serial ports on the Arduino NANO 33 BLE Sense

    The USB connector of the board is directly connected to the native USB of the NINA B306 module. This routing enables you to use the Arduino NANO 33 BLE Sense as a client USB peripheral (acting as a mouse or a keyboard connected to the computer) or as a USB host device so that devices like a mouse, keyboard, or an Android phone can be connected to the Arduino NANO 33 BLE. This port can also be used as a virtual serial port using the Serial object in the Arduino programming language. The RX0 and TX1 pins are a second serial port available as Serial1.

    **ADC and PWM resolutions **

    The Arduino NANO 33 BLE has the ability to change its analog read resolution: it defaults to 10-bits and it can support up to 12-bit ADC. PWM has 8-bit resolution. See the analog read resolution pages for more information on how to change the ADC resolution.

    IMU on the Arduino NANO 33 BLE Sense

    The IMU is a LSM9DS1, it is a 3-axis accelerometer, 3-axis gyroscope and 3-axis magnetometer. This chip, made by ST Microelectronics, is a standard component supported by our library ArduinoLSM9DS1. The library contains, as usual, the example sketches to use the sensor.

    Digital microphone on the Arduino NANO 33 BLE Sense

    The digital microphone is a MP34DT05, This chip, made by ST Microelectronics, is an ultra-compact, low-power, omnidirectional, digital MEMS microphone built with a capacitive sensing element and an IC interface; it produces an output coded in PDM. The PDM format is supported by our library PDM that can be used also with our ArduinoSound . The PDM library contains, as usual, the example sketches to use the sensor.

    Gesture sensor on the Arduino NANO 33 BLE Sense

    The Gesture sensor is a APDS9960, it senses gesture, color, ambience illumination and proximity . This chip, made by Broadcom is supported by our library ArduinoAPDS9960. The library contains, as usual, the example sketches to use the sensor for gestures, color and proximity.

    Pressure on the Arduino NANO 33 BLE Sense

    The barometer sensor is a LPS22HB, is an ultra-compact sensor which functions as a digital output barometer. This chip, made by ST is supported by our library ArduinoLPS22HB. The library contains, as usual, the example sketch to use the sensor to measure the atmospheric pressure.

    Relative humidity and temperature on the Arduino NANO 33 BLE Sense

    The relative humidity and temperature sensor is a HTS221, is an ultra-compact sensor that uses a polymer dielectric planar capacitor structure capable of detecting relative humidity variations and temperature, returned as digital output on a serial interface. This chip, made by ST is supported by our library ArduinoHTS221. The library contains, as usual, the example sketch to use the sensor to measure the relative humidity .

    NOTE: to get reliable readings for temperature and humidity, the sensor should not be influenced by thermal sources in the surrounding. The sensor readings will be influenced by board self heating, caused mainly by the processor and secondarily by the on board DC-DC.

    To offset the board self heating we suggest to

    • either take into account the temperature rise, which depends on the software, is independent from ambient temperature, but may depend from ventilation and other external factors, so it will be difficult to assess and take as an offset
    • or to reduce the board self heating itself making the temperature offset negligible.

    In order to minimise self heating it’s recommended to use the lowest possible power modes and reduce to a minimum the processor activity. In addition to this, it is also possible to power the board bypassing the DC-DC regulator cutting the link between the 3.3V pads:

    BLESense CUT3v3

    After this mod, the board shall be powered from its 3.3V and GND input pins.

    When you cut the link between the two 3.3V pads, you isolate the DC/DC 5V->3.3 V circuit and the board can’t be programmed using the USB standard procedure. To recover this functionality you need to restore the connection between the two pads with a drop of solder. We therefore suggest that you cut the connection when you have finalised your sketch and the board has been programmed with the final version.