What if?
Contact Us

StickOS User's Guide

CPUStick User's Guide

Copyright © 2008-2012 CPUStick.com;
all rights reserved.
Patent U.S. 8,117,587.


CPUStick™ and StickOS® -- Features

Note that by its very nature, StickOS supports In-Circuit Emulation (ICE) when it is running -- all you need is a transport connecting the MCU to a host computer, and you have full interactive control over the MCU, live in the target embedded system!  Alternatively, you can use the 2.4GHz zigflea wireless transport and have full interactive control over the MCU, live in the target embedded system, with no connected transport at all!

The StickOS BASIC programming environment includes the following features:

  • BASIC line editor
    • ansi or vt100'ish terminal support
  • BASIC compiler
    • compiles to a fast and safe intermediate bytecode
    • transparent line-by-line compilation is invisible to the user
    • integer variable/array support
    • string variable support
    • block structured programming and subroutine support
    • BASIC library (v1.90+)
  • interactive BASIC debugger, supporting:
    • breakpoints, assertions, and watchpoints
    • live variable (and pin) manipulation and examination
    • execution tracing and single-stepping
    • edit-and-continue!
  • BASIC performance profiler
    • trivially see where your program spends its time!
  • BASIC file system
    • load and store multiple BASIC programs in flash
  • 2.4GHz zigflea wireless transport
    • remote control via a telnet/rlogin-like interface
    • remote variable access in BASIC
    • wireless BASIC program update
    • wireless StickOS firmware upgrade
  • USB Host Mode (on selected MCUs)
    • log StickOS "print" statements to external USB flash drive
  • external control of MCU I/O pins, implicit thru "pin variables"
    • digital input or output
    • analog input or output (PWM actually)
    • servo output
    • frequency output
    • uart input or output
    • i2c master input and output
    • qspi master input and output
    • 4-bit HD44780-compatible LCD output
    • 4x4 scanned keypad input
  • internal peripheral control
    • interrupts delivered to BASIC handlers!
    • interval timers, dma timers, ADC, PWM, uarts, i2c, qspi, etc.
    • direct MCU register access from BASIC for low-level control, thru MCU register variables
  • internal flash memory control
    • save programs and parameters to flash for standalone operation
    • prolong flash lifetime by storing incremental updates in RAM
    • clone one MCU’s flash directly to another
    • upgrade StickOS firmware via terminal emulator!
    • no external flash programmers needed!

keywords: rich testardi microcontroller hobby rapid prototype breadboard middle-school high-school university software development environment sde stickosbasic.com