Maker.io main logo

SparkFun Edge Hookup Guide

2019-07-30 | By SparkFun Electronics

License: See Original Project Programmers

Courtesy of SparkFun

Introduction

With the SparkFun Edge Development Board, edge computing is here! You've probably heard of this latest entry to the long lineage of tech buzzwords like "IoT," "LoRa," and "cloud" before it, but what is the edge and why does it matter? The cloud is impressively powerful but all-the-time connections require power and connectivity that may not be available. Edge computing handles discrete tasks such as determining if someone said, 'start washer' and responding accordingly. The audio analysis is done at the "edge" rather than on the web. This dramatically reduces costs and complexity while limiting potential data privacy leaks.

 

So now that you've embarked upon the journey to the Edge, let's take a moment to get off on the right foot. In this hookup guide we will get familiar with the hardware available and how to connect to your computer, then we'll point you in the right direction to begin writing awesome applications using machine learning!

Required Materials

To follow along with this tutorial, you will need the following materials. You may not need everything though depending on what you have. Add it to your cart, read the guide, and adjust the cart as necessary.

SparkFun Edge Hookup Guide Wish List SparkFun Wish List

Suggested Reading

If you aren’t familiar with the following concepts, we recommend checking out these tutorials before continuing.

  • Serial Terminal Basics: This tutorial will show you how to communicate with your serial devices using a variety of terminal emulator applications.
  • Using SparkFun Edge Board with Ambiq Apollo3 SDK: We will demonstrate how to get started with your SparkFun Edge Board by setting up the toolchain on your computer, examining an example program, and using the serial uploader tool to flash the chip.

Suggested Viewing

 

Hardware Overview

Microcontroller

The Edge board uses the cutting-edge of high efficiency microcontrollers -- the Ambiq Apollo3 Blue. This small BGA package packs quite a punch!

  • 32-bit ARM Cortex-M4F processor with Direct Memory Access
  • 48MHz CPU clock, 96MHz with TurboSPOT™
  • Extremely low-power usage: 6uA/MHz
  • 1MB Flash
  • 384KB SRAM
  • Dedicated Bluetooth processor with BLE 5

1_Microcontroller

Sensors

Such a formidable microcontroller would be wasted without a suite of cool sensors to use with it - that's why we've included two microphones, a 3-axis accelerometer, and a camera connector.

Microphones

Two onboard Micro Electro-Mechanical microphones come hooked up to an operational amplifier with 75x gain to make the best use of the Apollo3's built-in 14-bit analog to digital converter. Better yet the Apollo3 can use Direct Memory Access to take audio recordings without using processor cycles - that means you can process audio while you record the next sample!

2_Microphones

Accelerometer

Dynamic interaction with the Edge is included right out of the gate with the onboard ST Microelectronics LIS2DH12 3-axis accelerometer. The accelerometer is on its very own dedicated I2C bus so there's no need to worry about address conflicts.

I3_Accelerometer

Camera Connector

At the top of the board we've included a camera connector. We've included this for use in ongoing development - preliminary stages are looking good and we hope to have this fully functional in very short order.

4_Camera

Connections

If you need anything else to complete your application, there are plenty of ways to connect to the Edge board. Among these are the FTDI UART header, a Qwiic connector, a built-in Bluetooth radio, four GPIO pins, four LEDs, and last (but not least) a CR2032 coin cell holder.

Serial UART Connection

You'll use this connector to program the Edge board, but after that you can also use it to talk to other systems that use a UART interface such as GPS or Serial LCD.

5_UART

Qwiic Connector

What's a modern answer to the age-old question 'SPI vs I2C?' Ambiq's answer is 'why not both!' so they've provided 6 'IOMaster' peripherals that can each be configured as either SPI or I2C. We've taken advantage of that fact on the Edge by exposing a fresh I2C port through a Qwiic connector, allowing you to add a chain of I2C sensors without soldering.

6_Connector

Bluetooth Radio

The Apollo3 comes with hardware support for a Bluetooth Low-Energy (BLE) radio, and the Edge board pairs that up with a surface mount antenna. The BLE controller and host can be configured to support up to eight simultaneous connections -- security and extended packet length are also supported.

7_Radio

Inputs/Outputs

If all that wasn't enough there were still more pins available on the Apollo3, so we broke them out to four LEDs and four GPIO connections along the bottom edge. These are good for addition additional simple input or output capabilities to a project.

8_Inputs

CR2032 Coin Cell Holder

To demonstrate just how efficient this microcontroller is we included a coin cell battery holder on the bottom. That means that once your application is already you can take it to school on a key-chain and show it off to your best friend!

9_holder

JTAG Connector

For anyone who wants the utmost performance out of the Edge board during the development process you can use the JTAG MIPI 10 standard 1.27mm pitch 2x5 connector to hook up your debugger/programmer.

Heads up! You should connect your JTAG programmer/debugger from the bottom (coin-cell) side of the board. Look for a small white bar in silkscreen that indicates pin 1.

Hardware Hookup

It's very easy to get started using the Edge board - all you need to do is provide power! Right off the bat you can try out the AI voice recognition by seeing the yellow LED light up for 'Yes' and the red LED light up for 'No.'

Power + Programming

Note: Due to the assembly of the SparkFun Edge, we used no-clean flux to reflow the components to the board. What does that mean? Well, it means that the boards are not washed to reduce the possibility of damaging certain components. The flux residue is inactive, so it is safe for the board. However, you will need to clean the mound of solder on the pad located under the battery connector in order to make an electrical connection. To remove, you will need a dedicated flux removing solvent and a Q-tip. An alternative to using flux remover is 91% isopropyl alcohol (IPA). With the Q-tip soaked in the solvent, carefully scrub the pad back and forth and clean with the dry tip. Avoid scrubbing at an angle to prevent mechanical stress on the battery connector. To test, grab a multimeter to test the continuity of the mound of solder for the battery's pad and the GND pin.

16_flux

15_cleaning

14_Testing

To power the board either place a charged CR2031 3V battery into the coin cell holder or plug in your USB-serial converter.

10_battery

If you want to upload new code or see what the Edge board has to say to you then you'll need to be able to read the UART pins which are broken out just above the coin cell holder. The pinout is compatible with SparkFun serial breakouts like the Serial Basic Breakout or the new Serial Basic Breakout with USB C. The ability to toggle the DTR line from USB is required for bootloading.

11_pinout

Warning! The Edge board has no onboard regulator to provide 3.3V and will be damaged if exposed to 5V. Make sure that your USB-serial bridge is set to output 3.3V power and logic. Check out the voltage selection jumper in the Serial Basic Hookup Guide.

With your chosen method of connection at hand begin making the connections with care. If you have USB-serial bridge with the compatible pinout (order DTR, RXI, TXO, VCC, CTS, GND from the perspective of the bridge) you can simply make sure that the GRN and BLK labels matchup between the bridge and the Edge board. If you are using some other way to view/send UART data, then make sure to connect the TX of the bridge to the RX of the Edge and vice-versa. Also make sure to connect GND (closest to the BLK label on the Edge) and DTR (closest to the GRN label) pins. From the bridge's perspective RXI is next to DTR and TXO is next to RXI.

Extensions

With the Edge board you can also add additional I2C sensors with the Qwiic connector and have access to four GPIO pins.

Connecting Qwiic sensors is as simple as chaining them together with Qwiic Cables and then linking that chain to the Edge board. Note, if you have many sensors (5 or more is a good rule of thumb) then you'll need to disconnect the I2C pullup resistors from a few of the boards.

The four available GPIO pins are pads 1, 3, 36, and 38 of the Apollo3. In addition to GPIO functionality some have additional special functions:

12_Table1

Warning! The GPIO of the Apollo3 are not 5V tolerant. To interface with a 5V sensor or controller use a bi-directional logic level converter.

Software Setup

The Edge board takes advantage of the cutting-edge Apollo3 Blue microcontroller from Ambiq for incredibly high efficiency which allows AI applications to run on a coin cell power source. The cost of using the latest and greatest technology is that there is no Arduino support for the chip. In order to start developing your own applications you'll need to follow along with our extensive Ambiq Apollo3 Software Development Kit Setup Guide.

13_Setup

Using SparkFun Edge Board with Ambiq Apollo3 SDK

SDK Examples

Once your SDK is set up you should be able to compile and upload the examples. Here's a short description of each one. For more details make sure to follow along with the SDK setup guide.

  • example1_edge_test demonstrates the hardware on the board including:
    • UART printing for info/debugging
    • ADC operation to sample from a microphone
    • I2C operation to control the accelerometer
    • GPIO functions
  • example2_dual_mic_dma shows how to use DMA to capture 16 kHz audio recordings from both microphones without blocking the processor. This is the basis of how audio is provided to the TensorFlow Lite demo.
  • tensorflow_demo uses a pre-trained model to identify "yes" and "no" and blink a corresponding LED on the board. Using GPIO you could easily expand this example to control a device.
  • SparkFun_Edge_Project_Template is an easy-to-use bare-bones make file project that you can copy to any directory that you like. With only a little configuration you'll be writing your very own application!

Resources and Going Further

Now that you are familiar with the hardware and setup, you should be able to start integrating the Edge Board into your projects. If you want more information on the Ambiq Apollo3 or the SparkFun Edge Board, check out some of the links below:

Below are some related links for information on setting up your development environment and working with TensorFlow:

制造商零件编号 DEV-15096
SPARKFUN SERIAL BASIC BREAKOUT -
SparkFun Electronics
制造商零件编号 PRT-14427
QWIIC CABLE - 100MM
SparkFun Electronics
制造商零件编号 GPS-15210
SPARKFUN GPS BREAKOUT - CHIP ANT
SparkFun Electronics
制造商零件编号 KIT-15081
QWIIC CABLE KIT
SparkFun Electronics
制造商零件编号 CAB-15425
CBL USB2.0 A PLUG TO C PLG 2.62'
SparkFun Electronics
制造商零件编号 LCD-16398
SPARKFUN 20X4 SERLCD - RGB BACKL
SparkFun Electronics
Add all DigiKey Parts to Cart
TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum