DyIO (Dynamic Input Output) controller

A USB peripheral to add microcontroller capability to Java and beyond!

Similar projects worth following
The Dynamic Input / Output module is a piece of hardware, a USB computer peripheral, that allows users to quickly and easily connect any computer with the physical world in a way that has never been easier. Plug sensors, LEDs, servos and other peripherals directly into the DyIO’s channels and then use a normal computer or laptop to get values from sensors and set values for outputs.

Easy to Use

Connect the DyIO with a USB cable and start playing with sensors, motors and other pieces in minutes You can start collecting data, moving servos and setting outputs without writing a single line of code. Coding with the DyIO couldn't be easier. Check out the 'No Programming' development application BowlerStudio. Once you're ready to begin programming, check out our programming tutorials to see some examples.

Bowler Studio

BowlerStudio is a robot development application that combines scripting and device management with powerful control and processing features.

BowlerStudio brings the full power of The OpenCV image processing library, a Configurable kinematics engine based on D-H parameters, A Fully Featured JCSG based Cad and 3d Modeling engine, and a Built in WebKit browser capable of viewing documentation and executing code directly from Github Gists.

Scripts can be loaded from the Local File System and edited using a editor of your choice or loaded from Github gists for a truly "backed up in the cloud" coding experience.

BowlerStudio features the Creature Creator, a design interface that lets users generate robots with slide bars. The application will generate 3d printable STL's that will walk just like the generated robot on the screen.

Cross Platform

We've tested the DyIO on all major operating systems. This means that users are able to write code on Mac deploy to Linux and test in Windows without having to worry about different tool chains. Users are able to get up and running in as little as 8 minutes. Likewise, you can use almost any programming language or environment, currently implemented in Java, Python (Jython). Any other language can be added as well, from C to MatLab to Excel! Using the Neuron Robotics Development Kit, users already have a powerful library out-of-the-box with standard Java SE.

GitHub Gist Collaborative Robot Coding

We have developed a unique application with BowlerStudio. The application is basically a web browser with the ability to run scripts right out of GitHub Gist. You just browse to a Gist, or to a web page with an embedded gist, and hit run. It loads up the code and can run a robot, build CSG style CAD objects, and talk to lots of other hardware useful for building robots.

Dynamic Inputs & Outputs

The DyIO has 24 channels that can configure to be whatever mix of inputs and outputs is need at the time. The inputs can be set to asynchronous modes so that the DyIO will send alerts when there are changes versus having to poll inputs constantly.The outputs can use the USB line for power or can use the external battery connection for higher current applications (i.e. servos) Drive up to 24 servos simultaneously!

  • 24x Digital Input – All channels
  • 24x Digital Output – All channels
  • 24x Servo Output – All channels
  • 8x 10 bit Analog Input – Channels 8 – 15
  • 4x PWM Output – Channels 4 – 7
  • 4x DC motor controller signals – Channels 4 – 7, with direction flags
  • 1x Asynchronous Serial (UART) In & Output – Channels 16 & 17
  • 1x Synchronous Serial (SPI) In & Output – Channels 0,1, & 2
  • 4x Counter/Encoder (Tick, Direction & Home) Inputs
  • 4x Stepper Controller (A, B & Home toggle) Outputs
  • R/C PPM signal reader on Channel 23
  • 8x Real-Time, dynamically configurable controllers (PID)
PID in hardware

The DyIO features a cutting edge PID control system. This system lets you link any input to any output with the DyIO managing real-time control. Each PID group allows one input (counter or analog input) to be linked to one output (DC motor or Servo) in a real-time closed loop controller.

Open Communications

Controlled via the Bowler Communications System. Interoperates with any BCS complaint system! Addressed via IEEE standard MAC address. Built-in USB is a universal serial port. No drivers needed on most systems. USB connection allows users to directly plug-in the DyIO to their computer or they can use the Bowler Expansion Port to use other communication types (i.e. the bluetooth wireless module) The Bowler Expansion Port allows the device...

Read more »

  • BowlerCom and Arduino (the dyio is dead, long live the DyIO!)

    Kevin Harrington01/09/2017 at 18:25 0 comments

    The DyIO hardware is basically a dead project now, but the firmware from the DyIO lives on! I have re-tooled the firmware to be an Arduino library (for chips with >4k ram). If you search for BowlerCom in the Arduino library manager, you should see it there (no special download/install necessary). Once you added the library, you can run the DyIOLargeChip example on your Teensy 3.2 (my current fave hardware) and it will boot up as a DyIO. All code that used to talk to DyIO's now can talk to a Teensy 3.2 with the DyIO firmware!

  • Featured on Product Hunt!

    Kevin Harrington09/30/2015 at 14:11 1 comment

    Hey everyone, we just got featured on Product Hunt, so if you think our project is cool, please upvoat on there so lots of people get to see it?

  • Anamatronics and animation with the DyIo

    Kevin Harrington09/17/2015 at 02:17 0 comments

    I taught a 3 day intensive class with these 2 kids to learn basic programming and robot control. THey said they wanted to build a talking Yoda, so that's what we built! It started with one of the legs from the Hexapod got its back-bone control. THis gave them the ability to place Yodas head in cartesian space using a game controller. they then recorded those locations and synced it up with the Text To Speech synthisys of each of his lines. Last they made a function that automatically ran his mouth based on what they had him say.

    Here is the code that made it go:

    if you open that link in BowlerStudio, and a DyIO connected, yoda will start talking to you too!

  • DyIO 8 channel PID controller, connecting inputs to outputs with real-time

    Kevin Harrington09/17/2015 at 02:15 0 comments

    I just posted a video of the PID controller in the DyIO. It lets you select an input and connect it to an output with a built in real-time controller that runs on the DyIO itself. This allows for closed-loop motor control, high speed reactions, or even a simple line-following robot (a special case where you can use PID to solve the problem). It has 8 independant channels, so you cna link 8 different inputs to thier respective output.

  • Launched the WiFi DyIO on Kickstarter

    Kevin Harrington09/15/2015 at 05:05 0 comments

    Our kickstarter for the WiFi version of the DyIo just went live !

  • Adding the BOM

    Kevin Harrington08/17/2015 at 19:53 0 comments

    We just uploaded the official BOM as an image in the images section. We will be breaking that out into the profile BOM soon, but posted it there just so there is a BOM posted right now.

  • Mr Derp, the singing and dancing skeleton

    Kevin Harrington08/17/2015 at 19:49 0 comments

    I wanted to show off one more feature of the DyIO and BowlerStudio, an animation and playback engine for recording motions over an audio track, and playing them back in real time. This lets anyone make awesome halloween displays! You could even add the FaceTracking script to only jump out when someone gets reaaally close to it then.... BOOOM! jump out and scare!

  • Hack-a-day Prize Best product Competition Video

    Kevin Harrington08/17/2015 at 19:45 0 comments

    I *tried* to show everything in 2 minutes, and got a fast overview of the features. Needless to say many hours of video could be generated for this. We are very excited to be entered into the Hack-A-Day Best product and HAD Prize quarterfinals.

  • Hack-a-day Prize Competition justification

    Kevin Harrington08/16/2015 at 14:30 0 comments

    Neuron Robotics Cooperative is a worker owned enterprise that designs and deploys robot controllers to make the process or building robots easy. While i understand that is a bold statement, we have built software based on top-tier research grade and medically certified robotics control platform, and added an easy to use and learn application interface, BowlerStudio.

    To that end, the DyIO and BowlerStudio should be concidered as one project, seperated out here on for the purpose of making each easier for members of the site to understand.

    That said, we have already begun using this robotics design platform as a way to teach kids programming, and keep their attention from day one with robots! We use a Java based platform to teach programmatic CAD, and then attach that CAD to kinematics models and let the kids see each step of the way what they are creating. The Dyio takes that excitement out of the computer and brings to life the printed parts that the students generated. We see this platform solving the large air-gap in the learning process between introduction to the concept of programming and building robots, and the final satisfaction of having actually created a robot. By closing this gap it is easier to keep up the excitement for learning, and increasing student engagement.

    Basically it makes learning fun again because robots are inherently engaging.

  • DyIO running a neat generated and 3d printed hexapod

    Kevin Harrington08/09/2015 at 17:44 0 comments

    Here you can see the DyIO running the walking algorithm generated by BowlerStudio. The DyIO is performing the coordinated motion, and the computer is performing all the heavy compute math of the kinematics.

View all 10 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

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