Quantcast
Channel: MSP430 Technical Forums
Viewing all articles
Browse latest Browse all 2077

ChipStick - a Low Cost Digital Debug Tool (DDT) for Hobbyists and Education

$
0
0

In this post I reveal the applications of the new product I have been working on this last month.

 

chipstick_ram_debug.jpg

 

ChipStick is a tiny, low cost ($10)  16 bit microcomputer based on the MSP430FR2433 attached to a PC via a USB cable. It comes with up to 256K bytes of non-volatile memory - uniquely using ferro-electric memory.

 

It has up to 16 accessible GPIO lines - which include a mix of SPI, I2C, UART, Timer and ADC channels.

 

ChipStick may be plugged into a breadboard or stripboard and act as an intelligent programmable controller interfacing with other circuitry.

 

ChipStick can also act as a Digital Debug Tool (DDT), with jumper wires attached, - used to debug/develop low voltage (3V3) target hardware.

 

This is not for "MSP430" debugging - more a general purpose tool for exercising digital hardware, ICs etc

 

In each case, the extendable Scripting Language SIMPLEX may be tailored to the exact requirements of the user's application.

 

ChipStick is based on non-volatile ferroelectric technology.  This means that your applications and any recorded data remain in memory even after power down.

 

ChipStick may be extended in hardware to meet the requirements of the application - this is planned through both a series of larger expansion boards (based on the low cost 50x50mm format) and stackable micro-modules that match the DIL 20 socket format.

 

In this respect, a high resolution 4 channel 24-bit ADC micro-module is under development which additionally provides 8 extra GPIO lines for external applications 

 

This 24-bit module opens up the ability to interface to high resolution sensors such as loadcells, strain-gauges, precision temperature sensors, energy monitors and other applications where 10 bits of ADC resolution is just not enough.

 

Other modules in planning are a high speed flash converter for digital oscilloscope projects and high speed capture/replay memory for logic analysers, arbitrary waveform generators and VGA video generation.

 

Applications

 

With these primary applications in mind, ChipStick has been designed to be as versatile as possible - within the constraints of the small footprint.

 

As a debug tool, it is no bigger than a USB Stick - easily carrier around with essential hacking tools.

 

I have designed it as a socketable component that can easily be added to a board (see above) - where a small amount of intelligence is required, or for bridging between sensor devices. It can also collect or send data to SPI devices and bridge that back to the PC via the UART channel.

 

Equally, it could be used as a small test equipment device to exercise, monitor or control prototype hardware - it has 16 GPIO lines - including two full SPI ports. These can be attached to the target hardware, and using the SIMPLEX scripting language, the various target hardware can be exercised and data reported back to the PC.

 

With the right SIMPLEX script, it can be used to transfer a hex, bin or ascii file from the PC to the target under development.

 

The external memory may be used for sensing and datalogging applications, capturing waveforms, playing back arbitrary waveforms - as a signal generator.  The ADC channels may be used as a low bandwidth oscilloscope, test meter or for monitoring changing physical quantities in science experiments.

 

ChipStick takes much advantage from the trend in modern sensors and peripherals to connect via the SPI or I2C bus. The MSP430FR2433 device provides up to 3 separate SPI buses.

 

ChipStick can be interfaced to Wireless and WiFi modules such as the RFM69 via SPI and the low cost ESP-01 via the second UART port.

 

Suitable sensors include accelerometers, gyroscopes, digital compass, temperature, pressure, loadcells etc.

 

For basic GPIO operations - common shift registers may be used with the SPI bus such as the 74HC595 for 8-bits output - for driving LED arrays, the high power TPIC6B595 for driving stepper motors, and the 74HC165 for 8-bit inputs.

 

Using a LED driver IC - such as the MAX7219 or AS1100 series - up to 8 digits or an 8x8 array of LEDs may be driven from the SPI port.

 

OLED and LCD graphics displays may also be driven from SPI  with a couple of control signals.

 

 

Educational Applications


ChipStick as been designed with education and experimentation in mind.  It has been priced such that cost should not be a barrier to using it.


It can be used specifically to assist in the teaching of electronics, computer science and interactive coding.


It is versatile enough to meet the needs of high-school and university undergraduates, plus simple enough meet the requirements of the maker and hacker community.


The small size of ChipStick allows it to be used to give intelligence and connectivity in situations where other technology is just too bulky to fit - with the programmer section detached it is only 26.5 x 11mm - small enough to fit inside a 4x2 Lego block!


It's low cost means that it can deployed in areas where other solutions might prove too expensive.


Here are a few of the educational applications:


Teaching Forth.


Forth is an interactive language and can be best taught with hardware that creates a stimulating interactive environment.  This includes the use of LEDs, sound, touch and movement (such as stepper motors and servos).


The MSP430 is a good fit for a "traditional" Forth machine - with 16 bit Von Neuman architecture.

MSP430FR2433 with 16K FRAM and 4K RAM is reminiscent of the early minicomputers that Charles Moore would have first coded Forth onto in the late 1960s.

The external SPI memory has been included - specifically so that users can experiment and learn about interpreted languages running on virtual machines. OK - single byte access to external RAM takes approx 30uS - but block access is 3uS per byte. ChipStick will come with a 128Kx8 external SRAM 23LC1024, or FRAM to special order.

 

The use of the 23LC1024 SRAM with its quad SPI port immediately opens up applications for logic analysers, dataloggers arbitrary waveform generators and other memory capture/playback devices.

The SPI buses on the MSP430FR2433 allow expansion hardware like sensors and shift registers, LED and graphic display drivers etc to easily be added - with minimum of wiring.



Teaching Coding

 

ChipStick is not limited to Forth  - it is easily programmed in C with CCS or Energia, BASIC or in native MSP430 assembly language.  The SIMPLEX scripting language is written in C, easily modified and uses a Forth-like syntax. It encourages the use of short functions or blocks of code, that may be tried and tested individually by the interactive interpreter, edited if necessary and when fully working compiled and stored in the on-chip non-volatile FRAM.  Code Blocks may then strung together to make more complex applications.

 

An innovative but intuitive, cross platform GUI to visualise the process of coding is currently being developed.  


Teaching Digital Electronics


ChipStick can animate electronics in a low cost way not previously possible.  With a breadboard and a few LEDs and switches, ChipStick can form the central controller of many digital projects.


It's ability to easily interface to displays, sensors and actuators allows it to make projects exciting.


ChipStick can also be used to exercise digital electronics, and report results back to a PC for display on a graphical user interface. In teaching environments where real hardware may not be possible or practical - ChipStick can use virtual hardware and achieve most of the same educational aims.

 

Creating Practical Hardware

 

ChipStick helps to break down some of the barriers between modern electronic devices and practical hardware hacking. It's method of construction effectively converts between the awkward surface mount technology, and 0.1" (2.54mm) pitch pins - that are a lot more user and breadboard friendly.

 

The small format and layout of the ChipStick board means that accessories and expansions may be easily prototyped on breadboard or stripboard at minimal cost, and then easily converted to a pcb - using tools such as KiCAD or EagleCAD. Simple designs can be created in a few hours, or over a weekend - with low cost pcbs delivered from China within a couple of weeks.

 

ChipStick promotes the use of 50mm x 50mm expansion boards with a common header layout. This allows boards to be used together, shared or swapped between friends or whatever.


Making and Hacking


As a result of it's low cost, ChipStick can be used in projects where other solutions may seem over expensive. Projects no longer need to be stripped down, to salvage the only $20 Arduino for another purpose.  ChipSticks will be supplied in multi-packs at very low prices - so that the cost of the device is no longer seen to be a barrier to creativity.


ChipStick is compatible with Energia - an "Arduino Like" IDE. This allows an easy transition to the new device from familiar territory.

 

ChipStick will enter production in the Summer. However - it is fully opensource, and the design files and firmware will be available via Github in due course.

 

Happy Easter

 

 

Ken

 

 

London


Viewing all articles
Browse latest Browse all 2077

Trending Articles