Today I attended a Maker Night at Farset Labs in Belfast. It was a great chance to chat with other makers, shoot the breeze, see what people were working on, and learn a little more about the facilities available at the makerspace.

There appears to be plenty going on, particularly around laser cutting, 3D printing and CNC machining. My own work is somewhat adjacent to much of that these days, being mostly focused on electronics design and coding, but it’s always interesting to see what other people are building and what can be produced with the various tools available at the makerspace.

I haven’t had as much time to work on the 3D printing side of things as I used to, although I’ll probably need to crank up my 3D printer again soon, as I already have a few ideas for parts I’d like to fabricate.

UCMOD-1 Design#

Another thing I worked on today was the first version of the UCMOD-1 module.

The UCMOD-1 is an STM32G0B1-based UCMOD module using the STM32G0B1CBT6 microcontroller. It uses the same standard UCMOD connector pinout as the ATtiny1614-based UCMOD-0, allowing it to remain compatible with carrier boards designed around the UCMOD interface.

The STM32G0, however, provides considerably more functionality than can reasonably be exposed through the standard UCMOD connector alone. To make use of this, the UCMOD-1 also includes an optional 2x10 auxiliary header that can be populated if the additional functionality is required.

This auxiliary connector provides access to additional GPIOs, ADC inputs, I2C, SPI and USART interfaces, among other features.

Unlike the main UCMOD connector, the auxiliary connector isn’t intended to be standardised between modules. Each UCMOD implementation can expose whichever additional features make the most sense for its particular microcontroller.

The idea is that the main UCMOD connector provides a common baseline interface that carrier boards can rely upon, while the auxiliary connector allows more capable modules to expose features that would otherwise be unavailable.

This means a carrier board designed purely around the standard UCMOD interface should be able to accept different modules, while more specialised designs can take advantage of the additional capabilities of a particular module where necessary.

The STM32G0 UCMOD-1 KiCad Module

The STM32G0 UCMOD-1 KiCad Module

The main motivation for creating the UCMOD-1 is simply that the STM32G0 is considerably more capable than the ATtiny1614 while still being relatively inexpensive. It offers substantially more memory, processing power and peripherals, making it a good candidate for applications that have outgrown the smaller UCMOD-0 without requiring an entirely different carrier-board architecture.

I’m hoping to have the module’s design shipshape by the end of the week, although my main priority at the moment is continuing to test the UCMOD-0 ATtiny1614 module with the Isolated RS485 Building Block Board.

I don’t want to send another batch of boards off for fabrication until I’m confident that the current UCMOD interface and carrier-board implementation work as expected. Once that baseline has been properly tested, the UCMOD-1 should provide a useful demonstration of how the same interface can scale from a relatively small 8-bit microcontroller to a much more capable 32-bit device.

Oh, and if anyone is based near Belfast and fancies checking out Farset Labs, pop along to one of their Maker Nights. It’s a great place to meet people working on interesting projects, and it’s well worth supporting.