Chasing the Unicorn
No, not that legendary creature - northis…Although I admit that there’s something mythical about what I’m describing here.I’m talking about the new design for JET.My goal for oh so many years has been...
View ArticleThe Ambition of JET
The JET project is a collection of ideas and some experimental code to try and realise that elusiveUnicorn from my last post.A picture explains best what JET is about:There are three sub-systems...
View ArticleReducers and transducers
As part of becoming more familiar with the Clojure programming language, I recently decided to immerse myself in“Functional Programming” (FP),“Immutability”, “Pure Functions”, and such. It’s been...
View ArticleCold storage with Btrfs
Although external 3.5” disks are no longer much in use here (too noisy, power hogs), I still have a bunch of 500G and 750G drives, as well as a <cough>“huge” 2T drive.They are still useful for...
View ArticleBridging MQTT to a µC
As part of the bigger JET story, I need to tie microcontroller nodes into MQTT, with the data flowing in both directions:As shown above, the idea is to use Folie for this, but that’s still a way off...
View ArticleEnabling USB on a Blue Pill
As you may have guessed from my last post, I’ll be using the Blue Pill STM32F103 µC board for some JET engine experiments. It’s available on eBay, etc (for less than $3).With the USB console working...
View ArticleNew hardware at JeeLabs
I’ve been upgrading some of the hardware here lately. The Odroid XU4 (web server) + Odruid U3 (home server) + CHIP (PiHole) setup was working ok, but I was growing a bit tired of multiple systems, with...
View ArticleDocumentation, moi?
For years, my weakest spot has always been documentation, and it’s been sticking out like a sore thumb. For all the code I’ve been slinging into this world, paid and unpaid, open and closed,...
View ArticleDuplicacy with Wasabi
No, this is not a recipe for a meal…I’d like to describe the backup structure now in place here at JeeLabs, which has been running for a few months. It’s working out nicely for a personal + family...
View ArticleMy new (old) Linux laptop
I’ve had this really nice laptop sitting around for quite some time now:It’s a dual-core i7 with SSD and USB3, and quite up-to-date still by today’s standards.The matte 1920x1080 display is really nice...
View ArticleSigned and encrypted email
It’s surprising that S/MIME is not more widely used. It offers authentication, so that you can be sure the email comes from the person that email address belongs to, which will kill all (spear-)...
View ArticleGarbage collection for JET
The JET project is based on a dataflow engine, which needs to run on a variety of hardware, in particular fairly low-end µCs.But dataflow requires passing messages around, and I want these messages to...
View ArticleData structures for JET
Another post about the JET project. This time around, I’m trying to come up with simple data structures to get the job done, i.e. supporting a PureData-like dataflow engine, able to fit in very small...
View ArticleData structures for JET, cont'd
I made some good progress on the design of an early prototype forlast week’sJET data structure design. So far, it’s all working out well (I’m coding this in C), with some useful refinements:the gadget...
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 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 - Wed Forth over USB on STM32F103 - Thu Performance and I/O toggling - Fri As always, these...
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 ArticleVarious JNZ developments
While waiting for the next JeeNode Zero revision, I’ve started on some examples and documentation for this new fun ecosystem. So there’s a bit of everything this week: Analog over wireless - Wed...
View ArticleThe JeeNode Zero rev4
It’s official: the first batch of JeeNode Zero rev4’s has been assembled, pre-loaded with software, and tested. Currently in transit from NL to the UK shop. It’s real now: There are a number of...
View ArticleA wireless rotary encoder
This week, I’ll be playing around a bit with a rotary encoder, wireless, and an OLED: But first, a brief tale of a belated little bug which caused a few surprises… Post-mortem of a bug - Wed Connecting...
View ArticleBring in the Pies!
For production, fast re-flashing and testing of each JeeNode Zero is going to be a must. This week’s episode will be about speeding up the uploads, but also several ways to debug and test any STM32...
View ArticleNo milk today...
Yikes. I’ve been felled by some bad stomach cramps and fever these past couple of days. Hence no articles this week - my apologies! The blog will resume next week, stay tuned.
View ArticleKeeping busy (in Forth)
Serial ports, radio packets, I2C devices… it adds up when you’re trying to keep many activities going at once. Luckily, there are some nice packages for Mecrisp Forth to help with this… This week, I’m...
View ArticleSD cards, interrupts, and DMA
This week is another potpourri of code for the STM32F103, the purpose of which will become clear next week… suspense! SD cards and µSD cards have a ridiculous amount of storage in a very small package....
View ArticleCircular motions
Just back from a few days in Paris, visiting friends (a bit south of Paris, actually), but we did manage to squeeze in a stroll in the Jardin du Luxembourg - with memories of a (brief) childhood there,...
View ArticleJust a bunch of opinions
This week, I’ll report about some progress on the next EZ-Retro “v2” PCB and build (which isn’t quite right yet, unfortunately). But first, a topic which has been keeping me busy lately… typing and the...
View ArticleBack to Forth explorations
Now that the EZ-Retro project is beginning to wind down, I’ll start exploring Forth’s features and behaviour a bit more again. One of the distinguishing features of a fully self-hosted system like...
View ArticleSome Mecrisp Forth utilities
This week, I’m going to demonstrate some tools from the Mecrisp Forth distribution. A different prompt, math functions (even without hardware floating point), random numbers, call tracing/profiling,...
View ArticleGoing through the motions
The last word in last week’s introductory weblog post was “flow”. Let’s talk about that for a moment: what is it like to develop a Forth application for an embedded µC, and in particular a remote node?...
View Article2.4 GHz with a JeeNode Zero
The JeeNode Zero has always had two footprints for radio modules on its PCB. Apart from an RFM69 (or RFM12), you can also mount an RFM70, 73, or 75 on there: (this is the older “v1”, the new “v4” is...
View ArticleRevisiting the JET design
There’s not much point sprinkling wireless nodes around the house without also a solid central infrastructure to collect data and manage the outbound control requests. Some readers may remember...
View ArticleHello Pi-hole, goodbye ads!
It’s that time of year again: this is the start of “summer mode” for the JeeLabs weblog. Instead of weekly article series, there will be just one post per week, covering a somewhat wider range of...
View ArticleQuad 18650 power supply
Might not have been such a great idea to 3D-print this DIY supply I made in red: (it does look slightly alarming, I’m afraid) This is a little portable power supply I made a while back, with four very...
View ArticleLow-ripple HP power supply
I got a power supply from eBay a while ago: That’s an HP 6255A: 2x 0..40V @ 1.5A, max 80V in series. But the interesting spec is its very low noise: <0.5 mV and <0.2 mA. These supplies are very...
View ArticleUT61E 4½ digit multimeter
Ah, gadgets… can’t have too many of ‘em! It’s hard to think of anything more useful and relatively low-cost for the electronics lab than the venerable digital multimeter. It’s good to have at least two...
View ArticleA whiff of Denmark...
The past few weeks, I’ve been vacationing in Denmark. Now that Liesbeth is no longer tied to her fixed job schedules, we try to take our summer break before everyone else does in July and August. What...
View ArticleA different mindset
One of the things I get to do on vacation, and especially while traveling by train, is reading (e-)books - tons of them, in fact. I tend to read a lot all year round, technical articles, textbooks,...
View ArticleAnother pile of books
Here are more books I’ve been reading recently, of the “techie” variety and a bit closer to the usual topics on this weblog. For electronics, there’s really not much that can compare to “The Art of...
View ArticleClosures versus Objects
For a recent project I’ve been working on, I had to deal will lots of small components, each with somewhat different behaviour, and had tried several times (unsuccessfully) to come up with a good...
View ArticleBrowser-side programming
It’s been a while since I did any browser-side programming. Even though I’ve been meaning to dive back into it for ages (the reasons for which will become clear in an upcoming weblog post). As we all...
View ArticleDiving into ClojureScript
In my post on multi-platform development recently, I mentioned Clojure (CLJ) as one of the languages which can be compiled to JavaScript - then it’s called ClojureScript (CLJS), although they are...
View ArticleEZ-Retro is a Z80 running CP/M
And now something completely different! I’ve always been fascinated by those 8-bit computers that started it all. As a teenager, I spent many hours reading about them, but never could afford a Z80...
View ArticleEZ-Retro Z80 - part 2
Getting CP/M working on this two-chips-plus-a-blue-pill setup took more time than I thought, especially on the software side. This week, I’ll turn Forth into a peek-and-poke monitor for the eZ80,...
View ArticleJET today - there's a lot to do!
Sooo… with all this talk about Unicorns and Ambitions, it’s now time to walk the walk. I’m focusing my efforts on 3 repositories: JET is the over-arching collection where all the pieces of JET come...
View ArticleSMA Solar readout - part 1
This is the first post of a 3-part series about reading out an SMA solar inverter over Bluetooth and displaying some readings every few seconds. Long-time readers may remember the Solar at last weblog...
View ArticleSMA Solar readout - part 2
(Part 2 of the SMA Solar readout series) Here is the hardware, with its three main components - LCD, µC, and Bluetooth: The bottom is wired up using my favourite one-off soldered-kynar-wire technique:...
View ArticleSMA Solar readout - part 3
(Part 3 of the SMA Solar readout series) With everything working as intended, it’s time to wrap things up. As this unit only has an LCD sticking out and no other controls (i.e. It Should Just Work when...
View ArticleTFoC - A minimal computer
(This article is part of the The Fabric of Computing series: in search of simplicity) With today’s programming languages, it’s easy to ignore what goes on inside. Maybe you’ve never even bothered to...
View ArticleTFoC - A compiler in 256 LoC
(This article is part of the The Fabric of Computing series: in search of simplicity) The previous TFoC post was about a truly minimal setup, capable of just very simple computation. This time, let’s...
View ArticleWinding down, switching gears
Let me get right to the point: the scheduled daily weekly posts on this JeeLabs weblog are coming to an end. I’m going to move away-and-onwards from the “blogosphere”. There are several reasons for...
View Article