Control devices through a scriptable engine running on top of a microcontroller. Device has 2 SIMs, 2G, 3G, LTE, WiFi, LoRa, GPS and BT5

Similar projects worth following

The aim of this project is to create a weatherproof, solar/USB powered platform that can sense and control devices. A variety of open source sensors can be connected to it. And all can be programmed with JS running on top of C on a micro. The device can be configured over BT, USB-C and over-the-air.

Cloud Connectivity
Pulse can connect to the internet over WiFi and 2G/3G/LTE.

Wired peripherals
- I2C sensors such as temp/hum
- Serial sensors, such as a openMV
- SDI-12 Weather sensors such as soil and environmental sensors
- RS485 sensors (through a serial to RS485 adaptor)
- 4-20mA sensors
- Relays, mosfets, etc

Wireless peripherals
- WiFi sensors such as WiFi smart home devices
- BLE devices such as a smart scale
- LoRa devices such as a Pycno soil sensor
- FSK RF devices such as legacy weather stations

See below for more tech info. FB group on the sidebar.

Quick specs

  • NRF52840 - 1MB Flash, 256KB RAM (NRF5340 being evaluated)
  • 32MB Flash
  • 1.8W Monocrystaline solar panel
  • 1.8” OLED screen (Laminated with the solar panel, pics coming soon)
  • USB-C for firmware and script loading
  • External micro-SIM - there is a SIM internally too
  • Multiport A & B - 9pin waterproof connector
  • Push-button (ON/OFF & Force upload data)
  • 3500mA/h Battery

2021 - NEW DESIGN!!! YAY!!

Multiports and Sliding block System

As part of its connectivity, Pulse has 2 Multiports and a sliding block interface. This allows you to connect sensors and actuators directly on the 2 Multiports or slide in a pre-made module or your own module.

Some examples of our first batch of modules. 

This is how the modules slide into Pulse. Still working on the waterproofing of them.

How the modules look from the bottom of Pulse




  • Building a Modular IoT Gateway 2021 Update

    MG02/08/2021 at 19:22 0 comments

    This is my 2021 update for project PULSE! A modular IoT gateway that enables super fast customization and deployment!

    Lets look at the progress in this update:

    • New Design - Towards the end of 2020 we moved to another design that improves the overall product by a lot! We have also been busy trying to make it injection moldable!
    • First electronics arrived in December 2020 - January 2021 but we have spend a lot of sleepless nights testing and developing software for them. 

    • This is the 8th revision (of the new design) that we received. In this video we are showing the typical process that we go through to assemble and test the new revision of plastics. We do a fit test, paint, and assemble the unit. Even though not shown in the video, some individual parts had over 20 revisions!
    • We got new rubbers for the sliding block (SLI) faceplate, PCB area and t a round screw cap.

    • Injection molding quotes came in in the last few weeks, definitely will blow over our budget so we are working with the factories to reduce the cost and make sure our parts are moldable.
    • Embedded software and server software is still a huge work in progress. The good news is that we know how to do it, but we are always out of bandwidth!
    • We have a new member in the family, Ivan. Ivan is a mechanical engineer from Singapore University that will be helping us with the factory test jigs and fixtures and also new sensor peripherals

    Here is the video for this update! Hope you like it.

    Next update

    1. Have Pulse collecting data from nearby wireless sensors (temp, soil) and also from its own SLI
    2. Use 2G or 4G to upload its data
    3. Work on the OLED code to build a basic menu
    4. Finish bootloader to allow for easy programming by the customer
    5. Advance hardware (Plastics + PCBs)

  • Playing with the 2G/4G dual antennas, stay tuned!

    MG11/20/2019 at 11:53 0 comments

    Process of making antennas for multiple frequencies

  • Laminating an OLED in a solar panel

    MG11/16/2019 at 16:23 0 comments

    Instead of using LEDs for showing the status of Pulse, we are planning to use an OLED screen. The only place we have is on the solar panel but that might be a little risky due to the pressure and temperature of the lamination.

    First we need to make a PCB that has a cutout so that the oled can slide in.

    Then we need to put all the layers for the lamination. Typically solar panels have PET and EVA layers to accomodate the thickness needed. Different PET or TPT materials have different properties, like UV resistance.

    In some cases we need to put tape to support the OLED and not let any molten plastic to leak through.

    Once the solar panels are in, we press them for around 30 minutes.

    The panels come out as one piece so then we remove the excess EVA and PET.

    Finished panel, some cell misalignment.

    OLED from the back

    OLED running adafruits demo code

    And finally with the Pulse. 

  • Current testing

    MG11/14/2019 at 16:23 0 comments

    Measuring current with an OTII and trying different form factors

  • More field testing

    MG11/12/2019 at 21:53 0 comments

    Tomato greenhouse testing

  • Multiports

    MG11/12/2019 at 17:00 0 comments

    To connect wired peripherals there are 2 waterproof connectors with the following pinout

    • I2C & UART -> These 2 interfaces are used in order to talk to various peripherals. For UART, some connectors will have a built-in adaptor to convert it into SDI-12, RS232 and RS485.
    • VOUT - The Vout pin has a configurable 5-24V output for various valves and sensors that need more than 3.3V voltage supply. The max current is 1.5Amps.
    • VIN - The Vin pin is for externally charging the device via a bigger solar panel or a 5-24VDC power supply.
    • INT - The Int pin is responsible for waking up Pulse and also allowing it to detect when the cable is unplugged (In case the user connects a peripheral A that needs 24V and then connects a peripheral B that needs 12V).

  • Sliding modules

    MG11/12/2019 at 11:27 0 comments

    New system for connecting your own sensors and extending Pulse's functionality.

    Apart from the 2 waterproof multiports, there is a drawer kind of mechanism. that allows you to slide in different modules in order to "host" your designs, while the rest of the device handles all the communication with le interwebz.

    Some examples of a BNC sliding block, an I/O module (with crappy grommets at the moment) and an indoor air quality module.

View all 7 project logs

Enjoy this project?



Martin wrote 01/23/2020 at 17:24 point

How much data are you planning to send?

Because LoRaWan would be great with something like this i guess.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates