Projects

The Robokit is a very capable device which is provided with a functional application used to drive it. However like most things of this era, there are always opportunities to improve when you have nearly 20 years of hindsight.

  • Power Supply

  • Opto Sensors

  • Command Interface

The first thing I did was purchase a decent power supply for my Robokit. This gives much better output than using a battery pack.

I went for this from Maplins (Order Code: MG77J) but anything capable of 4.5v rated at 1A or above will be fine.

http://www.maplin.co.uk/ac-dc-fixed-voltage-6w-power-supplies-512208

Obviously the more current it can support, the more output devices you can drive. A motor consumes around 300ma.

I then made a little pigtail power connector lead that I wire across the VMOTOR/0V lines on Robokit (Be careful of polarity here!):

pigtail connector

***Latest Update***

9th March 2013: Finished Project. See Downloads page for resources. Here's a video of it in action:

Background Information

The robokit hardware only supports opto sensors on inputs 0 and 1. This is because additional circuitry is required to detect the subtle change in voltages on an opto sensor. I want to build more complex robots using the accuracy of the opto/encoder rather than making switches with paperclips and tin foil (as suggested in the Robokit manual).

Fortunately the robokit interface is pretty simple in design and the schematics are available in the user manual so it was easy to see that by replicating the opto input logic on a separate board and then feeding it into another pair of inputs, I have an additional 2 opto-compatible input lines.

Of course, I can make another 2 of these boards or indeed make one board which provides enough I/O to make all 8 inputs opto friendly.

Required Functionality

I should be able to wire in an opto sensor and be able to monitor it on any input line of the Robokit.

Implementation

The circuit relies on VCC (coming from the Atari) so a small modification is required on the Robokit board to bring out the VCC/0V lines to a connector. Ideally you'd want to use a male DC connector out of the board and then a socket on the interface, but I didn't want to make a special trip to Maplins just for this minor detail - Just need to make sure I don't feed power into the socket! The board has a nice place to tap the VCC/0V signals from, so I used those:

I replicated the opto sensor schematic found in the user manual onto a breadboard and tested it successfully:

I then designed a stripboard prototype and built a working board from it:

The schematic, parts list and stripboard design can be found on the Downloads page.

 

***Latest Update***

21st March 2013: Posted a video of the current build. It now has a fully configurable interface, the ability to control internal processes (like IO, statecounter, watch service) and the implementation of the 'set/until' command.

Background Information

After using the original Robokit software, I quickly yearned for a faster way of creating robokit sequences. Whilst great for a beginner, the original software forces you to create action buttons before you can record sequences.

Along with some of the user interface idiosyncracies, I felt that I would like to either improve on the existing application or write my own.

It was this thought that lead me to gain contact with Richard Pawson who, although unable to help directly with the software, has been a source of historical information and inspiration.

I hope to have the source code to the original robokit software, but in the meantime, I decided to have a go at writing my own interface. Here is the result

Required Functionality

This new interface would take the form of a command interpreter, I don't want a GUI, I want to send intructions to Robokit and react to events on the IO lines.

The application should accept direct commands as well as process script files directly. The application should also be flexible enough for me to enable/disable/reconfigure core functionality as well as the elements of the user interface.

The application must be able to control IO with robokit whilst servicing the user interface.