Posts | Comments

Planet Arduino

Archive for the ‘Nano BLE’ Category

The Nano 33 BLE is one of our most popular boards, and for good reason. It’s small and 3.3-V-compatible; it comes with an embedded nine-axis IMU featuring accelerometer, gyroscope and magnetometer; it has a powerful processor; it offers a powerful Bluetooth® Low Energy module with an internal antenna that can be used to transmit data between different devices using the ArduinoBLE library; and it can be programmed with MicroPython. 

It’s basically everything you need for projects that span from wearable to advanced robotics. 

So, why work on making it better?

Because we listen to our community, that’s why. And based on your requests, we’ve come up with improvements to enhance your experience with a revised iteration of the Arduino Nano 33 BLE with a newly integrated IMU to expand experimentation possibilities, and a streamlined PCB design to grant easy access to essential features.

And here is exactly what you can find in the new Rev2, compared to its predecessor:

  • It has a combination of two IMUs (BMI270 six-axis IMU plus BMM150 three-axis IMU) instead of a single, nine-axis one.
  • While retaining the compact form factor, the new Nano 33 BLE Rev2 incorporates new pads and test points for USB, SWDIO, and SWCLK, making it easier to access these crucial points on the board.
  • We introduced a new VUSB soldering jumper on the top side, allowing you to conveniently enable the VUSB pin while using the castellated pins.
  • In addition, the Nano 33 BLE Rev2 transitions the power supply component to the MP2322 to guarantee increased performance. 

These updates collectively contribute to a more streamlined and robust device, ready for you to test and build just about any IoT project – and more. For example, the Nano 33 BLE Rev2 is still ideal to control RGB LEDs over Bluetooth®, using an app on your phone, and supports OpenMV’s fork of MicroPython

If you already know the Nano 33 BLE from its first revision, you can easily migrate your sketches to use them with the new and improved version: if you need help, just follow our dedicated tutorial.

After the launch of the Nano ESP32 earlier this year, it’s the perfect addition to the “tiny footprint, mighty features” family that has proven time and time again that we can ramp up features and performance while scaling down size. Don’t believe us? Check out the classic Arduino Nano or upgrade to the Nano 33 BLE Sense Rev2 if you want to include a complete set of sensors, too. 

For full tech specs, tutorials and inspiration on the Nano 33 BLE Rev2, head to the dedicated Arduino Docs page. Ready to get your own? The Nano 33 BLE with headers and without headers are now available on our Store.

The post Not bigger, just better: Introducing the Nano 33 BLE Rev2 appeared first on Arduino Blog.

This post is from Martino Facchin, who is in charge of the firmware development team at Arduino. Hopefully this is the first of a series of posts describing the inner workings of what we do.

The new, shiny and tiny Nano 33 BLE and Nano 33 BLE Sense are on their way to becoming a serious threat to any hacker’s summer vacation. (I’d recommend spending a couple of days at the lake or beach anyway despite the board’s awesomeness!)

Quoting Sir Isaac Newton (who walked the same streets of Cambridge, UK that the Arm engineers use to get to work everyday), starting from scratch is not always a clever idea. Tens of thousands of man-hours have been spent since the beginning of computer science to reinvent the wheel, sometimes with great results, other times just bringing more fragmentation and confusion.

Since we didn’t have an official Arduino core for the Nordic nRF52840 Cortex-M4 microcontroller, which the Nano 33 BLE and Nano BLE Sense are based upon, we took a look at the various alternatives:

  • Using Nordic softdevice infrastructure
  • Writing a core from scratch
  • Using Mbed OS as a foundation

Option one looks juicy but clashes with a cornerstone of Arduino: open-source software. In fact, softdevice’s closed source approach limits the user’s freedom.

Option two would take a lot of burden on our shoulders for a single board, making the core not very reusable.

So, we went to option three: basing the core on Mbed OS foundation, sharing its drivers and libraries.

As many of you may know, Mbed is a fully preemptive RTOS (real-time operating system), meaning you can run multiple “programs” (more specifically, threads) at the same time, much like what happens in your notebook or smartphone. At Arduino, we have been looking for an RTOS to use on our more advanced boards for a long time but we never found something we liked until we started working with the Mbed OS. Programming an RTOS is usually quite complicated (every university grade course on operating systems will be full of frightening terms like ‘mutex’ and ‘starvation’), but you don’t have to worry if you just want to use it as an Arduino; setup() and loop() are in their usual place, and nobody will mess with your program while it’s running.

But if you want to do MORE, all Mbed infrastructure is there, hidden under the mbed:: namespace. As a side effect of reusing its drivers, we can now support every Mbed board in Arduino with minimal to no effort. Plus, the structure of the core allows any Mbed developer to use Arduino functions and libraries, simply by prepending arduino:: before the actual function call.

Mbed also supports tickless mode; in this way, every time you write delay() in your code, the board will try to go in low power modes, knowing exactly when to wake up for the next scheduled event (or any external interrupt). We are able to achieve an impressive 4.5uA of lower consumption while running a plain old Blink on the Nano 33 BLE (a minimal hardware modification is needed to obtain this value but another blog post is coming). As for Bluetooth support, you can start creating your BLE devices today using the wonderful https://github.com/arduino-libraries/ArduinoBLE but we support plain Cordio APIs as well, in case you need features not yet available in Arduino BLE.

And of course, it’s all open-source! 

If you just want to make awesome projects with its plethora of onboard sensors, fire up your Arduino IDE, open the board manager and search for Nano 33 BLE; one click and you are ready to go! 

If you want to hack the core, add another Mbed board or merely take a look, your next entry point is the GitHub repo. Don’t be shy if you find a bug or have a suggestion; we love our community, and will try to be as responsive as possible. 



  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook