A 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 BME280 being able to sleep with a very low current, as...
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. 2016 A year...
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...
View ArticleA few design changes in rev4
There are not really that many changes from rev3 to rev4 of the JeeNode Zero. The main one was to extend the main header by one more pin, and to move the radio module to other pins so that all of...
View ArticleMaking the silkscreen useful
The JeeNode Zero takes a different approach from most other boards: components are placed on what is considered the bottom of the PCB, with the top free for extensive silk screen labels. Here is the...
View ArticleA board made for tinkering
“Sans paroles” - instead of a thousand words, here is a picture of the new JeeNode Zero rev4:
View ArticleAnalog over wireless
Let’s put the JeeNode Zero to work a bit, i.e. let’s repeatedly measure an analog voltage through its ADC, send the results over to another node via the radio, and display the received readings. We’re...
View ArticleSending multiple values
The previous article showed how to send a value wirelessly from one node to another, as text. While it’s a good example to start off with due to the simplicity, this doesn’t really scale. It’s tedious...
View ArticleA new documentation site
There’s quite a bit of new Forth code in the embello repository on GitHub, and more being added all the time - so it’ll become increasingly important that this code gets documented. There are many...
View ArticleThe JNZ rev4 PCBs are in!
The PCB panels are in! They are produced by PCBcart, and arranged as 10 x 3 units: With a nice blue soldermask + gold plating, just like all the other official boards from JeeLabs. And here’s a...
View ArticleGetting started with a JNZ
One of the features of the JeeNode Zero, is that it takes minimal effort to get started: hook it up via any USB serial interface, using any terminal emulator you like, and you’re all set to go. Here’s...
View ArticleInstalling more drivers in flash
An application written in Mecrisp Forth consists of a number of different parts: The Mecrisp kernel itself: this is 20 KB of Matthias Koch’s hand-crafted assembly code, turning a µC into a Forth...
View ArticleSetting up a remote node
To try out RF communications, we need to go through a number of steps: hook up two JeeNode Zero boards, so we can develop on both in parallel work out the code needed for the receive and send nodes...
View ArticleHow all those JNZs are tested
One of the requirements of the JeeNode Zero rev4, is that each one has to be tested and then end up with the proper software loaded onto it. The obvious way to do this is to connect each board over...
View ArticlePost-mortem of a bug
As everyone knows, the later a bug shows up in production, the more trouble it is to fix… A while ago, a batch of fresh JeeNode Zero rev4 boards was assembled, in itself the result of quite a bit of...
View ArticleConnecting a rotary encoder
This exploration is about connecting a rotary encoder switch for use as an infinitely adustable up/down controller. The basic idea is that there are two switches inside, which generate pulses. In the...
View ArticleCutting the rotary cord
Before moving on to the topic of this article, let’s figure out the problem that came up in the previous one, where adding an OLED display made the rotary encoder readout unreliable. The problem is...
View Article