ChipStick – A Small Scale Experimental Forth Machine using the MSP430FR2433
Introduction
– for those that have arrived here from afar….
ChipStick is an all new, versatile microcontroller dev-board aimed at those who want to learn about or tinker with modern digital microelectronics and computer science.
It’s small and cheap – and the design is fully open source. It has been designed by a time-served Electronics Hardware Engineer, who was frustrated that nothing like this actually existed.
It’s simple and compact, and it might be just what your next electronics project needs to give it a bit of buzz.
Over the Easter Weekend of 2016, the design and code has been greatly improved and samples tested, with the aim of doing a limited production run, in Shenzhen, China, in Summer 2016.
If you are interested, read the other blog entries listed below and perhaps leave me a comment if you still need more information, or perhaps have a use for ChipStick.
Other recent posts on ChipStick
Forth Adventures
I/O Magic!
ChipStick – A Diminutive Dev Board
First Steps to Building the $5 Computer
Digital Dust
Constructional Guide
Ken Boak – March 28th 2016
@monsonite on Twitter, also Linked In, FB or just google me!
//———————————————————————————————————//
ChipStick – A Small Scale Experimental Physical Computing Platform
– for Forth and Other Things Too….
Last week, I wrote about the $5 Forth Computer, and showed an early breadboard version using an MSP430FR2433 mounted on a prototyping adaptor and plugged into a breadboard.
Well, I am pleased to report the arrival of my new “Baby” – and that the batch of 20 prototype pcbs have been delivered from the manufacturer earlier today and the build of the first unit is underway.
The following pictures show the size of the bare pcb – if you wish, the full pictorial construction guide is now here.
The ChipStick design has the following features:
- MSP430FR2433 with 15.5K non-volatile FRAM and 4K SRAM
- External 128K x 8 SRAM or 32K x 8 FRAM device connected via SPI on USCI B0
- Up to 16 GPIO lines
- Up to 7, 10 bit ADC inputs
- 3 communications ports – UART, SPI, I2C
- Optional 32768Hz crystal for accurate timing and RTC
- CH340G USB to serial converter IC on detachable section of board
- 3V3 voltage regulator
- Reset Switch and User LED
- 20 Pin DIL footprint to allow insertion into G2 Launchpad socket, breadboard or stripboard.
- Programmable by SBW or BSL using the detachable programmer.
- Support for LiPo or super capacitor – for low power operation
- Compact 40mm x 11mm – about half the size of Arduino Nano
This was surprisingly easy, using the FET section of a MSP430FR4133 Launchpad as a program-debug harness. I use TI’s free version of Code Composer Studio (CCS) 6.12 to write, compile and debug code.
Check my GitHub for the latest version of the SIMPLEX code.
The 128K x 8 SRAM is soldered to the underside of the board, along with the CH340G USB – serial converter and it’s acompanying 12MHz crystal.
Hardware and Pin Out
The ChipStick pin-out is as follows:
+——U——+
3V3 1 |VCC GND | 20 OV
P3.2 2 |P3.2 P2.1| 19 XIN 32768Hz
A5 RXD0 3 |P1.5 P2.0| 18 XOUT 32768Hz
A4 TXD0 4 |P1.4 TEST| 17 (/DTR)
A6 CLK 5 |P1.6 /RST| 16 RESET/NMI (/RTS)
P2.3 6 |P2.3 P2.6| 15 AMOSI/TXD1
/RAM_CS 7 |P3.0 P2.5| 14 AMISO/RXD1
A0 P1.0 8 |P1.0 P2.4| 13 ASCK
A1 BSCK 9 |P1.1 P2.2| 12 P2.2
A2 BMOSI `10 |P1.2 P1.3| 11 BMISO A3
+————-+
LED is connected on board to P3.1
P1.7, P2.7 and P3.1 have not been pinned-out on this version due to lack of pins!
A0 and A6 always available as 10 bit ADC channels
A4, A5 available if programmer detached
A1, A2, A3 available if no external RAM fitted
+——U——+
/RAM_CS | 23LC1024 | 3V3
BMISO | SRAM | HOLD
NC | | BSCK
0V | | BMOSI
+————-+
HOLD should be pulled hight to 3V3 with a 100K resistor
NC (pin 3 should be pulled low to 0V with a 100K resistor
Hardware Details
Crystal
If the optional watch crystal is fitted, it can become a Real Time Clock/controller – scheduling tasks to occur at specific times of the day and days of the week. A smart open source central heating controller might be one immediate application.
Communications
ChipStick has the benefit of three flexible communications interfaces providing up to two UARTs and up to three SPI ports. This makes it very useful when connecting to sensors via SPI or I2C and wishing to bridge their data across to a UART for PC communications.
External Memory
During the design process, I took the unusual approach of adding an external SPI memory device. Now this MSP430 does not have the means to execute code directly from the external memory, but it can do it by running a virtual machine – and using an interpreted language – such as Forth, Tiny BASIC etc. Whilst an interpreted language will be slower than compiled C, run out of internal FRAM or RAM, and the SPI interface to the external memory has an individual byte access time of 98uS – this is not a problem if you are running at very low power, at low clock speed.
The external memory can either be SRAM or FRAM.
If SRAM is fitted, either a 32Kbyte 23K256 or 128Kbyte 23LC1024 ($2.10) part may be fitted.
This latter part is ideal if you want to build a low power datalogger.
With FRAM – which is more expensive than SRAM, parts are available from 32Kbyte – such as the Cypress FM25V01A – about $4.50
New magnetoelectric devices from Everspin Technologies may also be used – such as the 32Kbyte MR25H256CDF – for about $6.
Detachable Programmer
This uses the recently introduced low cost CH340G USB to serial converter IC, with a 12MHz crystal. It provides 3.3V TTL signals for Tx, Rx and control signals /RTS and /DTR – which are used for resetting the MSP430 and putting it into bootloader mode. The CH340G should allow serial communications at rates up to 2M baud.
Once detached, the programmer may be used with a cable or 1.27mm pitch connector to program any compatible MSP430 ChipStick product.
For More Details: ChipStick – A small scale experimental Forth machine