Ambiq Apollo4 EVB

Ambiq®, the leader in low-power System-on-Chip (SoC) solutions, has once again raised the bar with the Apollo4 SoC. With the lowest dynamic and sleep mode power on the market, the Apollo4 allows designers of next generation wearables and smart devices to take their innovative products to the next level. The Apollo4 SoC is the 4th generation system processor solution built upon Ambiq’s proprietary Subthreshold Power-Optimized Technology (SPOT®) platform. The Apollo4’s complete hardware and software solution enables the battery-powered endpoint devices of tomorrow to achieve a higher level of intelligence without sacrificing battery life.

The Apollo4 is built on the 32-bit Arm® Cortex®-M4 core with Floating Point Unit (FPU). The Apollo4 is available now in BGA packaging. With up to 2 MB of NVM and 1.8 MB of SRAM, the Apollo4 has more than enough compute and storage to handle complex algorithms and neural networks while displaying vibrant, crystal clear, and smooth graphics. If additional memory is required, an external memory is supported through Ambiq’s multi-bit SPI and eMMC interfaces. The Apollo4 is purpose-built to serve as both an application processor and a co-processor for battery-powered endpoint devices, including smart watches, children’s watches, fitness bands, animal trackers, far-field voice remotes, predictive health and maintenance, and the smart home.

Installing dependencies

To set this device up in Edge Impulse, you will need to install the following software:

Problems installing the CLI?

See the Installation and troubleshooting guide.

Plugging in the audio shield

Remove the pin header protectors on the Apollo4 Blue Plus evaluation board and carefully plug the AMA4AUD shield into the development board, paying special attention to the high-speed connector with film tape which needs to be removed before connecting the boards.

Place the microphone and audio modules onto the shield as shown in the image below and connect cables to both of the type-C connectors on the evaluation board.

Flashing

Use this pre-built image to get started by extracting the archive and choose the appropriate script for your system architecture to flash the firmware:

Connecting to Edge Impulse

Using the daemon

From a command prompt or terminal, run:

edge-impulse-daemon

This will start a wizard which will ask you to log in and choose an Edge Impulse project. If you want to switch projects run the command with --clean.

Alternatively, you can access the project API Key as shown below by navigating to the Dashboard section on the left pane of your Studio project and select the Keys tab, then click the copy/paste icon next to the API Key to copy the entire text to your clipboard, then run:

edge-impulse-daemon --api-key [paste your key here]

Connecting to Studio

Run the edge-impulse-daemon and connect to your project, you will be prompted to name your device:

That's all! Your device is now connected to Edge Impulse. To verify this, go to your Edge Impulse project, and click Devices. The device will be listed here.

Collecting data

With the device connected to Studio, you can use it to collect audio data up to 5 seconds in length for training and testing your model. Navigate to the Data acquisition tab and start collecting samples:

Daemon output during sampling:

Building a machine learning model

With everything set up you can now build your first machine learning model with these tutorials:

Example Impulse

Start by going to your Studio projects then create a new project and navigate to the Create impulse section of Impulse design, at which point you will be prompted to select your target, choose the Apollo4:

Then add the DSP block:

Then the keyword spotting learn block:

And finally save the impulse:

DSP

Now select the DSP block:

And go to Generate features:

Click the button and wait for the job to finish, when it does you'll see something like this:

Training

Select the learning block:

Then click Save & train and you'll eventually see an output like this:

Testing

Go to the Model testing section and enable int8 testing:

And run the test:

Deploying

Navigate to the Deployment section and choose the Apollo4:

Now click Build and wait for the job to finish, when it does a zip archive will be downloaded to your computer:

Flashing

See the previous section on flashing the board.

Running the impulse

You can run your impulse by using edge-impulse-run-impulse:

Troubleshooting

If you have problems with the flashing script make sure you are using USB cables with data and not just power-only cables.

Reach out to us on the forum and have fun making machine learning models on the Apollo4 from Ambiq!

Last updated