Jonathan Broadwell's Serial Wombat PIC24 Firmware Offers Simple Portability for Hardware Builds
"If I could find an I2C-to-Whatever adapter board," Broadwell says, "I baked that functionality into the Serial Wombat 18AB firmware."
Electronics engineer Jonathan Broadwell is looking to make beginner electronics projects easier to build and more portable — by adding a "Serial Wombat" chip that arrives ready-to-run upon receipt of UART or I2C commands.
"The Serial Wombat 18AB chip is custom firmware running on a Microchip PIC24 microcontroller," Broadwell explains of the project, which traces its origins back to the original Serial Wombat released in 2005. "You don't program it like an Arduino board. Instead, you use it as is. You send it commands like other I2C peripherals you control (you can also control it over UART)."
The firmware running on the chip, written in a combination of C and assembly code, runs a separate state machine on each of the microcontroller's pin at the rate of 1KHz. Each individual state machine can be set to a range of modes, including but not limited to: General-purpose input/output (GPIO); 12-bit analog input across up to nine channels; pulse-width modulated (PWM) outputs, with up to six offering high performance and a further 12 medium performance; up to 18 debounced button inputs; 18 servo outputs with sub-microsecond precision; capacitive touch sensing; resistance measurement; display driving; and WS2812 RGB LED control.
"In short," Broadwell says, "if I could find an I2C-to-Whatever adapter board, I baked that functionality into the Serial Wombat 18AB firmware. It's designed to be a Swiss Army knife of interfacing functionality. When you integrate a Serial Wombat chip into your project, you get a portable set of hardware that behaves the same on every platform regardless of where high-level commands come from, even across different interfaces. As long as you have a working UART or I2C bus, you can plug your Serial Wombat chip based circuit into an [Arduino] Uno, a Node MCU, a Xiao, a Raspberry Pi, or a PC via UART."
To actually use the Serial Wombat, there's a single Arduino library, which exposes all its its functions — with classes designed to mimic interfaces found in standard Arduino classes, to ease programming. For those who have used earlier Serial Wombat chips, the library remains the same — providing an immediate route to using the new variant.
While it's possible to use the Serial Wombat chip simply by popping it into a breadboard, Broadwell is also funding production of a custom carrier board, which allows for I2C control from another microcontroller, UART control from a PC, Raspberry Pi, or other computer, or conversion into a standalone Internet of Things (IoT) development board with the addition of an optional Espressif ESP8266 ESP-01 module.
"This board is in development and may change in the final version," Broadwell warns, "but [those] features are unlikely to change."
The project is now funding on Kickstarter, with early bird rewards priced at $14 for two Serial Wombat chips loaded with the 18AB firmware, two carrier boards, and the necessary passive parts required.