Close
0%
0%

BotSpine

Spinal Cord for Robotics.
The easiest way to connect the brains of your phone to the brawn of robotics.

kaikai
Similar projects worth following
BotSpine is a small circuit board which connects to a smartphone via Bluetooth. You connect your electronics projects to BotSpine and control them with commands from your phone. No firmware programming is required.

BotSpine includes a bright OLED display and exposes the IO pins on the Texas Instruments CC2541 System on Chip for direct control through the phone via Bluetooth Low Energy (BLE).

BotSpine can also be used as a single chip computer to control self contained electronics projects.

Introduction

BotSpine enables users to easily and rapidly build advanced electronics projects.

Motivation

I was nostalgic for when computers had parallel ports and it was easy to control electronics from a computer, by using that port. It was easy to prototype a product or just to build a gadget for personal use. It is more difficult now.

In the meantime, smartphones have become really smart and have access to all kinds of sensors, GPS, speech recognition, etc. Also, the form factor of a phone is nicer than a computer, for controlling electronics. They are easier to carry around, if you want to remotely control your electronics, and they are easier to velcro to your electronics, if you want to build a smart autonomous robot.

BotSpine lets you control electronics with your phone, via Bluetooth, similar to how you used to be able to control electronics with a computer, using the parallel port.

History

The first version of BotSpine was directly controlled through a console program, running on an Android phone. A user typed in a command to pull a pin high or low, read the voltage applied to a pin, or display something on the OLED. This facilitated some primitive projects. For example, I connected an optical relay to BotSpine and my garage door opener and could then use my phone as the remote.

Current Work

I ran across BlueBasic, a BASIC interpreter that runs on the microprocessor used in BotSpine. Running BlueBasic on BotSpine allows the user to send commands directly, one at a time. It also allows whole BASIC programs to be executed. It gives BotSpine extensive stand-alone capibility.

So, we threw out a lot of our firmware and combined the rest with BlueBasic, calling it BotBasic. This allows us to build much more advanced projects. Two that I am currently working on are:

The original motivation for BotSpine included to ability to leverage a Smartphone's advanced functionality by running a program on the phone to control BotSpine. For people who are already proficient in Android Studio this is easy. For people who don't want to get too deep into Android programming, RFO BASIC! offers a powerful alternative with a much smaller learning curve.

Unfortunately, BLE is currently not supported in RFO BASIC!. We are trying to get it implemented.

The Vision

  1. BotSpine will allow a developer to replace hundreds or thousands of lines of firmware with dozens of lines of high-level BASIC code. The BASIC interpreter handles all the annoying, bug-prone housekeeping and the developer doesn't have to deal with any of it. The developer can focus on developing.
  2. There are no complicated IDEs to install and programmer/debuggers to hook up. You download the BotSpine Android app or the BlueBasic iOS app, connect to BotSpine via BLE and start typing the BotBasic code directly into the interpreter. The Android app also lets you upload programs (e.g. written in Notepad). This is handy, once the programs get more complex.
  3. Commands can be typed one at a time and executed immediately. For example, typing:
    OLED "hello world"
    will display "hello world" on the OLED.
  4. If line numbers are added, commands are saved as a program and executed only once RUN is entered. For example, typing:
    10 OLED "Hello"
    20 DELAY 1000
    30 OLED CLEAR
    40 OLED "World"
    50 DELAY 1000
    60 OLED CLEAR
    70 GOTO 10
    RUN
    will display "Hello" for 1 second, then display "World" for 1 second, then "Hello" again, etc.
  5. BotSpine is small enough so that it can be incorporated as a module by OEMs.
  6. Additional functionality, such as speech recognition and GPS, as well as a rich UI can easily be added to BotSpine based projects by using RFO BASIC! to tether a smartphone to BotSpine.
  7. Even more functionality, such as computer vision, can be added to BotSpine based projects by using native Android apps to tether a smartphone to BotSpine.

View all 3 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

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