The ImageCraft JumpStart Microbox Education Kit is a set of hardware and software tools to teach C and Cortex-M embedded programming.

In essence, it's an Arduino compatible shield, an STMicro Nucleo dev board, a C book, an IDE, a compiler and libraries.

 

In this blog series I'm trying to find out if it's more then just an existing 3rd party dev board paired with a shield. And if (and how) this kit can turn you into an embedded programmer.

 

In the previous chapters, I previewed the kit.

For this one, I'm going to review the one of the kit's parts in more detail: The shield with peripherals that comes with it.

 

ACE (Arduino Compatible Education) Shield

 

ImageCraft calls their PCB with peripherals the Arduino Compatible Education Shield. There's a wealth of hardware on the board.

 

From the product page:

 

ACE™ (Arduino Compatible Education) Shield

 

The expansion hardware for the JumpStart MicroBox is provided as an Arduino-type shield. It is a “kitchen sink” design intended especially (though not exclusively) to be suitable for educational use. The following features are included on this shield (the MCU peripheral functions used are listed in parentheses):


  • 8x8 LED matrix (I2C)
  • 2 line OLED (GPIO)
  • RTC module with battery (I2C)
  • Serial EEPROM (I2C)
  • Micro-SD card (SPI)
  • Thermistor temperature sensor (ADC)
  • Optical Light Sensor (ADC)
  • 2 wires output to drive a small speaker (DAC)
  • Atmel Crypto chip (I2C)
  • Two user buttons (GPIO)

 

Communication over the USART is accomplished through the  ST-LINK/V2ST-LINK/V2 VCOM port With these peripherals all major features of the STM32F030(except USB and CAN can be exercised

 

 

ImageCraft ACE Arduino Compatible Education Shield

 

The schematics of the shield are available from ImageCraft. It's a well structured document, not hard at all to understand.


LED matrix and I2C IO Port expander

 

The shield uses a MAXIM MAX7311 I2C IO port expander to drive an 8-by-8 LED matrix.

It's a smart move to put an expander on the shield. It's something that is commonly used in embedded designs to increase the number of available input/outputs.

Designs are also using expanders when the I/Os are required on a different PCB, or when the distance between the microcontroller  and the I/Os is far away or hard to route.

The expander used on the shield uses I2C for communication with the controller. It acts as a slave, and is connected to the ARM's SDA and SCL I2C pins.

We get an extra 16 I/O lines (5V tolerant) - in our case they are driving the LED matrix rows and columns.

 

The MAX7311 datasheet is very informative. Because I/O expansion is easy to understand for a beginner, this is a good opportunity to get used to reading datasheets.

 

I'd like to give this part of the shield a big thumbs up

 

Related posts
ImageCraft JumpStart Microbox Education Kit - Part 1: Preview
ImageCraft JumpStart Microbox Education Kit - Part 2: Stepping Through an Example - what do I learn?
ImageCraft JumpStart Microbox Education Kit - Part 3a: The Education Shield - LED matrix and I/O expander