Breakout Gardener (preview)


#1

PREVIEW RELEASE == REQUEST FOR EARLY FEEDBACK 😉

Breakout Gardener is a framework application based on Node.js using the i2c-bus library. The name is a pun on the Pimoroni Breakout Garden, as the project started out as a way to present various sensor data on that system’s OLED display. As geeky projects often do, however, it eventually grew into something bigger, with more elaborate interworking…

Breakout Gardener currently supports the following devices and sensors (I2C unless otherwise noted) through modules:

  • ADS1015 : Texas Instruments ADS1015 Analog-To-Digital Converter
  • ADT7410 : Analog Devices ADT7410 Digital Temperature Sensor (preliminary/untested)
  • BMP280 : Bosch Sensortec BMP280 Barometric Pressure Sensor
  • CAP1166 : Microchip Technology CAP1166 Capacitive Touch Controller
  • DS18B20 : Maxim Integrated DS18B20 Digital Thermometer (1-Wire)
  • IS31FL3731 : Integrated Silicon Solution Inc (ISSI) IS31FL3731 Matrix LED Driver
  • LSM303D : STMicroelectronics LSM303D eCompass 3D Accelerometer and 3D Magnetometer
  • MCP9808 : Microchip Technology MCP9808 Digital Temperature Sensor
  • SH1107 : Display Future / Sino Wealth SH1107 Dot Matrix (128x128 pixel) Mono OLED Driver/Controller
  • TCS3472 : ams TCS3472 Color Light Sensor
  • VEML6075 : Vishay Semiconductors VEML6075 UVA and UVB Light Sensor

It also supports additional display modes through its SYSTEM, CLOCK and KOMPIS modules, data exposure and related visualization through its PROMETHEUS module, as well as a HTML5/CSS3 browser DASHBOARD module (see image above) that provides an overview of the current status and readings of all sensors and devices available on the system (nb. the “Shop” button is there just to support the tinkering community’s favourite suppliers; Pimoroni (UK) and Adafruit Industries (US)) (no affiliation to either, I just like their products and geeky dedication to the cause 😉)).

Note that, as this is a first preview release, there is still some cleaning up and optimizing under the hood to do (I have been reworking a lot of stuff along the way but some parts are older/newbie stuff that I just haven’t gotten to yet), but it should be in good enough shape for general use already. The product examples linked to on the GitHub page (nb. I couldn’t include actual links into this post due to forum restrictions) are the actual products I have used during development, but with some minor caveats (e.g. differences in physical orientation of an accelerometer sensor and similar) the module implementations should hopefully be mostly generic. Last but not least, any further project information and/or updates (no promises 😉) will be uploaded to the GitHub project page and referenced here along the way.

Anyway, without further ado:

- Install Node.js
- Clone the repository
- Install i2c-bus
- Run!

Enjoy! 😎

…and if you do, please Star this project on GitHub, add your comments and feedback here, and perhaps also tag me on Twitter (@xoblite) or Instagram (@xoblitedotnet). Thanks! 😄

BR//KHH [xoblite]


#2

PS. The Mono OLED Breakout and 5x5 RGB Matrix Breakout (nb. the SH1107 and IS31FL3731 modules, respectively) complement each other nicely using Breakout Gardener - check it out if you have them both! 😄

A not-so-good-but-hopefully-at-least-illustrative photo of the two taken in a dark room:

oled-and-rgb-matrix2


#3

This is awesome- thank you for sharing! I’ve bumped your forum trust level so it should be easier for you to post images/links now.


#4

Ditto to the above awesome comment. Taking pictures of lit up LEDS is tricky. Its a struggle for me anyway with my camera. They always seem to bloom. Even behind a difusser.
I like putting my LED Shim etc behind the black ninja difussers. It takes away the little pin prick of light you see in some RGB LEDS.


#5

Thanks Phil, thanks Kerry, much appreciated!

Version 19.2.8 (aka RC1b), including some bug fixes (e.g. there were some missing device availability checks that I forgot to add before the original release, sorry about that) as well as preliminary support for the Analog Devices ADT7410 Digital Temperature Sensor (see e.g. https://www.adafruit.com/product/4089), is available on the GitHub project page since a few days back. If anyone happens to have an ADT7410 nearby already, please check it out and let me know if it works as expected; the current implementation was based purely on the information available in the datasheet but should hopefully be ready for prime time already 😉

If time allows, I will use my new-found forum powers to add some more photos etc within the next few days - stay tuned!

BR//KHH [xoblite]