Spresense Header CodeSpresense Header Code

Edge computing with low power consumption

The Spresense development board enables edge solutions with high computing ability and low power consumption.

FAQ

General

What is Spresense?

A single-board development kit equipped with Sony chipsets CXD5602 & CXD5247 microcomputer for IoT application. It features Global Navigation Satellite Systems (GNSS), high resolution audio playback and recording, and six low power consumption application processor cores.

How can I use Spresense?

By combining different communication modules and/or sensor modules, you can create IoT system prototypes. As the board contains a low power consumption high performance capable chipset, you can prototype high performance IoT system for mobile applications.

How do I supply power to Spresense?

Please use the micro USB port on the main board to supply 5V power into Spresense. Please refer to Spresense Hardware for more details.

What are the supported development tools for Spresense?

Arduino IDE, Eclipse IDE, and a development environment in the console. Please refer to Software Overview for more information.

What is the development language for programming Spresense?

C ++ language and C language are supported.

What OS is used in Spresense?

NuttX Real-Time Operating System is adopted. If you are using the Arduino IDE for development, you do not need to be aware of the underlying OS.

Is it possible to run Linux on Spresense?

It is not possible to run Linux. NuttX has features familiar to Linux users.

Is there connectivity functionality on Spresense?

Connectivity options are not present by default. By using the Spresense Add-on board or Arduino shield, you can add connectivity capabilities. Please check the Extension Options section on Spresense Developer World website for information and where to buy.

What sensors are available for Spresense?

Spresense main board comes with a GNSS sensor and support for 8 microphone inputs making it possible to create an acoustic sensor. With the use of Spresense Add-on board or Arduino shield, other sensors can be connected.

Can I connect a camera to Spresense?

A dedicated camera module is available.

Where can I buy Spresense?

Please check the Spresense distributors webpage.

Are there project kits for Spresense?

There are no plans for such kits from Sony. Our distributors may produce such kits. You can find their contact details from Spresense distributors webpage.

Troubleshooting

Why does the PC not recognize Spresense when connecting to the serial port?

Please check for the following:

  • Is the cable connected to the correct USB connector?

    The cable should be connected to the USB connector on the Spresense main board. If the connection works, the LED on the main board will be lighted. There is a USB connector on both the Spresense main board and the Spresense extension board. The one on the main board is used for serial port connections.

  • Is the serial driver installed?

    Please download and install the suitable Spresense serial driver from here. More installation information can be found in: Spresense Arduino Library Getting Started Guide

  • Is the USB connection faulty?

    Please test the connection by plugging in and out the USB cable. If the PC does not recognize the board, use another cable.

I can’t upload Arduino IDE sketch.

Please check for the following:

  • Is the serial port connection correctly set up?

    Set up the connection by following the instructions on Spresense Arduino Library Getting Started Guide.

  • Is the board set to "Spresense" in the Arduino IDE?

    Set the board setting in Arduino IDE to "Spresense". Please refer to Spresense Arduino Library Getting Started Guide for the detailed instructions.

  • Is the serial driver installed?

    Please download and install the suitable Spresense serial driver from here. More installation information can be found in: Spresense Arduino Library Getting Started Guide

  • Have you tried resetting the board?

    If you are using an unsuitable serial driver, the upload may not start unless you press the reset button. If upload does not start, try to reset the board. To avoid this issue, re-install the appropriate driver from here.

  • Is the USB cable connection faulty?

    USB cable contact failure may cause upload to fail. Please unplug and plug in the USB cable, ensuring it is properly plugged into the USB connector on the PC and Spresense, before trying to do the upload again. Please refer to the Spresense Arduino Library Getting Started Guide for the detailed instructions.

  • Are you using the highest possible upload speed setting?

    It is possible the highest possible upload speed setting is not compatible for use with your PC. Please change to a lower baud rate and try again.

I get a validation error in the Arduino IDE although the code is not wrong.

Please check for the following:

  • Do you have copies of .ino files in the sketch folder?

    If there is an .ino file with the same content in the sketch folder, a double definition will cause a validation error. This is most common when trying to save a file for backup. Please move the backup file to a different directory or delete it.

  • Try to compile again by pushing the verify button.

    Re-compilation must complete without problems.

  • Is the serial port connection correctly set up?

    If the serial port is not specified, a validation error may appear to have occurred. Please refer to Spresense Arduino Library Getting Started Guide for the correct serial port settings to use.

I encountered an error while installing Spresense Arduino board package.

  • If you had installed Spresense Arduino board package using manual installation method

    The error message below may appear. Please remove the Spresense Arduino board package files from the Arduino15 folder and try the installation procedure. You will not be able to install Spresense Arduino board package through Arduino IDE Boards Manager as the system may not be able to remove the installed files.

    Could not find boards.txt in <Arduino15 root path>\packages\SPRESENSE\hardware\spresense\1.0.0. Is it pre-1.5?
  • If you have been editing Spresense Arduino board package files

    You will see the following error message when the Arduino IDE is not able to remove those files. Please remove the files from the Arduino15 folder or exit edit mode for those files, and try the installation procedure.

    Could not find boards.txt in <Arduino15 root path>\packages\SPRESENSE\hardware\spresense\1.0.0. Is it pre-1.5?

Why do I see a "Welcome to nash…​" message?

If you see the message "Welcome to nash (build xxxxxxx) updater#" on the serial console with 115200 baud rate, it means the boot loader is missing.. Please re-install the boot loader as described in the Install Bootloader for Arduino IDE or Flashing bootloader for Spresense SDK.

Why do I see a "D>" message?

If you see the message "D>" on the serial console with 115200 baud rate, it means some files in the flash memory may be corrupted unexpectedly. Please download the recovery tool from Recovery tool download page. You can use this tool to restore the board to the factory reset state. See the README in the downloaded ZIP file for instructions to use.

All data in flash memory will be erased. After running the recovery tool, please install boot loader again as described in section Install Bootloader for Arduino IDE or Flashing bootloader for Spresense SDK.

Why are functions like the micro sd card and audio on the extension board not working as expected?

  • Is the main board and the extension board B-2-B connector properly engaged?

    It is possible that the B-2-B connector on the main and extension board is not properly engaged. If this is the case, it is necessary to pinch the main and the extension boards together with light force.

Why is Spresense SW unable to access the micro SD card?

Please check for the following:

  • Is the micro SD card formatted to FAT32?

    Spresense SW is only able to handle FAT32 file formats. Please check the micro SD card format.

  • Have you partitioned the micro SD card into multiple partitions?

    Spresense SW does not support multi-partitioned file systems. Please use a micro SD card with a single partition formatted to FAT32.

Why is Spresense unable to get GNSS location information?

Please check for the following:

  • It takes time to measure the location after turning on the power supply.

    Immediately after turning on the power supply, it takes time to complement the number of satellites required for positioning because it starts by searching for the satellites. Depending on the environment, please wait for about 1 to 3 minutes until the positioning is completed.

  • Is the Spresense board placed in a location where there is no clear line-of-sight to satellites?

    For best performance, place the board in areas where there are no or little obstructions to the sky.

  • Is a light shielding seal fitted?

    If the light shielding seal is not fitted to the predetermined place, there is a possibility of malfunction due to strong light such as sunlight. Please refer to How to fit a shading seal on the main board and fit a light shielding seal to the predetermined position.

  • Can I use the audio playback and GNSS functionality at the same time?

    It is possible that getting GNSS location information may take longer when audio playback is ongoing. Also, please try to place the board in areas where there are no or little obstructions to the sky.

Why does audio file playback fail?

Please check for the following:

  • Did you install a DSP binary?

    In order to playback audio, you have to install a DSP binary. Please refer to Audio Library for available binaries and instructions.

  • Is the audio file format a supported format?

    The supported audio file formats are WAV and MP3.

  • Is the sampling rate set correctly?

    A wrong sampling rate will cause playback to fail. Please specify AS_SAMPLINGRATE_AUTO if you do not know the sampling rate. Please take a look at Spresense audio player sample sketches for reference.

I am having trouble using the recording function.

Please check for the following:

  • Have you connected the microphone correctly?

    You can connect a wide range of analog and digital microphones. For types and the connection method of the microphone, please refer to How to use microphones.

  • Did you install a DSP binary?

    In order to record audio, you have to install a DSP binary. Please refer to Audio Library for available binaries and instructions.

The Arduino shield attached to extension board operating at 5V I/O voltage does not work.

  • Is the micro USB cable that is used to power the board too long or too thin?

    The voltage supplied from the micro USB connector may already have dropped significantly from 5V. Please try with another type of micro USB cable.

About Spresense main board

What can I use the Spresense main board for?

Spresense main board has a positioning function and an antenna for capturing GPS satellites. You can easily make prototype GPS tracker using the on board GNSS. In addition, the pin socket is equipped with I2S, UART, SPI, I2C, AIN to add audio related LSI, communication module and sensor module, so we can prototype the IoT system relatively easily with a small size.

What is the IO voltage on the main board pin socket?

The IO voltage of the digital pin is 1.8V. The voltage range on the analog inputs is 0-0.7V.

What is the IO voltage on the extension board pin socket?

The IO voltage of the digital pin is selectable, 3.3V or 5V. The analog input pin is 0-5V.

What type of USB connector is used?

The board supports micro USB (2.0) micro B connector.

Where can I find the board reset button?

The reset button is shown in this image.

Do I need to connect a GPS antenna?

The main board has a GPS antenna installed, so it is not necessary to attach a separate antenna.

Can I use the audio function?

If you want to enjoy the audio function easily, please consider purchasing Spresense extension board which provides an analogue audio interface.

Will Sony sell an enclosure/housing for the Spresense main board?

There are no plans to sell this.

What is the power consumption of the Spresense main board?

Without any other connected parts, the power consumption when executing the Arduino GNSS sample code is approximately 20 mA at 5V which is 100mW.

About the Spresense extension board

What can I do with the Spresense extension board ?

Spresense extension board only works with Spresense main board. It is a breakout board making it easy to use the audio function, SD card and 5V/3.3V IO.

Do I need to supply power to the Spresense extension board?

It is enough to power one of the boards, main board or extension board to be able to use them both together.

What is the IO voltage on pin socket?

It is possible to use 3.3V or 5V on the JP1 pin socket. The analog input pin is fixed at 5V. Please refer to Extension board for more information.

What kind of microphone can be attached?

You can connect a wide range of analog and digital microphones. For types and the connection method of the microphone, please refer to How to use microphones.

Can I connect an Arduino Shield?

Arduino shields with a physical protrusion at the location shown in the picture will interfere with the main board. Please use shields that do not have this protrusion.

ArduinoShieldConfliction
Figure 1. Arduino shields with a physical protrusion

What is the difference compared with Arduino Uno?

What is the input/output current on the main board GPIO?

Maximum output is about 6mA and the sink current is about 6mA.

Can I output audio to speakers?

Can use the power supplied type active speaker via the headphone connector.

What can I use the extension board USB function for?

The Mass Storage Class (MSC) is supported. For example, you can access SD card and eMMC on the add-on board from the PC. It is necessary to specify explicitly which USB configuration to use when the option is presented on the PC. It is not possible to access Spresense program if you use that storage on PC and MSC. For more information please refer to the SDHCI Library.

What is the power consumption when using both Spresense main board and extension board?

The power consumption when playing an MP3 file from the SD card is approximately 60 mA at 5V which is 300mW. The example application used for this test is the audio player Arduino sketch app.

About Arduino IDE

What is Arduino IDE?

It is an open source program development environment provided by Arduino. Please refer to Download the Arduino IDE for more information.

What should I do to program Spresense with Arduino IDE?

Please refer to Spresense Arduino Library Getting Started Guide for more information.

How can I use Arduino API or Arduino Library to program Spresense?

Please refer to Spresense Software for more information.

Can I do multi-core programming with Arduino IDE?

Multi-core programming functionality is not available in Arduino IDE. Please use the Spresense SDK.

Can I use interrupts with Arduino IDE?

Interrupts are supported for digital pins and a timer. Please refer to Spresense Arduino Library Developer Guide and note that Arduino language interrupts function behave slightly differently on Spresense and Arduino Uno.

How do I develop an application that uses the positioning function of Spresense with Arduino IDE?

Please take a look at Spresense GNSS sample sketch for more details.

How do I develop an application that uses the audio function of Spresense with Arduino IDE?

You can test the application described in Audio Library and modify it for your needs.

About the Spresense SDK

What can I do with the Spresense SDK?

The Spresense SDK is a development kit that can directly access the Spresense hardware resources. With utilizing multi-core programming, disabling the unused hardware resources and power saving mode, memory saving and power saving design become possible.

How do I set up the development environment to use Spresense SDK?

Where can I find the sample programs and details on the Spresense SDK?

About GNSS positioning function

What is the positioning function on Spresense?

It is a low power multi-GNSS function where the receiver locks on to multiple GPS and GLONASS positioning satellites at the same time. The positioning accuracy is high compared to a GPS-only receiver due to synchronization and locking to a larger number of satellites.

How can I use the positioning function on Spresense?

There is an API for this in the Spresense Arduino Library and Spresense SDK. Please refer to Spresense Software for more information.

Does Spresense provide NMEA output?

It is possible to retrieve NMEA output. Please refer to File →Examples for SPRESENSE → GNSS → gnss_tracker for more details.

About the audio function

What types of audio file formats are supported for playback?

WAV and MP3 formats are supported.

What are the supported audio file sampling rate and resolution for playback?

You can specify 44.1kHz/24 bits, 48 kHz/24 bits, 96kHz/24 bits, 192kHz/24 bits.

How can I record audio in high resolution?

Please look at File →Examples for SPRESENSE →Audio →application → recorder to see how high resolution audio recording can be done.

Is it possible to use noise cancellation and beam forming?

There is no plan to offer noise cancellation and beam forming software.

About multi-core processor functionality

Where can I find more information to develop programs using the multi-core processor functionality?

Please refer to Spresense ASMP Framework.

Where can I find code samples to use the multi-core processor functionality?

About the battery

What kind of battery can I use on Spresense?

Please use a USB battery pack that has a low minimum requirement on the input current such as "CP-V5B","CP-V10B","CP-VC10" from Sony. The reason is some batteries may shutdown the power supply because of the low power consumption of Spresense board.

Can I use a Lipo battery?

The use of Lipo battery is not recommended.

Is it possible to charge the battery?

Battery charging function is not supported.

About the Spresense Add-on board

What is the Spresense Add-on board?

This is a compact functional board that can be mounted on the Spresense main board pin socket to expand Spresense capabilities.

Where can I purchase Spresense add-on board?

Please check the Extension Options section on Spresense Developer World website for information and links to purchase.

About the source code for Spresense

Where can I find the source code for Spresense?

The source code is available in public. Please refer to Repository overview for the details.

Where can I find the Spresense source code license?

Please look at the LICENCE files in the respective Spresense GitHub repositories.

How can I make contributions to the Spresense source code?

Please look at the CONTRIBUTING files in the respective Spresense GitHub repositories.

About the circuit diagrams for Spresense

Where can I find the circuit diagrams?

The circuit diagrams are available to the public at Spresense Hardware Documents.

Can I use the circuit diagrams?

It is available under the CC BY-SA license stipulated in Creative Commons License.

About Spresense SoC (CXD5602/CXD5247)

Can I purchase CXD5602/CXD5247?

Small volume sales through distributors are not supported. If you are interested in large commercial applications, please use the Contact inquiry form.

Where can I find the data sheets for CXD5602 & CXD5247?