Ameba RTL8722 Board

The Ameba RTL8722DM IoT Development Board is based on an ARM Cortex M33 processor running at 200 MHz and an ARM Cortex M23 processor running at 20 MHz. It provides 4.5 MB RAM and 2 MB flash, and supports Wi-Fi and Bluetooth. It's available from Seeed Studio [1] or their distributors:

Ameba.jpg

Wi-Fi

The Ameba version of uLisp includes Wi-Fi extensions that make it easy to connect to a Wi-Fi network, connect to a web page, send email, run a web server, and create a soft access point.

For information about the Wi-Fi extensions see: Wi-Fi extensions.

For example programs see: Wi-Fi examples.

ARM assembler

The Ameba version of uLisp includes an ARM assembler that allows you to generate machine-code functions, integrated with Lisp, written in ARM code. The assembler itself is written in Lisp to make it easy to extend it or add new instructions.

For an overview of the ARM assembler and details of how to install it see: ARM assembler overview.

For a summary of the instructions in the ARM assembler see: ARM assembler instructions.

For example programs see: ARM assembler examples.

Performance

The Ameba RTL8722 board runs the Tak benchmark in 2.4 secs, which makes it one of the fastest platforms for running uLisp.

Installing uLisp

You can install the ARM version of uLisp on an Ameba RTL8722 board using the Arduino IDE as follows:

Note that during the five second countdown you have to hold down the UART DOWNLOAD button, press and release RESET, and then release UART DOWNLOAD, to initiate the upload. If the upload is working the red TX LED will flash.

Once the upload has completed, press RESET to run the uploaded program.

Follow the instructions in Using uLisp to interact with uLisp on the Ameba RTL8722 board.

Note that the Ameba board works at a fixed baud rate of 115200, so you need to set this baud rate in the Serial Monitor window to use uLisp.

The Ameba board writes debugging messages to the serial output at startup, and during Wi-Fi operations, and there seems to be no way to disable these.

Pin connections

RTL8722.png

Digital inputs and outputs

The Ameba RTL8722 provides 28 digital inputs or outputs accessible on the headers labelled 0 to 6 and 8 to 28.

Analogue outputs

The Ameba RTL8722 provides 13 PWM analogue outputs on pins 8 to 13, 16 to 18, 20, 21, 23, and 24.

Analogue inputs

The Ameba RTL8722 provides 7 analogue inputs on pins 0 to 2 or 18 to 21.

I2C interface

The Ameba RTL8722 provides two I2C ports. uLisp can currently only use I2C0 on pins 16 (SCL) and 17 (SDA).

SPI interfaces

The Ameba RTL8722 provides two SPI ports: SPI0 on pins 10 (CS), 11 (MOSI), 12 (MISO), and 13 (SCK), and SPI1 on pins 18 (CS), 19 (SCK), 20 (MISO), and 21 (MOSI). You can access SPI1 by specifying 1 as the 6th parameter to with-spi.

Serial interfaces

The Ameba RTL8722 provides four serial interfaces. The Arduino core supports Serial0, Serial1, and Serial2.

Wi-Fi extensions

The Ameba RTL8722 supports all the Wi-Fi extensions to uLisp. For reference see Wi-Fi extensions, and for examples see Wi-Fi examples.


  1. ^ Ameba RTL8722DM IoT Development Board on Seeed Studio.