Inventortown shut down

I had to upgrade server, so I also removed the online compiler Inventortown. If someone have files there they want back, let me know. I have the old server.

I didn’t actually realize that many people used it, but some people have already requested files off it. The ‘servobot’ project, a very simple and cheap rover/bot that can be made for less than 10 USD-ish, is one project that has been quite popular.

I have therefore written some Energia code that should work ok for the same design. I haven’t actually tested it though, so if someone wants to test it and modify it if necessary, that’d be cool. The file is here.

Sending RF from Chronos watch to MSP430 Launchpad

I tried implementing SimplicTI on Launchpad, and while several people have done it, I ran into various issues. So instead I decided to implement proprietary RF on Chronos and send messages to my Launchpad RF Boosterpack using my LarsRF library.

The code is for controlling as small 4-servo robot. See the code in my Github repository.

While in the acceleration menu on the top line of the Chronos, it sends X,Y and Z coordinates as a packet (with some useless overhead that should be removed). These values are received by the Launchpad using the RF Boosterpack. I’ve based the Servo code on RobG’s code. CorB pointed me in the right direction on the Chronos code. Thanks to both.

Most of my time was used trying to figure out that I was using the wrong frequency settings. Since the crystal on the RF Boosterpack is 27MHz, you can’t just copy the RF settings from the Chronos to the RF Boosterpack. That was quite embarrassing not to realize at once.

Will add pictures later.

Controlling motors with an MSP430 (or Arduino)

John asked a question about how to control motors from an MSP430, so I thought I’d make a post about it.

Quick overview

First choose motor type. If you use modified servos, you can just connect them to your microcontroller (MCU) and upload the right code. If you use plain DC motors you need a motor driver chip or board, such as the L298. You probably want geared DC motors, since they aren’t as fast as non-geared ones. Connect the driver to your MCU and upload the right code. The speed of the motors is controlled using pulse-width-modulation.

Software-wise you can either choose Arduino (or the MSP430-equivalent called Energia) or go for the C-approach. C is more difficult, but maybe more powerful. Arduino/Energia works great for many robots and I used this for several years before I moved to C as a programming platform.

Read on if you’re interested. More details and instructions below.

Continue reading Controlling motors with an MSP430 (or Arduino)

A simple programmable robot-rover using the LCD board

Here is a laser cut rover I’ve made, using the LCD-button-board as the controller. The motors are cheap, modified Hobbyking servos. It’s a very simple build, and it is programmable using the keys on the LCD-board. The LCD-board has connectors for two servos and one sensor, giving access to two IO (one of which is P1.6, an analog input, required for the IR sensor).

The software is programmed using Energia, which is an Arduino-clone for MSP430.

It uses a home-made IR proximity sensor.

The firmware used on the video is here and you also need the LCD library for the board, which is here. If you think this is interesting you may also want to look at one of my other, even simpler builds, which requires less components.

If you’d like to make one yourself, you can do it without the laser-cut kit also. You can just get a 3-cell battery box as on the picture and use double-sided tape to glue the servos on top of it, and the board on top of the servos. Use something round (CDs?) as the wheels. Will work fine. But make sure you use 3 NiMH batteries (1.2 V each, 3.6 V in total), since this will give a good voltage you can feed directly to the servos and to the MSP430/LCD without breaking anything. If you use 3 Alkaline batteries, you need a regulator for the MSP430/LCD.

If you want a laser-cut kit, I can make one for you. Send me a message and I’ll add it to the store.

Here’s the Youtube video:

Continue reading A simple programmable robot-rover using the LCD board

DIY Infrared Proximity Sensor

I’m trying to make a low-cost robot kit, and part of this should really be a low cost Infrared Proximity sensor. Here’s the schematics. Ignore the photo-sensors on the right. They are for if you don’t want an IR sensor and you just want to sense the difference between light/dark on two sides of the bot.

It works, but not for very long distances. I’m using it for sensing for example 10 cm, which is fine for a robot.

The part list:

I’ve made a board for it, which is documented here. It’s a sub-board that’s part of the motor driver card.

For the MSP430, connect pin 1 to ground, pin 2 to vcc (3.5V), pin 3 to P2.5 and pin 4 to P1.6

Here’s some test code using Energia (if you haven’t tested Energia, you should. It’s an Arduino-port for MSP430 and is very simple to use). I’ll add a picture later.

Continue reading DIY Infrared Proximity Sensor

3D printed simple biped with 4 servos

Here’s a simple biped I’ve printed using my Makerbot. It’s printed in clear PLA, which I think looks quite nice. The design is rather poor, but it walks ok. This one here runs with a standard radio control, but I’ve tried it with Arduino and Launchpad MSP430 also. Maybe I’ll fix it up to look a bit better.

It uses 4 cheap servos from Hobbyking, and a cheap remote from Hobbyking. You can easily build this robot with wooden sticks or similar, without a 3D printer. There are several examples on Youtube of this. This version is not as complex as my other biped, but this one is much simpler to build (and control). It uses a 2 cell LiPo battery and an ESC to convert down to 5V for the receiver and servos.

The 3D model is here:

Simple MSP430 based servo robot

This is a very simple robot to make, with cheap components:

  • 1 x Launchpad MSP430: $4.30 (plus shipping)
  • 2 x cheap servos: $1.98 (plus shipping), easily modified for full rotation.
  • 2 x wheels. I 3D printed mine, but you can make these from many other things
  • 2 x light sensitive resistors (LDR).  < 1 USD each.
  • A battery pack with 3 rechargeable AA NiMH batteries, totalling 3.6 volts (Don’t use alkaline!)
The Energia-sourcecode is available here. I had to update this from C-code and the online IDE I had made (Inventortown). But since I took down Inventortown, I’ve made new code in Energia, but it’s untested. The pinout for example is definitely wrong, but hopefully it can be a basis for you to tweak.
Program the Launchpad, connect one servo to pin P1.0, one to P1.1. Connect the two resistors in series with VCC and GND in each and, and connect the middle point of them to P1.5. Then connect the power to the servos and to the VCC/GND of the Launchpad. Add a power switch for convenience. 3 x NiMH AA make 3.6 Volt which is fine for the Launchpad. If you use Alkaline batteries, the voltage may be too high, and Alkalines aren’t very good for robots anyway.
Servos have three connectors. The darkest on one side is ground and connects to ground (-) on the battery and ground on the launchpad. The middle is power and connects to the battery (+) and VCC on the launchpad. The third one (sometimes white or some other light colour) is the signal, connecting to P1.0 and P1.1 as mentioned above. You need to modify the servos for full rotation. This involves connecting it to a signal that centers it (90 degrees), opening it up, removing the gears, soldering the stick that goes into the potentiometer so that it won’t rotate any more, making the hole of the outer gear bigger, so it won’t stick to the pin but rotate freely, putting the gears back together. There are many videos on youtube for this, and it’s done in 5 minutes. It gives you a simple controllable gear motor at a low price.
This robot can be modified for example to a line (black tape) following robot, quite easily.
To assemble the robot, use for example double sided tape. Start with the battery holder on the bottom. Then tape the servos onto this. Then tape the Launchpad onto the servos. Done.
Here’s the video: