Let it burn, then press CTRL-C
We’re about to try out Forth on real hardware. The implementation used here at JeeLabs is Mecrisp Forth by Mattias Koch. It’s fully open source (GPL3), it’s well-supported, it’s robust, it’s available...
View ArticleMaking an LED blink (and fade)
Just like C-based code benefits from a runtime library with utility functions, Forth can benefit from a set of pre-defined words to talk to the hardware peripherals built-into every F103 µC.This...
View ArticleCutting the serial cord, sort of
There’s a hardware USB device peripheral in every F103 chip. It has been quite a long journey, but the code is now finally at a stage where it can be used as serial console for Mecrisp Forth.You will...
View ArticleWorking on the JeeNode Zero
The JeeNode v6 was created several years ago, to combine the convenience of the then-still-upcoming Arduino IDE with low-power wireless communictation:It all worked – and still works – really well,...
View ArticleThe upcoming JeeNode Zero
Lately, I’ve been keeping busy with a brand new board. It’s called the JeeNode Zero:Shown here is the “rev3” prototype, and it’s starting to shape up nicely. Sooo… without further ado, let me tell you...
View ArticleSome specs and comparisons
To get an idea of the differences between the original JeeNode v6 and the new JeeNode Zero, we can first of all view them side by side:No more through-hole parts - there are almost no µCs available...
View ArticleThis node speaks Forth (and C)
If you’ve been following the weblog for a while, you may have noticed that there’s a strong Forth wind blowing nowadays at JeeLabs. The JeeNode Zero is designed for use with Forth.Setting up a Mecrisp...
View ArticleTaking the JNZ rev3 for a spin
Let’s make the JeeNode Zero do some simple things. Like blinking LEDs in a continuous loop:The code for this was actually written step by step, and later saved in a file called e-leds.fs:forgetram \...
View ArticleJNZ testing and availability
At the time of writing this (end Dec 2016), there have been three prototyping rounds for the new JeeNode Zero. The current “rev3” board is getting close to the intended final release - the STM32L052 µC...
View ArticleLet's have some fun with a JNZ
Since the JeeNode Zero adopts a new µC architecture, a new layout, a new runtime library, a new programming language, and new drivers, there’s a lot of work ahead to describe all the parts and how to...
View ArticleHey, there's a radio in there!
The Forth driver for the RFM69 on the JeeNode Zero is in flib/spi/rf69.fs. It is normally included in core.fs and therefore always available from flash memory. It’s very simple to use: call rf69-init...
View ArticleUltra low-power and coin cells
Let’s explore the current consumption of a JeeNode Zero a bit and see how we can reduce it. The following measurements were all made with a low-cost Voltcraft VC170-1 multimeter, in series with the +5V...
View ArticleA high-resolution sensor node
The JeeNode Zero is intended as sensor node in a Wireless Sensor Network. This requires:a sensor we can read out periodically, such as the BME280being able to sleep with a very low current, as recently...
View ArticleRemote development over WiFi
There’s a fascinating option for the JeeNode Zero, called the esp-link by Thorsten von Eicken. He also created a little board with a switching regulator, the ESP8266, and an FTDI header, and calls that...
View ArticleGoodbye 2016, and hello 2017!
Many very surprising things have happened (or failed to be resolved) in the world in 2016. But as far as this weblog is concerned, it can be summarised as: 52 weekly posts, 92 articles.2016A year ago,...
View ArticleVarious shades of Forth
This week’s episode will cover a variety of aspects related to Mecrisp Forth:Using Linux i.s.o. a SerPlus - WedForth over USB on STM32F103 - ThuPerformance and I/O toggling - FriAs always, these posts...
View ArticleUsing Linux instead of a SerPlus
Uploading code to an STM32 ARM µC is a bit of a chicken-and-egg problem. The traditional setup uses JTAG (or more likely: 2-wire SWD), but this requires a JTAG programmer such as an ST-Link or a Black...
View ArticleForth over USB on STM32F103
Mecrisp Forth and its GitHub mirror make a wonderful interactive environment for a range of powerful ARM-based 32-bit µCs. There are a gazillion low-cost STM32F103-based boards available on eBay and...
View ArticlePerformance and I/O toggling
With all those source lines being sent to Mecrisp, it’s time to look a little more under the hood.Let’s start by pointing out that this article focuses on an STM32F103 µC running at 72 MHz, which is an...
View ArticleThe upcoming JNZ rev4
Now that the JeeNode Zero rev3 has been out for a few weeks, I’ve made a few more changes before it goes into production:I’m calling it “rev4” for now, but expect it to be virtually identical for the...
View Article