Satellite Chocolate Board

The Satellite Chocolate board is a general-purpose microcontroller and complex programmable logic device (CPLD) board that I am developing. It is USB-powered and controllable, and can charge and use a single-cell rechargeable Lithium-Polymer battery. The board uses an Atmel SAM4S microcontroller for control of the board. At least 45 general-purpose input/output lines (GPIOs) are available for use along with a wide range of on-chip peripherals. The board includes five bright colour (RGB) LEDs for general-purpose status indication, plus a red power-indicator LED. It includes an infrared transmitter and receiver. There are four on-board buttons. An on-board flash IC is included. There is an on-board temperature sensor, light sensor, and battery level sensor. A MAX V CPLD provides routing for microcontroller, board, and user signals.

The board is supported by the Satellite System, which consists of tools and a library that allow images to be created and flashed to the Chocolate board. The system includes an interface library for communicating with the board over USB.

Pictured here is the latest development prototype (Chocolate version 0.2):


What is it?

The Chocolate board is a microcontroller development board with a CPLD and a number of colour LEDs, peripherals, and sensors. It can use an optional rechargeable battery, and has USB connectivity.

A microcontroller (MCU) is essentially a small computer that contains a processor, RAM, flash (for programs) all on one chip. Unlike a computer, a microcontroller usually runs without an operating system and is often dedicated to a fixed task. You can write programs for a microcontroller, then flash them to the chip through a programming interface, which stores them on the board. These programs then run on the board. The Chocolate board contains a SAM4S microcontroller, which is a very capable ARM microcontroller with a lot of useful features.

A Complex Programmable Logic Device (CPLD) is a reprogrammable device that can do clever things with logic signals. The Chocolate board uses a MAX V CPLD, which is a very capable device for the price. It is connected to the SAM4S microcontroller by selected lines and can perform additional processing on signals going to or from the microcontroller, as well as producing its own signals and managing the other components on the board. The Chocolate board comes with a default CPLD image that manages the on-board components for you, but you can optionally program your own.

The Chocolate board has USB connectivity. It can communicate with a computer over USB. Combined with the microcontroller and CPLD, this lets you turn the Chocolate board into what is essentially a custom intelligent USB device of your own creation. A library is included for communicating with the board over USB from a computer.

When writing software for the board, you can use use all of the sensors, buttons, LEDs, and other peripherals on the board. You can also add other electronic components to the board using the board headers. A varied range of peripherals are included with the SAM4S microcontroller that will allow you to communicate with a wide range of electronic components. There are a large number of general-purpose input/output (GPIO) lines (at least 45) available on the microcontroller, accessible via the board headers. There is plenty of capacity to add multiple electronic components to the board.

The Satellite System greatly helps with the development of software for the board, allowing you to write programs that can use board components and communicate over USB with as little as one line of code.

You can optionally use a rechargeable Lithium-Polymer battery (a type of rechargeable battery that is typically small and flat) with the board. The battery will be charged whilst the board is plugged into a powered USB port. This might be via a computer, a USB hub, or a USB device charger. The board will continue to run on battery power when disconnected from USB until the battery runs low. This lets you create a USB-based device that can be left to run on its own, then docked periodically for charging and data transfer; or a device that you can remove periodically to later return back to its regular home.

What can I do with it?

Here are some things that you could create with the board:


The Chocolate board provides:


Sound interesting? Please read on using the navigation link below and to the right ("One-Minute LED Blinker") or the navigation links at the top of this page ("Blinker", goes to the same page).

One-Minute LED Blinker >
^ Overview ^

Garth is generally available for part-time, casual, and full-time appointments, ad-hoc, short-term or long-term. Click here for further information, or here for Garth's contact details.