Interactive Forth over RF? May 2017
Since Mecrisp Forth uses the serial port as its interactive console, the most direct way of connecting to a µC board is as follows (double-line arrows represent wired connections):
When using some widely available low-cost STM32F103 boards with built-in USB port, we can in fact simplify this considerably by using a USB console driver instead of that FTDI adapter:
But what if we could also re-apply the same trick using wireless radio modules?
This requires an extra µC on the “central” side to bridge between USB and RF, but it would add the ability to talk to one or more remote wireless nodes - interactively!
Note that such a central bridging node plays more or less the same role as an FTDI adapter, but using an RF-based packet link instead of the FTDI’s 6-wire hookup.
Here is a hacked-up central node based on the HyTiny board and some free-style soldering:
The above concoction is currently being used for development and testing, although a JeeNode Zero with FTDI would also work. Some bugs and puzzles still remain, but we’ll get there…
An RFM70 module is being used here, because its built-in auto-ack mechanism helps greatly to simplify initial development. The RF console will be ported to RFM69 once everything works.
There are some interesting uses for such an RF-based console driver in Mecrisp: perhaps most importantly, it enables remote configuration and debugging, especially in combination with the multitasker to keep both the interactive console and the application code running in parallel.
This RF link capability can also be used to upload new code or reload the on-board application.