Open Smart Kit (OSK) is a set of open-source ESP32-based modules ideal for a variety of automation tasks, including home automation. Each of the modules has its purpose or, let's say, unique capability, but all of them belong to the same ecosystem.
A bit of history
This project started years ago, intending to create a more or less universal module for different kinds of automation. Initially, we were using an ATmega 328P microcontroller from Microchip. Those early versions were relatively limited due to the selected microcontroller (not much RAM and flash, no native Ethernet support) though they defined the main characteristics:
- An enclosure with a DIN rail mount
- Pluggable terminal blocks
- Three main module types (one with power MOSFETs for DC, second with solid state, and third with mechanical relays)
- Cross-module communication (in that version, only CAN bus was supported)
It was clear that the module requires a better microcontroller with more resources, computation power, and better connectivity. At that time, ESP32 was slowly replacing ESP8266 as the main chip for DIY projects, so we selected it as a 328P successor. In addition to more resources (2 fast cores, up to 16 MB flash, Wi-Fi, Bluetooth) while keeping full Arduino compatibility, it allowed us to use FreeRTOS with its broad capabilities.
Why we started this project? Is there nothing similar that is ready to use?
The answer is yes and no. When we started the automation setup for our own homes, we found a gap between ready-to-use devices and Arduino-like hobby tools. But let's start with the requirements:
- Ready-to-use, compact, enclosed module (ideally, with DIN rail mount)
- Cross-module communication via a wired protocol
- Wi-Fi or Ethernet support
- Ability to control DC (including PWM dimming) and AC
- Custom firmware support
- An open ecosystem with the ability to use different sensors
- A reasonable price
With different Arduino modules, we can satisfy all requirements except the first one. While those modules are great for prototyping, they are for sure not ready-to-use, not compact, and rarely enclosed properly.
With modules from big brands, we see a bunch of different problems:
- A closed ecosystem that doesn't allow connecting sensors from different brands.
- Custom firmware isn't allowed.
- Cloud locking.
- The price is often too high for the proposed functionality.
What OSK offers?
Open Smart Kit tries to combine things from two different worlds and provide ready-to-use modules (hardware-wise) while kipping all benefits of a DIY solution. We define such primary features/advantages of the OSK:
- Ready to use. Each module is a complete device that is ready to use out of the box.
- Modular. Consists of separate PCBs that can be easily upgraded or replaced.
- Mult-protocol. Modules support Wi-Fi, Ethernet (via extension board), Bluetooth, RS485, or CAN bus.
- Multiple I/O ports. Sensors can be wired directly to the module, which provides better reliability than wireless connections.
- Easy to program. Can be flashed via USB Type-C and OTA with custom firmware (Arduino/ESP-IDF) or ESPHome.
- Compatibility. Does not lock the user into a particular ecosystem. OSK can be integrated with a variety of different devices and services.
- Open source. Schematics and documentation are open and available to the end user.
- Privacy. Doesn't require a connection to the cloud. You fully control what data is requested and sent.
Modularity
Each OSK module consists of four required PCBs (power supply, IO, controller, and main board), one communication board to support RS485 or CAN bus, and an optional extension board (SD card, Ethernet, RTC, etc.).
The power supply converts the input voltage to the voltage required for the module components. It achieves this in two stages:
- High-efficient (step-down) DC-DC converter to convert voltage from 12V to 5V.
- Low dropout linear regulator - from 5V to 3.3V.
All stages additionally have different kinds of protection: overcurrent, thermal shutdown, etc.
IO board responsible for:
- Routing the microcontroller's IOs to the Main Board
- Adding more IOs via the I2C expander
- Protecting all IO pins from static electricity
- Switching logic levels (5V or 12V)
The controller board is the heart of the whole module. It contains the ESP32 microcontroller and additional components required to drive it properly and comfortably, including USB to UART interface, USB Type-C socket, status LED, voltage supervisory circuits, etc.
The main board is the only board that has a different schematic per each module type. Also, it has sockets for all previously described bords (except the communication board, as it connects directly to the controller board) and pluggable terminal blocks to connect power, sensors, and different devices.
Schematics for the boards are available in the OSK_Hardware repository.
Available modules
In the current stage, we developed three types of modules:
- The Relay S1 comes with 8 mechanical relays that have two contacts each, as well as 16 I/O. With these relays, users can easily control up to 6A for both 250VAC and 30VDC.
- The Relay A1 comes with 8 solid-state relays and 16 I/O. A user can control up to 2A 240VAC using those relays.
- The DC S1 has 6 power MOSFETs and 16 I/O. A user can control up to 6A 48VDC using those MOSFETs.
Different sensors or output devices can be connected using 5V/12V tolerant I/O terminals to all OSK modules.
In the table below, you can see a comparison of the available modules.
* Available via extension board
Who are the modules for?
Open Smart Kit was created by programmers for programmers (with the initial intention to automate our homes) so users can develop custom firmware and effortlessly flash it with no limitations. At the same time, users who don’t wish to program OSK can set it up in minutes by using a friendly, plug-and-play software like ESPHome.
Where to buy OSK modules?
Currently, we are starting a Crowd Supply campaign to understand the demand and to produce modules in larger quantities at a reduced price.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.