Need a controller that is more powerful than an Ardunio but smaller than a Raspberry Pi?

August 9, 2019

Like most makers my staple for controller boards has been a mix of Arduino Nano, Uno and Mega for small embedded type applications with modest computing capacity and memory and the Raspberry Pi Zero, 3’s and 4’s for bigger computer type applications with much more computing capacity and memory. But what if you want something in between? What other boards are out there?

There are two recent developments that have caught my eye.

First is the new Teensy 4.0 Development Board from PJRC. I’ve used Teensy boards and supported previous PJRC Kickstarter campaigns in the past and found them to be really good boards with good software and great support. The latest board from them shows a significant increase in computing capacity, program memory and data memory.

Here’s its specs.

Processor: NXP iMXRT1062, ARM Cortex-M7
Clock: 600 MHz
Memory: 1024K RAM, 2048K Flash
Storage: none
Sensing: 14 x ADC
Actuation: 31 x PWM
Connectivity: 3 x SPI, 3 x I2C, 7 x Serial, 2 x USB, 3 x CAN Bus, 2 x I2S, 1 x S/PDIF, 1 x SDIO
I/O: 40 x GPIO
Operating System: none

The other board that I’ve been watching is the GiantBoard from Groboards. They have just finished (8/09/2019) a successful crowd funding campaign on crowdsupply.

Their board is based on Adafruits Feather form factor and has the following spec:

Giant Board Specs:

Processor: Microchip SAMA5D2 ARM Cortex-A5 Processor
Clock: 500 MHz
Memory: 128 MB DDR2 RAM
Storage: microSD card
Sensing: 6 x 12-bit ADC
Actuation: 4 x 16-bit PWM
Connectivity: 1 x I2C, 1 x SPI, 1 x UART. 1 x USB
I/O: 20 x GPIO
Operating System: Linux kernel 4.14

Neither of the boards have native WIFI, BT or Ethernet. Nor do they have any native video capability.

ARDvance-Pi v0.1

December 31, 2011

The ARDvance-Pi is an advance Arduino training board. You can use it together with any of the Ardunio Uno or Duemilanove style of boards. The Arduino is plugged into the ARDvance-Pi and DIL switches allow the user to select which interfaces or circuits they want to connect to the Ardunio.

The training board has a number of interfaces

  • 6 x Rotary Potentiometers
  • 2 x Linear Potentiometers
  • 4-Digit, 7-segment LED display
  • Temperature Sensor
  • Light Sensor
  • Buzzer Output
  • 5V/3.3V switchable PSU
  • Prototyping area
  • 8 x LEDs
  • 8 x tactile switches
  • 1-ch Relay (Change Over)
  • RS232 interface with 9-W D connector
  • H-Bridge Motor Controller (based on L298)
  • XBee socket
  • 16-way keypad*
  • LCD interface*
  • 5V to 3.3V logic conversion for Raspberry-Pi

* Note: if space allows

It was originally going to be called the ARDvance-10 but its name changed when I decided to add an interface port for the Raspberry Pi board, hence its new name ARDvance-Pi. Port Expanders, either MCP23008 or PCF8573 and a 8-ch ADC will also be added to allow I2C or SPI interfaces to be used from the Raspberry-Pi. When its finished, its hoped that the Raspberry-Pi can use the Arduino as a sort of slave I/O processor.

The schematic is here: Ardvance Pi Schematic 0v10

MAX7456 OSD Shield (v0.1)

November 22, 2011

Here’s a beta release of a On Screen Display (OSD) shield I’ve been working on, it still needs a bit tiding up.

It uses a MAX7456 from Maxim for the video overlay function. The MAX7456 is connected to the Ardunio’s SPI port (MOSI, MISO and CLK) and a double row of 0.1 headers can be used to choose which digital pin drives chip select (CS) for the MAX7456.

In addition to the MAX7456 OSD chip, there’s also a DS1307 Real Time Clock (RTC) with battery backup for displaying time and date in the video feed.

I designed it using DesignSpark PCB, pulling in the MAX7456 footprint from the Sparkfun PCB library. I’ll post design files and gerbers shortly.

For software, I used code from Arduino forum members dfraser and zitron in this Arduino forum post.

osd – Arkwork.pdf
osd – Schematic.pdf

32-bit Arduino

September 19, 2011

At last the Arduino team have announced an official 32-bit ARM board.

The specs look pretty standard for a ARM Cortex-M3 but they’re nice specs none the less.

The uC is a SAM3U processor from Atmel with the following specs:

  • Speed: 96MHz
  • Program Memory: 256Kb Flash
  • Data Memory: 52Kb SRAM
  • Digital I/O: 5 SPI buses, 2 I2C interfaces, 5 UARTS
  • Analog I/O: 16ch 12-bit Analog Inputs.

Not sure of the PCB package size but it looks like a 100 or 144 pin TQFP.

I’m not sure if the SAM3U uC is 5V tolerant, which could be a problem for some 5V only shields.

On the whole the 32-bit Arduino looks like a winner, now lets hope the 32-bit Arduino software is as good as the hardware.

Arduino Due

XArduino – A 400-MIPS co-processor for Arduino

February 7, 2010

Recently I’ve been working on XArduino which is a XMOS XS1 L1 co-processor for the Arduino open-source electronics prototyping platform.

The XArduino board provides Arduino applications with a 400 MIP’s multi-threaded 32-bit co-processor, as well as providing a VGA video output and PS/2 keyboard/mouse input for Arduino application.

It features a standard XTAG-2 to for programming and debugging. In addition the XTAG-2 interface will allow for XK-1 boards to access the VGA and PS/2 interfaces as well as way of connecting standard Arduino shields.

Note: This is a 3.3V-only board

The project is hosted at

Creative Commons Attribution-ShareAlike 3.0 License

List of Arduino compatable CPU boards

April 24, 2009

Jeff Saltzman has compiled a good list of Arduino compatable CPU boards. It can be found on his blog.

Another good list on all things Arduino can be found at

Arduino Mega

April 7, 2009

A new bigger Arduino has been spotted in the wild.

Arduino Mega

Arduino Mega

The Arduino Mega is the new larger brother of the Arduino Duemilanove microcontroller board. Instead of being based on a 28-pin Atmel ATmega168 or ATmega368 the Mega is based on the larger 100-pin ATmega1280 device.

The Arduino Mega board has 54 digital input/output pins (of which 14 can be used as PWM outputs), 16 analog inputs, 4 UARTs (hardware serial ports), a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button.

The Mega is compatible with most shields designed for the Arduino however a few differences to note from Atmega1280 and ATmega386 are:

  • only 6 of the external interrupts are available (the ATmega1280 has 8).
  • 4 “new” external interrupts are on dual-purpose pins. 2 are on the TX/RX pins for Uart#1 (pins 18-19), and 2 are on the I2C pins (pins 20-21).
  • the I2C pins have moved (from 4-5 to 20-21). Any Arduino shield, or project, using I2C will require re-work for the MEGA.
  • the timers associated with specific PWM pins have changed, Interrupt 0 and 1 are on pins 20 and 21, Input capture for timer1 is not available, and pins 14 through 19 are no longer shared with the analog pins.
  • My Arduino Mega arrived last Saturday 28th March from This was a pretty quick service from Coolcomponents as the Mega was only announced on Thursday 26th March.

    The additional I/O will be very useful, as will the larger available board area => bigger shields but the Arduino Mega still have the problem of available coast area for I/O connectors.