Skip to main content
Jump to: navigation, search

Mihini/Developer Kit

This page collect ideas for what will eventually become an official Mihini/M2MIWG developer kit. The aim of such a kit is to provide all the required H/W for running and evaluating Mihini. It has to be available from virtually any electronics reseller, and at a very affordable price (< 50USD?)


  • The dev. kit must be repurposable, i.e it must be able to act as a Modbus device, CAN Bus device, ... depending on the solution the developer wants to prototype.
  • The dev. kit must be available both in the form of a kit (cheapest form), and pre-assembled
  • The dev. kit must include enough built-in physical inputs and outputs to make it more useful than just "push the button/blink a LED". List of interesting -yet relatively cheap- inputs include: temperature sensor, light sensor, (heartbeat sensor??). Outputs: LCD display, buzzer (?), ...
  • The dev. kit should have a handful of Grove-like ( connectors so as it is possible to plug external sensors easily (e.g. an heart-rate earclip)
  • The dev. kit must have a "bee" socket in order to allow a Zigbee, Bluetooth, RF... module to be added
  • The dev. kit should be made of electronic components widely available
  • The dev. kit's "simulating programs" must be open source

Proposed solution

In order to propose a repurposable dev. kit, it would be good to rely on an Arduino coupled to a dedicated shield giving serial (is Arduino USB serial enough or do we want RS-232/DB9 too?) connectivity, holding a temperature and humidity sensor, and allowing to connect external buttons and display using a Grove connector.


Item Qty Total Cost (USD)
Arduino Leonardo 1x 25.00
Clear Acrylic faces, engraved with logo 2x 6.00
Custom PCB 1x 2.50(?)
Plastic spacers 4x TBD
Temperature sensor 1x 1.50
Light sensor (photocell) 1x 1.50
Grove universal 4-pin connectors 5x 0.50
TOTAL 37.00 (?)

Initial prototype

A first version will be demoed at EclipseCon Europe 2012. It is a bare Arduino board that runs a sketch that puts it in Modbus slave mode, making available the 6 analog inputs (A0-A5) in holding registers 0-5. The state of a button plugged on a digital input of the Arduino is made available on the holding register 7. The prototype is used in a "smart garden" use case:

  • analog input A0 has a humidity sensor attached to it,
  • analog input A1 has a temperature sensor,
  • digital input D7 has a push button.

The dev. kit exposes raw data (values between 0 and 1023 for the analog inputs, 0 or 1 for the digital input) as a Modbus slave with ID #1.

  • Register 0: Analog input 0, 2 bytes between 0 and 1023
  • Register 1: Analog input 1, 2 bytes between 0 and 1023
  • Register 2: Analog input 2, 2 bytes between 0 and 1023
  • Register 3: Analog input 3, 2 bytes between 0 and 1023
  • Register 4: Analog input 4, 2 bytes between 0 and 1023
  • Register 5: Analog input 5, 2 bytes between 0 and 1023
  • Register 6: Digital output 13 (Arduino LED), 2 bytes to control Digital output 13, 0 (LOW) or 1 (HIGH)
  • Register 7: Digital input 7, 2 bytes to know the state of Digital input 7, 0 (LOW) or 1 (HIGH)

Back to the top