Go Forth and Prosper

I want to improve the productivity of Real Time Control software design by making Forth the premier language of real time.
M Simon
Email Verified
Rockford, Illinois
United States
4 Team Members

Go Forth and Prosper

My name is M. Simon and I'm a Forth fanatic. I'm also a retired aerospace engineer and former writer for ECN Magazine.

I want to improve the productivity of Real Time Control software design by making Forth the premier language of real time. To do that I have designed a Real Time control board using the LPC812 that runs FISH Forth. FISH Forth is a Flash resident and stand alone Forth that interprets for keyboard testing and compiles for fast running in real time. You can develop software for it on any computer that has a USB Port and an associated terminal program. With the LPC812 board you can control real hardware. But my ambition and the ambitions of the able ATeam, who have assisted me by writing the Forth and testing the hardware, doesn't stop there. We want to port FISH Forth to every major ARM MCU over time. We are offering bare LPC812 boards and a free version of FISH at LPC812 Devl - 20 March 2014 . You can find documentation for the board including schematics at the link. We also have a version of FISH for the LPC1114 located here. The free FISH is your perk for funding, or just looking around.

The board has three interfaces. A USB connector supplies power to the board and communications with a PC.  A 20 pin header has 8 chip pins which can be used for general I/O or on chip peripherals. Finally there is an RJ11 (telephone cable) connector which supplies power to and communicates with devices on the I2C bus.

Bare boards and free software are nice. But what I really want to do is to go into production. Not everyone enjoys soldering surface mount parts. To that end I have gotten some production quotes. The first step is one board and for one board I have to raise $2,250 which includes production, non-recurring engineering and some overhead. Who ever contributes the most to the $2,250 will get the board. If I can raise $3,050 I can get 10 made. Suppose we raise intermediate amounts? Say $3,355. I will get 11 boards made. I will get as many boards made as funding allows.

For 100 boards I have to raise $8,260. The per board price is starting to get reasonable. I can get 1,000 boards made for $35,700. And 10,000 for $224,420. Beyond that I didn't dare allow myself to imagine.

If we get to the 10 to 100 board level everyone who contributes a multiple of $305 will get a board(s).

At 100 to 1000 everyone who contributes a multiple of $82.60 will get a board(s).

At 1000 to 10000 everyone who contributes a multiple of $35.70 will get a board(s).

At 10000 and up everyone who contributes a multiple of $22.44 will get a board(s).

The more we can raise the better the deal you get. Tell your friends.

For those of you getting boards – shipping is extra. The time it will take to get boards made depends on the volume. For 10,000 boards the total time runs about 60 days. For lower quantities the production time is less.

So why Forth? I have found that development productivity using Forth is about 10 times the productivity of using C for development. I have heard of cases of 100 times improvement and as much as 1,000 times. But 10 times is what you can generally expect. But don't take my word. Try it.

For those of you needing something to attach to the I2C bus for development work we have the I2C-4SW-4LED.We also have other I2C peripherals in various stages of development. That includes boards in which an LPC812 serves as a I2C slave peripheral.

If we don't raise the required $2,250, partial funding will go towards developing more processor boards using FISH Forth and  more system boards.

If there is a peripheral you need we can develop it. Usually. Ask.If there is a particular chip that you want the FISH Forth (or a custom version) ported to  likely we can do it. Ask.

Update: 21 May 2014

Let me tell you something about the FISH Forth software. It was conceived of by me as a very vague outline when I started in on this project about three years ago. Clyde Phillips and I have worked on various Forth projects before and when he came back on the scene I handed the whole Forth side of the development over to him so I could focus on hardware. I have been available for some technical and conceptual details but Clyde has done ALL the heavy lifting required to turn a concept into working code.  The software is his. We have also had the able help of Vic Plichota.

So is this a hardware or a software project? Well that depends. It is definitely about controlling things so "hardware"? But without instructions nothing gets done. So "software"? In truth - for this kind of work - they are inseparable. And what is "this kind of work"? Currently I'm developing a series of sensor boards that could be used to turn the hardware into a weather monitoring station. Or it could be used for temperature control if that interests you. Or it could just be used to blink lights. I have a blinking light board in the works.

Our main purpose though is to get people using Forth so they can learn from actual practice its advantages. And its main advantage? You don't have to go to programmer's school to learn to be a programmer. It is not complicated or difficult. That complication and difficulty is mainly due to the languages currently in vogue for control software development.

Update: 22 May 2014

Some people have asked me why we have designed our own hardware for this Forth instead of using commercial hardware which would be cheaper at the volumes I currently contemplate. The reason is simple. I'm not impressed with existing hardware. Most low end MCU hardware is badly designed. Take the I2C bus. I have yet to see one properly designed. For telephone cable wiring (RJ11) it should be - signal - power - power - signal - for balance and low cross talk. I have yet to see one built that way. I have looked.

There are many other errors of this type on the low cost MCU boards. Their design method looks like – a quick read of the data sheet and slap something together. They are obviously designed by amateurs.  Now if you are just hacking around and don't need full capabilities - no problem. But if you are making something commercial the nits will eventually get you. Our boards are designed to go into commercial systems.

So, in general, why is what we do better? It is Better because what we do is ENGINEERED. As opposed to designs that are mostly slapped together. Now I agree that most folks dabbling will not know the difference. But some will. Those are my hardware customers. I am already building systems for a couple of engineer friends.

This all started as a project and got out of hand. Heh. I couldn't find a board with the specs I needed.

Another question asked is "why another Forth"? This is not another Forth. This is another SYSTEM. Forth is our system language. The SYSTEM aspect of what we are doing will become evident as we make more boards available.

The current campaign is not a one shot. It is a first shot.

Find This Campaign On
raised by 4 people in 1 month
10% funded
0 time left
$2,250 USD goal
Flexible Funding This campaign has ended and will receive all funds raised.
Campaign Closed
This campaign ended on June 14, 2014
Do you think this campaign contains prohibited content? Let us know.