ARM Board

From Fixme.ch
Revision as of 19:27, 13 October 2011 by Corecode (Talk | contribs) (umbrellas!)

Jump to: navigation, search
Revision 1 of the ARM development board

The goal is to have a small, cheap, and powerful development board that supports USB for easy programming, at low parts costs (current estimate < $5). This allows us to use the board for all silly purposes where spending >$20 for an Arduino is just too much. The board is like the Teensy, just with an ARM microcontroller instead.

Quick links

Detailed Description

The board uses a Nuvoton NUC120 48-pin microcontroller which has an ARM Cortex-M0 CPU 32-bit CPU core.

Features:

  • up to 50MHz
  • 32KKB-128KKB program flash, 4KKB-16KKB RAM, 4KKB data flash, 4KKB boot loader flash
  • 2 UART, 1 SPI, 2 I2C, USB, 1 analog comparator, 4 PWM, 8 12-bit ADC channels

The board contains:

  • USB A connector on board outline
  • optional Mini-USB receptacle
  • USB header connector for direct wire connections (e.g. inside PC)
  • optional voltage regulator for external voltage (up to 13V)
  • optional LiPo battery charger IC for battery operation
  • LiPo charger can be driven from a solar panel
  • SWD debug/programming header
  • reset button
  • 1 LED for binary debug/information display

Project roadmap

Hardware design

In beta state. Version 1 boards have been fabbed and need to be tested and assembled

Errata/changes required for next version:

  • probably a problem with 3.3V circuit operation and battery: PMOS gate only gets pulled up to 3.3V, but likely needs the full battery voltage. Replacing PMOS with SOT-323 footprint might help routing.

Toolchain

Proprietary windows software is available, but we'd like to have complete support with free software tools.

What works

  • gcc/binutils/gdb support ARM Cortex-M0

In progress

Bus Blaster can speak SWD with KT firmware; use UrJTAG git as root to flash (interface=1). TODO: test SWD connection to target.

What needs work

  • Programming/Debugging: OpenOCD supposedly supports SWD. Needs to be confirmed what works.
  • Need bootloader and programming software. Proprietary from Nuvoton available
  • Tool library?

Programming envionment

Umbrellas

Eric says: Expansion boards will be called umbrellas.

possible umbrellas:

  • sdcard umbrella
  • rf umbrella (6LoWPAN/802.15.4?)
  • stepper motor umbrella
  • lcd umbrella
  • microphone umbrella
  • speaker umbrella (with small amp)
  • power umbrella (bigger voltage regulator)

Example projects

  • OTP generator (yubikey-like)
  • Your idea here

People involved

Simon