You are here: Home

nqBASIC

nqBASIC launched October 1st!

Overview

NanoCore12 is a microcontroller platform based on flexible, easy-to-use hardware and software. It was created for hobbyists, students, engineers, artists, designers--  anyone interested in creating interactive objects or environments.

NanoCore12 can be made "aware" of its environment through various sensors, and can influence its environment by controlling various devices:  lights, motors, sound transducers, and various actuators. The 9S12 microcontroller on NanoCore12 can now be easily programmed with the free nqBASIC programming language and development environment for Windows (sse below).  Projects can be autonomous or they can communicate with software running on a computer (e.g. Adobe Flash, VisualBASIC, C#, etc.).

NanoCore12 comes in three sizes: 24-pin drop-in Stamp-replacement (NC12C32S), a 32-pin Stamp-superset (NC12DXC32S), and a 40-pin module with on-board CAN transceiver (NC12MAXC32S or NC12MAX128S). Besides on-board RS232 transceiver, voltage regulator, crystal and PLL support circuitry, all NanoCore12 modules sport a MC9S12C MCU, loaded with up to 128K Flash, up to 4K RAM, and a rich assortment of advanced on-chip hardware peripherals. Not only is it blazingly fast (24MHz bus) and powerful, but it is a breeze to multi-task for such demanding apps as robotics and real-time control. With its built-in multi-tasking kernel and object-based programming approach, nqBASIC leverages these advantages to produce a very powerful project platform.  For all the hardware details, visit www.NanoCore12.com.

nqBASIC

Having such a great piece of hardware is only half the equation. Adding the nqBASIC programming environment brings all of that power out where you can easily put it to work in your applications, even if you have no prior programming experience! The "nq" in nqBASIC stands for "not quite" because it is more than the traditional BASIC.  In fact, nqBASIC is a custom-designed state-of-the-art object-based programming language that borrows some of the best features of C, C++, and BASIC, throws in a real-time kernel, and wraps it in a "VisualBASIC"-like Integrated Development Environment. And it's so easy-to-use! That's because it has lots of built-in hardware and software objects.  No more spending hours delving into the bit definitions of myriad MCU registers just to interface to a keypad, servo, or LCD. Instead, use a pre-defined object and just pass the parameters. For example, interfacing a character LCD is easy. Just "DIM" the object with a list of the port pins you want to assign to it. The compiler takes care of everything else for you. It's the same story with ports:  you can define a virtual port as any combination of pins! Then your program can operate on that virtual port with all the regular instructions, without having to deal with the various physical port addresses, direction registers, etc.

nqBASIC Highlights

- Define a virtual port
  • a set of pins, spanning multiple ports, in any order you specify
- Pre-defined functions for most hardware subsystems (i.e. hardware objects):
  • ADC
  • SCI
  • CAN
  • PWM
  • Timer

- Pre-defined functions for common protocols, implemented in software (i.e. software objects):

  • Dallas 1-Wire
  • I2C
  • character LCD
  • simple serial output on any pin

- User-defined types

- Indexed arrays

- Simple real-time multi-tasking kernel

  • up to 10 tasks may be active at once

- Support for interrupts

Now Technological Arts is making the beta version freely available to all NanoCore12 users!  Click the link below to download the installer, and be sure to watch the video demonstrating how to install and register the software.  More videos will be added in the coming months, demonstrating features and operation of the IDE, how to load programs, create your own projects, etc.  Click on the RSS feed icon to be automatically notified when new content is available.

nqBASIC

Visit the Documentation Library for Tutorials, Reference Materials, and example projects.

Download nqBASIC today!

If you don't see the YouTube video, please install the latest flash player from http://get.adobe.com/flashplayer/.  After installation, you'll need to restart your browser.  (By the way, the video doesn't have a soundtrack.)