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

USB serial in Forth, progress!

A while back, an article was posted about the lack of USB on STM32F103 µCs, when it comes to Mecrisp Forth, that is. Unfortunately, getting the built-in USB device-mode hardware working is quite a...

View Article


Let's start with a Blue Pill

If you search for “stm32f103c8t6 board” on eBay, you will get lots of hits for what is essentially a single product, to be called the “Blue Pill” from now on: The price of these boards is absolutely...

View Article


USB serial is a good way to go

Note: let’s use “F103” as shorthand to avoid typing “STM32F103C8T6” all the time The F103 has a built-in ROM-based boot loader, so there’s no risk of ever damaging it, but it’s quite limited since it...

View Article

We need a toolchain and library

Now that the connections and uploading have been dealt with, let’s turn to generating code. First of all, we need a C/C++ compiler: this one. GCC is now at version 5.0, but 4.8 is also fine (there have...

View Article

LED blinks and serial echoes

Compiling software for the F103 is very easy but – as so often – does take a little preparation. In this case, we will need set up a few build files and make sure they are correct for the F103. But...

View Article


Hooking up an RFM69 radio

It’s time to step things up a bit. Let’s create a wireless node, with an RFM69 attached to an F103 µC, and then see if we can make it sing… We’re going to need two nodes, if we want to actually test...

View Article

Fancy serial with a SerPlus

So far, to upload new code to a Blue Pill, you had to change a jumper, press reset, perform the upload, change the jumper back, and press reset again - this will quickly become very tedious! So why not...

View Article

Stop staring at that screen!

Embedded software development can usually be characterised by the following diagram: In other words: a “host” computer with a cross-compiler, where you enter code, compile it, and upload it to a...

View Article


Peeling off layers of complexity

As you know, compilers generate code. They take one or more source files and turn them into an executable. In the case of embedded software development, the compiler is actually a cross-compiler...

View Article


Polish notation and tiny words

Ok, so what is this “Forth” thing like, as programming language? One way to answer this question, is to point to the Forth in 7 easy steps article, published a while back on this weblog. Go ahead and...

View Article

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 Article

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

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


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

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


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

Taking 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 ex/leds.fs: forgetram \...

View Article


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

Hey, 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 rf-init to...

View Article

Ultra 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 Article
Browsing all 296 articles
Browse latest View live