Box0 Studio — Desktop

Ready to use Common instrument studio.

It contain all the instrument you will need to start.

  • Oscilloscope
  • Function Generator
  • PWM Generator
  • Voltmeter
  • Digital I/O Panel
  • Power Supply Panel
  • Your contributed instrument

Powerful realtime calculation capilities for realtime experimenting

Visualizing signal using Box0

Signal Processing & Visualization


Box0 Studio — Android

Android App specially written while keeping mobile and NUI in mind.

Require: USB OTG enable phone.

Note: some functionality still work in progress

Visualizing RC Circuit using Box0

RC Circuit — Phase difference can be seen


LiaB Studio — Desktop

Ready to use Data logging studio.

Log data from:

  • Analog Sensor
  • I2C Sensor
  • SPI Sensors

Comes with prebuild functionality to convert sensor signal to actual values and Inbuild driver for many I2C/SPI sensor.

And ready to expand for new sensor.

Capture signal using Box0

Logging data from AIN0.CH0


LiaB Studio — Android

Android App specially written while keeping mobile and NUI in mind.

Require: USB OTG enable phone.

note: some functionality still work in progress

Logging data from temperature sensor using Box0

Logging data from temperature sensor


Out of the box supported sensors
Name Type Description
Custom equation
  • Analog
Provide custom equation
Photo Gate
  • Analog
Detect movement using IR sensor
Split Core Current Transformer
  • Analog
Current sensor
ADXL335
  • Analog
Accelerometer sensor
WCS2702
  • Analog
Current sensor
MAX31855
  • SPI
K-type thermocouple temperature sensor
ADXL345
  • I2C
Accelerometer
BMP180
  • I2C
Pressure sensor
TMP006
  • I2C
Infrared thermopile sensor
TSL2591
  • I2C
illuminosity sensor
LM75
  • I2C
Temperature sensor
L3GD20
  • I2C
Gyroscope
Si114x
  • I2C
UV index
TCS3472
  • I2C
Illuminosity sensor

Control via multiple language

libbox0 is the C library that does the communication with devices.

Aready comes with binding for

  • Python — pyBox0
  • Julia — Box0.jl
  • NodeJS — node-box0
  • Java, Android — jBox0
  • C/C++ — libbox0

Your favourate language not listed?

No worry, libbox0 is written in C, you can virtual write binding for any language.

import box0
import time

# open the device (Box0 USB open a supported device)
dev = box0.usb.open_supported()

# open DIO (digital Input/Output) module
dio = dev.dio()

# initalize the pin
pin0 = dio.pin(0)
pin0.output()
pin0.low()
pin0.enable()

try:
    # perform infinte looping
    # toggle the pin 2 times per second
    while True:
        pin0.toggle()
        time.sleep(.5)
except KeyboardInterrupt:
    # user want to exit
    pass

# close the resources
dio.close()
dev.close()

Shell utilies

ready to bang! shell utilies

Small, hackers style, powerful

[you@machine ~]$ # Disable Analog Supply (±5V) and Enable Digital Supply (+3.3V)
[you@machine ~]$ b0power --analog=off --digital=on
[you@machine ~]$
[you@machine ~]$ # Scan the I2C bus just like BusPirate
[you@machine ~]$ b0i2c scan
Slave At: 0x77
[you@machine ~]$
[you@machine ~]$ # Log data from AIN to foo.csv at 12bit, 96KSPS
[you@machine ~]$ b0ain2csv --output="foo.csv" 12 96000
[you@machine ~]$
[you@machine ~]$ # Generate a SINE wave of 1Khz
[you@machine ~]$ b0aout sine 1000
[you@machine ~]$
[you@machine ~]$ # Output PWM @ 1MHz with 50% duty cycle
[you@machine ~]$ b0pwm 1000000 50

Other cool stuff we developed on the way

libreplot

C library for plotting data using GPU(using OpenGL).

Using GPU, large amount of data can be visualized with excellent efficiency and responsiveness

On Android, this save alot of power with excellent results.

All our software use libreplot plot, while being completly independent (you can use it too).