Quantcast
Channel: Articles on JeeLabs
Browsing all 296 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

A 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 tools...

View Article


Image may be NSFW.
Clik here to view.

The 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 close-up...

View Article


Image may be NSFW.
Clik here to view.

Getting 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 a...

View Article

Installing 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-craftedassembly code, turning a µC into a Forth compiler...

View Article

Image may be NSFW.
Clik here to view.

Setting 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 parallelwork out the code needed for the receive and send nodeslower...

View Article


Image may be NSFW.
Clik here to view.

How 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 Article

Post-mortem of a bug

As everyone knows, the later a bug shows up in production, the more trouble it is to fix…A few weeks ago, a batch of fresh JeeNode Zero rev4 boards was assembled, in itself the result of quite a bit of...

View Article

Image may be NSFW.
Clik here to view.

Connecting 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 Article


Image may be NSFW.
Clik here to view.

Cutting 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


Image may be NSFW.
Clik here to view.

Making an always-on device

It’s all nice and well, but a JeeNode Zero which needs to remain tethered to a host to set it up after each reset is not very useful. Fortunately, this can be fixed using a simple recipe:add these two...

View Article

Image may be NSFW.
Clik here to view.

Several years on a coin cell?

So far, the power consumption of the rotary encoder node has been optimised by taking the current draw from 5.0 mA to 45 µA - that’s an estimated coin cell battery life of 6 months.Unfortunately, this...

View Article

Image may be NSFW.
Clik here to view.

Faster uploads through SPI

It turns out that a ROM-based serial upload with Folie takes about 22 seconds for a standard Embello install (Mecrisp + always/board/core). While this is fine for occasional re-flashing, it adds quite...

View Article

Image may be NSFW.
Clik here to view.

Every possible connection

The Raspberry Pi does not really need an introduction: Linux plus some tinkering pins - who could possibly ask for more? It has all the features needed to create a flexible and powerful programming /...

View Article


Image may be NSFW.
Clik here to view.

Setting up the Pi software

To turn the Raspberry Pi into a general-purpose uploader / debugger for ARM STM32 chips, we need to set up some software.First of all - the OS. DietPi is a very practical little distribution these...

View Article

Let's try out the multi-tasker

There’s been a multi-tasker hiding in the Embello repository for some time now. It’s a small variation of the one provided as part of the Mecrisp distribution, also on GitHub.The multi-tasker lets us...

View Article


Sometimes, timers are easier

Multi-tasking is a great mechanism, but there is a drawback: each task needs its own stack. In the case of Forth, it’s even worse because each task needs both a return stack and a data stack.In its...

View Article

Stay busy, but also sleep a lot

One of the examples in the multi.fs code contains this little gem:: sleep ( -- ) [ $BF30 h, ] inline ; \ WFI Opcode, enters sleep mode task: lowpower-task : lowpower& ( -- ) lowpower-task activate...

View Article


Image may be NSFW.
Clik here to view.

SD cards with FAT files

Those little plastic µSD-to-SD card adapters, of which you may have a bunch lying around since they are often included with new µSD cards, make excellent µSD card sockets:There are many libraries (in C...

View Article

Interrupts, tamed at last

Before going into interrupts, why they’re needed, and why they are tricky, let’s first look into an example which does not use interrupts: writing a pass-through USB-to-serial application.Note that...

View Article

Image may be NSFW.
Clik here to view.

Tying SPI and DMA together

If you consider µCs to be incapable of any “serious” data handling, then you’ll be in for a treat.The following design was created for an upcoming project, which needs a fairly high-speed path for...

View Article
Browsing all 296 articles
Browse latest View live