|
|
(2 intermediate revisions by one other user not shown) |
Line 1: |
Line 1: |
− | [[Category:Ongoing_Projects]] | + | [[Category:Closed_Projects]] |
| | | |
− | [[File:arm_board_r1.jpg|thumb|Revision 1 of the ARM development board]]
| + | [https://github.com/corecode/mchck/wiki Moved to GitHub] |
− | | + | |
− | 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 [http://pjrc.com/teensy/index.html Teensy], just with an ARM
| + | |
− | microcontroller instead.
| + | |
− | | + | |
− | == Quick links ==
| + | |
− | | + | |
− | * [https://gitorious.org/usb-micro-proto/nucproto Project sources]
| + | |
− | * [http://www.nuvoton.com/NuvotonMOSS/Community/ProductInfo.aspx?tp_GUID=5dbf7d7a-b6df-4fe1-91c9-063449500ce7 NUC homepage]
| + | |
− | * [http://download.nuvoton.com/NuvotonMOSS/DownloadService/Member/DocumentsInfo.aspx?tp_GUID=DA00-NUMICRONUC100 Reference Manual]
| + | |
− | * [https://silver.arm.com/download/download.tm?pv=1102513 ARMv6 Architecture Manual] (requires registration)
| + | |
− | | + | |
− | == Detailed Description ==
| + | |
− | | + | |
− | The board uses a
| + | |
− | [http://www.nuvoton.com/NuvotonMOSS/Community/ProductInfo.aspx?tp_GUID=5dbf7d7a-b6df-4fe1-91c9-063449500ce7 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 ====
| + | |
− | | + | |
− | [http://dangerousprototypes.com/docs/Bus_Blaster Bus Blaster] can speak SWD with KT firmware; use UrJTAG git as root to [http://dangerousprototypes.com/docs/Bus_Blaster_v2_manufacturing_resources flash] (interface=1). TODO: test SWD connection to target.
| + | |
− | | + | |
− | ==== What needs work ====
| + | |
− | | + | |
− | * Programming/Debugging: [http://openocd.berlios.de/web/ OpenOCD] supposedly supports SWD. Needs to be confirmed what works.
| + | |
− | * Need bootloader and programming software. Proprietary from Nuvoton available
| + | |
− | * Tool library?
| + | |
− | | + | |
− | === Programming envionment ===
| + | |
− | | + | |
− | * [http://leaflabs.com/docs/ide.html Maple IDE] by LeafLabs is a port of the Arduino IDE for ARM
| + | |
− | * [http://leaflabs.com/docs/unix-toolchain.html LeafLabs command-line toolchain] might apply in parts, or at least inspire
| + | |
− | * [https://github.com/esden/summon-arm-toolchain summon arm toolchain] builds an ARM toolchain
| + | |
− | | + | |
− | == Umbrellas ==
| + | |
− | | + | |
− | Eric says: Expansion boards will be called umbrellas.
| + | |
− | | + | |
− | possible umbrellas:
| + | |
− | * sdcard umbrella
| + | |
− | * rf umbrella ([http://en.wikipedia.org/wiki/6LoWPAN 6LoWPAN]/[http://en.wikipedia.org/wiki/IEEE_802.15.4 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 ==
| + | |
− | | + | |
− | [mailto:2@0x2c.org Simon], Eric
| + | |