hero-image
Reduce prototyping time from months to days|Future-proof your product with our radio abstractions|Achieve micropower solutions with minimum effort|Diagnose your firmware directly from the field|Seamlessly integrate with Kudzu Analytics
Kudzu IoT

In the exciting, ever changing world of IoT, Kudzu offers a set of tools, allowing you to efficiently create production-ready, custom IoT solutions.

You can kick-start your hardware product with our Sprout multi-radio, micro-power mainboard, and you can be sure to hit the market in an unprecedented speed.

You can also benefit from the power management, multi-uplink, and remote diagonstic features of our Kudzu Kernel firmware that helps you develop reliable firmware without any extra hussle.

Let us handle the infrastructure, and just focus to your application!

infographic
Sprout Mainboard
The multi-radio base board for your next IoT product
icon
— Bridging the gap between prototyping and product has never been so easy

The Sprout mainboard integrates a LoRa, WiFi and Bluetooth radio module along with advanced power management, security and storage features, making it the ideal base board for implementing any market-grade product.

Develop once and hit the market running

Sprout mainboard concentrates all the essential hardware components needed for the vast majority of retail products, packed in a small, industrial-grade mainboard. This makes the Sprout Mainboard the 80% of your final product already!

Being highly configurable, and with a complete development ecosystem, Sprout allows you to prototype your hardware and software solution directly on the device, requiring no additional development cycle when you are done.

Thus, with a minimal software and hardware development, you can already start production!

Overview

  • Stable operation with as low as 2V input voltage
  • Ultra low sleep power consumption (5μΑ / 10μΑ / 150μΑ according to configuration)
  • Capable of delivering up to 1A to peripherals
  • Hardware load-switch to disconnect external peripherals when not needed
  • Integrates a LiPo Charger and a Fuel Gauge to monitor the internal battery
  • Multiple power configurations possible via jumper switches
  • Data logging on SD-Card or F-RAM for more demanding solutions
  • LoRa (868Mhz), WiFi (802.11b/g/n) and Bluetooth/BLE radios that can be individually disabled when power consumption is a concern.
  • Hardware Encryption Module
  • Very compact U1 (half-width) or U2 (full-width) expansion solutions
  • CE Certification (in progress)

Firmware Details

  • FreeRTOS-based, proprietary kernel, tailored for low power and ease-of-use
  • Fully-featured, mobile-first, responsive Web UI for configuration and visualisation
  • Simple and clean module API interface to minimise the risk of a software bug
  • Automatic uplink selection based on availability, power and criticality
  • Extensive diagnostics collection and reporting of system errors
  • Mobile App for configuration and data visualisation (planned)
  • Radio Awareness technology, that makes radio selection power-efficient (planned)

Software Development

  • On-Device, Web-Based Prototyping IDE (Javascript)
  • Arduino compatible C++ SDK
  • Low-Level C++ SDK

From Unboxing to Production in a few steps

The development process with Sprout is so simple and straightforward that can be summarized in a few steps.

1. Unbox and power-up

After unboxing your Sprout Development Kit, you start by powering-up the device using a micro-USB power supply.

Sprout will start in WiFi Access Point mode. Connect to it, and use your favorite browser to browse to http://sprout.local

Guide 1 - Unbox
Guide 2 - Configure

2. Configure

You can now configure your device. Connect to your home WiFi network or sett-up your LoRaWAN™ keys and parameters.

You are now ready to start your development. Click the "Web IDE" button and start scripting.

3. Sending Sensor Measurements

With our radio and sensor abstractions is now super easy to collect and transmit sensor measurements.

The device will automatically pick up the most efficient uplink to send your data. You can now forget about your network topology completely!

Guide 3 - Sending Sensor Measurements
Guide 4 - Test an actual sensor

4. Test an actual sensor

Connecting a sensor to Sprout is trivial.

You can use the break-out extension to connect it on a breadboard and wire your sensor easily.

Our high-level analog and I2C API makes sensor reading a very simple task.

5. Prototype your hardware

Using our U1 prototyping board, you can create your hardware and test them on the field, without the need of a hardware manufacturing cycle.

All the power management features are handled by the mainboard, and a broad set of GPIOs are available for use.

Guide 5 - Prototype your hardware
Guide 6 - Debug your solution

6. Debug your solution

Using the Sprout System Debugger you can analyze the power consumption of your solution and calibrate it to maximize battery life.

With our Kernel Diagnostic Features you can also be sure that you will get accurate diagnostics in your firmware during your tests.

7. Design and fabricate

When you are satisfied with your ptototype, you can design your custom expansion using our templates.

With our mainboard you can also speed-up your certification process, by relying on the CE marking* of the mainboard, requiring you to certify only your expansion.

* Available by mid-2021

Guide 7 - Design and fabricate
Sprout Debugger
Debug your solution with our integrated debugger extension
icon
— Diagnostics and Power Profiling in your fingertips

Sprout Development Kit comes with a debugging expansion that allows you to diagnose your device without additional lab equipment.

The expansion board is a regular U1 expansion. It plugs on your Sprout Solution and on your computer’s USB port and it allows low-leverl hardware measurements.

  • Adjustable power supply to test battery charging and low-power conditions.
  • Real time current and voltage measurement.
  • Detailed profiling of device power consumption from boot to sleep.
  • Battery life estimation.
  • Serial monitor
  • Firmware Recovery
  • Extension Board Tester
Extending Sprout
Production-grade expansions to reduce your development effort
icon

The sprout expansion system is designed with compactness, flexibility and industrial robustness in mind.

It allows up to two boards to be connected over the mainboard surface, though more boards could be stacked on top of each other.

Technical Diagram - Top
Technical Diagram - 1U Top
Technical Diagram - Side
Technical Diagram - 1U Side

Kudzu offers a variety of off-the-shelf expansion boards that you can already use in your next project:

A general purpose Analog/Digital Sensor Input Board.

  • Stackable: yes
  • Size: 1U

Features:

  • 4x Precision ADC Channels (24-bit)
  • 4x Digital GPIOs
  • Up to 2x Symmetrical ADC Input Configuration
  • Up to 2x I2C GPIO Configuration
  • Up to 1.9ksps sampling rate
  • Low-noise power supply to analog channels
  • Programmable Gain Amplifier With 1, 2, 4, 8, 16, 32, 64, and 128 Gain Options
  • Programmable Excitation Currents on ADC inputs
  • Configurable Low-Pass or High-Pass input filters
  • Peak Detection for programmable interrupts

Sensor Expansion

High precision positioning system with altimeter, ambient light sensor and IMU.

  • Stackable: yes
  • Size: 1U

Features:

  • On-Board or External GPS Antenna
  • Positiong system support: GPS/QZSS, GLONASS/ Galileo, BeiDou
  • Hotfix support using Kudzu Services
  • 3-Axis Gyroscope with Programmable FSR of ±250 dps, ±500 dps, ±1000 dps, and ±2000 dps
  • 3-Axis Accelerometer with Programmable FSR of ±2g, ±4g, ±8g, and ±16g
  • 3-Axis Compass with a wide range to ±4900 μT
  • Calibrated barometric range: 50 kPa to 110 kPa absolute pressure
  • High ALS sensitivity with minimum detectable intensity of 0.0004 lux/bit

Positioning Expansion

Cellular expansion module with eSIM.

  • Stackable: yes
  • Size: 1U

Features:

  • External mult-band antenna required
  • 3G UMTS/HSDPA/HSUPA Bands:
    • Band 19 (800 MHz)
    • Band 5 (850 MHz)
    • Band 8 (900 MHz)
    • Band 2 (1900 MHz)
    • Band 1 (2100 MHz)
  • 3G UMTS/HSDPA/HSUPA Bands:
    • GSM 850 MHz
    • E-GSM 900 MHz
    • DCS 1800 MHz
    • PCS 1900 MHz

3G Expansion

Basic Input/Output Module for buttons, actuators or motors.

  • Stackable: no
  • Size: 1U

Features:

  • 4x Outputs with H-Bridge configuration
  • Internal power supply:
    • 5V, 1A supply
    • Capcitor bank at 260mAh with regulated charger.
  • External power supply: 2.7V to 18V
  • Maximum 1A RMS H-Bridge driver current at TA = 25°C
  • Example loads:
    • Single or dual brushed DC motors
    • One bipolar stepper motor
    • Solenoid loads
  • 2x Wide voltage inputs
  • 5V to 220V, optically isolated digital inputs

Basic IO Expansion
Reference Configurations
Ready-to-use solutions using existing expansions

Using the available hardware configurations it is already possible to create a variety of sensor devices without the need of any additional hardware development.

The posibilities are endless!

infographic
Geopositioning
Cellular Expansion
Sprout Mainboard

You can use Sprout as a multi-radio, low-power asset tracker, using LoRa and Wifi and 3G/4G uplinks.

This configuration is possible using:

  • Precision Geopositioning Expansion
  • 3G/4G Expansion (If needed)
  • Sprout Mainboard

This solution is powered by:

  • Dry-Cell Batteries (AA/AAA)
  • Rechargable LiPo or LIR2032 coin cell batteries
  • Solar charging or connection to vehicle power supply (12v/24v)

infographic
Sensor Expansion
Sprout Mainboard

You can use Sprout as a low-power LoRa weight scale using the analog expansion. It is capable of reading up to 2x load cells with configurable precision.

This configuration is possible using:

  • Sensor Expansion
  • Sprout Mainboard

This solution is powered by:

  • Dry-Cell Batteries (AA/AAA)
  • Rechargable LiPo or LIR2032 coin cell batteries
  • Solar charging

infographic
Sensor Expansion
Sprout Mainboard

You can use Sprout as an energy consumption metering sytem using the analog expansion.

Using either of the

This configuration is possible using:

This solution is powered by:

  • Dry-Cell Batteries (AA/AAA)
  • Rechargable LiPo or LIR2032 coin cell batteries
  • Mains Transformer

infographic
Basic I/O
Sensor Expansion
Sprout Mainboard

You can use Sprout as a smart garden solution, communicating either over LoRa or over WiFi.

The Basic I/O expansion is capable of driving 5V latching solenoid valves, even when the batteries are close to depletion.

At the same time, the sensor expansion is capable of reading-out humidity, PH, and other chemical sensors, allowing you to measure the soil state.

This configuration is possible using:

  • Up to 4x Latching Solenoid Valves (5v)
  • Up to 4x Analog sensors (ph, acidity, humidity)
  • Basic I/O Expansion
  • Sensor Expansion
  • Sprout Mainboard

This solution is powered by:

  • Dry-Cell Batteries (AA/AAA)
  • Rechargable LiPo Battery
  • Solar charging

Kudzu Kernel
Our highly reliable, modular IoT kernel that minimises your development effort
icon
— Write less, achieve more, always stay reliable

Our hardware solutions are accompanied with our proprietary Kudzu Kernel that helps you rapidly develop your firmware without sacrificing performance or quality.

We help you focus on your application business logic, off-loading the network, power management and diagnostic details into the kernel modules that we have developed.

You can browse through the kernel features below:

Kudzu Kernel abstracts away all the network implementation details, allowing you to focus solely on your application.

On your firmware side, you are only required to call a .send function and pass your unstructured data. The Kernel will take care of delivering your payload in the most efficient manner.

The choice will be made based on the power requirements of your application and the criticality of your message.

 

Regardless of the uplink channel chosen, Kudzu concentrates the data into a single gateway and it then forwards it to your application.

This way every send method is translated to a /receive callback, letting you focus solely on your application.

Kudzu Kernel is designed with a scalable, modular API based on a central event loop dispatch. The benefits of this approach are multiple:

  1. It lets you focus on the business logic of your application.
  2. It reduces the ammount of critical code that needs to be implemented.
  3. It creates strong API abstractions, making your logic portable to other hardware platforms.

Kudzu Kernel is designed for minimising the power consumption of the device, without compromising the firmware performance when needed.

For this purpose, the kernel offers the following features:

  • Power Levels : Similar to runlevels in linux, our kernel supports various levels
  • Power Rings : that enables precise activation of the respective hardware
  • CPU Throttling : that reduces power consumption when needed
  • Automatic Idle Detection : that puts the device on sleep when no modules are active

If you are developing an IoT sensor most of your business logic is usually focused on sampling the sensor data and transmitting it over the network.

To help you abstract away the different uplink protocols (MQTT, Cayenne LPP, etc.), Kudzu Kernel comes with a built-in metric aggregation hub. Your firmware can push data to the hub when requested, and the hub will take care of delivering them to your uplinks.

Your business logic can therefore be simplified down to:

onEvent("sensors.sample", function () {
  // Read sensor
  const temperature = readSensor();

  // Add sample on Sensor Hub
  sampleAdd("sensor-a", {
    temperature: temperature,
  });
});

Kudzu Kernel offers advanced diagnostics capabilities, allowing you to debug your application, even on the field.

When your firmware hits an unrecoverable exception Kudzu Kernel collects a diagnostic bundle for that error. This bundle can later be transmitted over radio, or collected with local access from the device.

Kudzu Kernel comes with a full-blown, feature-rich configuration Web UI. This interface is served over WiFi, using a web-server built into the kernel firmware.

This interface provides:

  • A responsive, mobile-friendly interface for tuning module parameters.
  • A real-time, interactive logging interface through which you can debug your firmware.
  • An embedded Javascript Scripting IDE for developing your sensor firmware.
  • Over-the-air firmware updates.

And all this with a tiny (~3kb) footprint to your overall firmware, using the powerful .DOM template engine.

Kernel Specifications:

  • Programming Language : C / C++
  • Based on FreeRTOS
  • Native C++ SDK
  • Protoyping Javascript SDK
  • CPU Support : 32-bit XTensa (ESP32), 32-bit ARM Cortex M0

Builtin Modules

ESP32 (XTensa) HAL Modules:

  • Bluetooth Radio Driver
  • External I2C Driver
  • External SPI Driver
  • Internal I2C Driver
  • Internal SPI Driver
  • UART Driver
  • WiFI Radio Driver

Generic HAL Modules:

  • Cellular Modem Radio Driver
  • External Voltage Bus Driver
  • Hardware Security Module Driver
  • Internal Voltage Bus Driver
  • LoRa Radio Driver
  • SD-Card Driver
  • Power Supervisor

Application Modules:

  • Cellular Modem Uplink
  • Crash Reporter
  • HTTP Configuration Service
  • HTTP Firmware Updater
  • HTTP Logging Service
  • HTTP Server
  • Javascript Scripting IDE
  • LoRa Uplink
  • NTP Client
  • WiFi Uplink
Next Steps
icon

Feel free to contact us if you need more information about our solutions.

CoVID pandemic has caused a world-wide delays in the fabrication process and therefore our product is not yet stocked in our marketplace.

However, the good news is that our manufacturing pipeline will be returned soon back to normal.

Feel free to express your interst and we will contact you when we are ready!

Contact us
Let’s start a project

Address