Average Ticker

The Sony Spresense

Sony SpresenseThe Sony Spresense: GPS and high-resolution audio in a familiar format. Interesting.

It’s not often that big-name household brands enter the maker market. The last one I can think of was Asus with its Tinker Board (and there are mixed opinions on how successful that was…).

So imagine my surprise when I received an email from an agency working on behalf of one of the biggest names in tech, asking if I’d like to check out their new board?!

Why? Well, Sony have released a new low-power development board called the Spresense, which kind of sits in a similar market as the Arduino, but with some unique features which set it apart.

They sent me one to have a look at, so of course I’m sharing my experience right here.

Spresense Extension board

The extension board sports the classic Arduino Uno shape and pin spacing

Unboxing

Let’s do the usual 60-second unboxing to give you an idea of what’s included in the box:

Sony Spresense – What is it?

So this is the Spresense – in a nutshell it’s a low-power development board boasting GPS, high-resolution audio and a camera interface.

At the time of writing RS Components have these listed at around £44 (inc VAT).

Spresense main board

The Spresense main board. You get a lot more out of it with the optional extension board.

It offers all the usual ingredients we see on the majority of dev boards – GPIO, SPI, UART and I2S to name a few. However unlike most new boards I’ve seen recently, the Spresense doesn’t come with WiFi or Bluetooth – that could be a real deal breaker for some.

It’s been released alongside an optional extension board (around £32 from RS) which, as you can probably already see, has Arduino Uno shield compatibility. The extension board also breaks out a 3.5mm jack audio connection, pins for adding a microphone, pads for speaker connections and an SD card slot for storage.

Spresense Extension Board

The extension board is optional but kind of essential if you want to make the most of the Spresense

I know, we’re all doing the same thing right now – sizing up the Spresense against the Arduino, Raspberry Pi and other familiar favourites!

What grabs my attention is the on-board functionality that’s usually only available as an add-on for most dev boards on the market:

  • GPS is included – it’s on board and ready to go, including a chip antenna.
  • High-resolution audio output – 192kHz/24 bit audio codec and amplifier for audio output (+ speaker and microphone support)

Question is, how easy is it to use? Let’s find out…

Spresense, Raspberry Pi Zero and Arduino Nano

Always use the right tool for the job – but which job is the Spresense best at?

Spresense Setup

As a non-professional maker/programmer, I need to know how easy it is to get set up and what resources are available.

I’ve seen lots of new dev boards fail to gain popularity because they simply don’t make it easy to use – or don’t explain it well enough.

Hardware Setup

The Spresense conveniently comes ready to use out of the bag – well, almost.

I missed a section in the support guide which tells you to fit a shading seal on the top of the main board, otherwise the board might malfunction. This was after I took a whole bunch of photos under a 130-LED photography light – whoops! (I think it survived)

It’s just a bit of tape that you stick on top of the board – not a chore by any means – I’ve just not seen that before.

Spresense shading seal

Tape has to be added to the board. I’d expect such a vital step to be completed in the factory.

Powering Up

Powering the board is simple and convenient – it just needs a 5V micro-USB connection like the majority of similar boards on the market.

I’m glad it uses the current standard as it means most of us will have USB cables already in good supply at home. I’m using the Spresense extension board, so I plugged in to that and the main board’s blue light fired up.

Spresense blue LED

The Spresense shows a single blue LED when powered. I couldn’t see any Arduino-style activity light.

Software

There are two options on the table here – the Arduino IDE or the Spresense SDK.

I’m instantly comforted by the fact that the Spresense can be programmed by the Arduino IDE, especially as it states that many existing sketches can be used. Being able to bring over existing knowledge and code is a massive win.

Note: the ‘Spresense SDK’ is Sony’s development environment for the CXD5602 chip, but I’m not about to try and learn yet another environment whilst I still haven’t mastered the ones I do know!

Installing USB drivers

The Spresense Arduino guide tells me to install the provided USB drivers (I’m on Windows 10). Windows can be a pig with USB drivers, but to my surprise everything worked fine for me. A positive start from the new Sony product.

Arduino Library

The guide then instructs me to install the Spresense Arduino library. I opt for the super simple board manager method – it installs just like any other, without any issues.

I then go to the Arduino board manager, search for ‘Spresense’ and install the boards. Still no issues yet – I’m impressed so far.

Spresense Arduino Setup

The Arduino set up ‘just works’. That’s how we like it.

Burning a bootloader

I wasn’t used to this, as any Arduino-style boards I’ve used in the past haven’t required this step. Regardless, it was a quick and easy process.

The only hiccup I experienced was getting the IDE to find my board’s port number. The guide doesn’t tell you to restart your PC after installing the USB drivers, but my experience with Windows drivers quickly identified this as the issue. After I rebooted my Spresense, the COM port was showing.

I followed the guide’s settings and selected ‘Burn Bootloader’, then followed the EULA steps to complete the burn:

Spresense EULA

The bootloader requires you to read and accept an EULA

Blink!

Time to see if the setup worked. Everyone knows it’s the law to test any new board with the blink sketch!

The Spresense actually has 4 LEDs on the board to play with, and Sony provide some code to use those LEDs as a test:

void setup() {
    pinMode(LED0, OUTPUT);
    pinMode(LED1, OUTPUT);
    pinMode(LED2, OUTPUT);
    pinMode(LED3, OUTPUT);
}

void loop() {
    digitalWrite(LED0, HIGH);
    delay(100);
    digitalWrite(LED1, HIGH);
    delay(100);
    digitalWrite(LED2, HIGH);
    delay(100);
    digitalWrite(LED3, HIGH);
    delay(1000);

    digitalWrite(LED0, LOW);
    delay(100);
    digitalWrite(LED1, LOW);
    delay(100);
    digitalWrite(LED2, LOW);
    delay(100);
    digitalWrite(LED3, LOW);
    delay(1000);
}

Success! It worked:

Spresense LEDs

The Spresense has no less than 4 on-board LEDs

Many boards I’ve tried in the past have failed miserably on the setup side of things, but the Sony offering impresses here.

So it’s confirmed: the Spresense is very easy to set up, especially for those of us who have used the Arduino IDE previously. It works out of the box and the user guide is both detailed and accurate.

Now let’s dig a little deeper…

Using the key features

As a casual maker, I tend to default to my Arduino Nano or Wemos boards for the majority of my projects, as most of the time I’m just playing with GPIO pins.

It’s the unique features of a board which will attract me to adopt it as my ‘go to’. For example, after I discovered the Wemos D1 Mini with its built-in WiFi, I now use that a lot more than my Arduino Nano.

So what is the Spresense offering over and above the many other available options, and how easy is it to use those features?

High-Resolution audio

A DAC and amp built into a development board? Now there’s a cool feature, kind of…

Headphone Jack

If you want to use the extension board’s 3.5mm jack to output audio to headphones or your own speakers, that works well.

You can load up an SD card with music and make a small low-power project based around that. An Arduino-like board with that ability included is rare, so it’s a nice feature from Sony.

There are some requirements on your music files around MP3 tags (no images or large data fields), but nothing too taxing.

Spresense Extension board jack

The on-board DAC, 3.5mm jack and Micro SD port are key ingredients for exciting audio projects

Speakers

However, the headline specification lead me to believe you could power speakers from this thing, which really excited me. You can do this, but there’s a catch…

If you were expecting to find a couple of simple speaker wire terminals and the ability to quickly crank out your tunes, you’ll be disappointed.

It’s simply not possible without advanced soldering skills, because if you want to connect speakers, you have to replace super tiny SMD components on the main board with different ones (which you also need to source yourself).

I don’t know about you, but I can’t even solder SMD at this size, let alone replace components. Look how tiny they are:

Spresense speaker components

You’ll have to mess about with these tiny components if you want to power speakers from the Spresense

Maybe I’m asking too much from this product? Or maybe they should down-play the ability to add speakers, as it’s essentially a hack to use that feature?

GPS

Let’s have a quick look at GPS as well, as it’s the other big feature that seems like a unique offering from the Spresense.

Antennas

The good news is that it has a ‘chip antenna’ on the board, which means you don’t have to add any additional hardware to start positioning your project with GPS.

For most of us average makers, the chip antenna will be perfectly suitable for our projects.

Spresense GNSS chip

The Spresense includes a chip antenna for GPS (the long white bar above the Sony logo)

If you do want to add an external antenna for better performance, you’ll have to solder a uFL connector to the pads just below the Sony logo in the image above.

Code

Luckily Sony have included example scripts in their Arduino library to help get us up and running. There are two to choose from – a simple GNSS info script, and a tracker script which makes use of an SD card for logging position data.

I had a quick go of the simple GNSS script to see if it worked. You simply upload the script to your Spresense, wait a few seconds and then fire up the serial monitor.

Here’s what I saw:

Spresense NGSS Serial Monitor

Nope…nope….nope….nope…nope….nope….FOUND ME!

As you can see, it didn’t always locate me, but you can see the data showing when it did. Maybe the lack of a positioning fix was due to me being indoors?

So it works – but I need to educate myself on what to do with that data within a project.

Summary & Conclusion

So how would I summarise my overall experience so far with the Spresense?

What I liked

  • Setup was easy and fast
  • 5V Micro-USB power – we’ve all got those cables to hand
  • There’s a good amount of detailed documentation and support resources
  • The familiar Arduino IDE for programming (and sample scripts)
  • Arduino shield format/compatibility with the extension board
  • Interesting features: GPS and high-resolution audio amplifier
  • SD slot for storage

What I didn’t like

  • The need to solder/de-solder tiny SMD components to use the key features to their fullest
  • The heavy reliance on the extension board to make the most of the key features
  • No WiFi (yet marketed as a board for the IoT)
  • No Bluetooth (despite my lack of love for Bluetooth)

    Spresense boxes

    Who is the Spresense best suited for?

Who’s it for?

I can see the more advanced makers and programmers getting a lot out of this board.

If you’ve got SMD soldering experience and you’re handy with programming, I can really see the potential in this thing – especially with audio projects. They’ll also likely make good use of the generous flash memory and faster processor (than Arduino), real-time clock and everything else this board has to offer.

Should a beginner buy this board? Maybe – it depends on your ambition. If you just want to fire up the Arduino IDE and start playing with LEDs and sensors, it’s overkill. If you plan to really get to grips with C programming and your end goal is a cool audio project – go for it!

I think the Spresense is ideally for people who have already broken out of beginner status – and that’s not a bad thing. We need products for the higher levels of maker, and this is one of them.

Rich

Be the first to comment on "The Sony Spresense"

Leave a comment

Your email address will not be published.


*


This website uses cookies. Please visit our privacy policy page for more information. Privacy policy

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close