I have been waiting for my new TI watch since FEB of 09… I wanted the 433Mhz version. However digit-key had the 933Mhz in so I jumped at the chance to get one. So here it is.
It comes with an RF Access Point (USB. See Below) and eZ430 emulator. Pretty cool! I will be messing with the watch to see if I can use the mspgcc dev environment for Linux, OSX use. However the instructions / CD comes packed with windows utilities.
I have a few cool ideas for the watch so keep an eye out!
So it finally happened! Alden finished the XY plotter bot by putting the “table” on the machine. Now we have finally used the bot to draw something. Over on the contraptor.org forums there was a bunch of “test gcode” called or referred to as “Contraptor Circle”. So we went ahead and got the gcode.. Loaded it up into our TinyG controller (we hard coded it into program memory) then had the XY bot go to work!
I recently purchased a logic analyzer from dangerous prototypes. Yup, same guy that does the bus pirate. Anyhow I wanted to get it going on Ubuntu and thought I would document the process for others. So the first thing I noticed was I needed the rxtx java lib. This lib is responsible for serial port communications in java. You can read more about it here if you want. Anyhow a quick download from here and extract it and you get the RXTXcomm.jar file. Copy this file into: /usr/lib/jvm/java-6-openjdk/jre/lib/ext/RXTXcomm.jar
Now you should be able to issue an:
sudo java -jar analyzer.jar
However it still seems a bit buggy. Will update this post when I figure out why.
I used 603 components in some spots where it called for 402.
Travis Goodspeed was cool enough to toss me a few goodfet PCB’s in the mail. I got them quite a while ago and have been waiting for a good time to assemble one and get it rocking. At work I have a project that I need an MSP programmer so I can go ahead and flash some code onto a prototype system. Well that being said it seemed like the perfect time to get this board working.
You can see how to build this board from the great flick photo travis has here. Or you can download the eagle files and go from there. Pick your prefrered poison. I just followed the flickr page / notes. If you are not used to soldering smd stuff I would suggest practice a bit on some cheaper IC’s as the MSP4302618 is about $13.
Once you get it all built up (y ou checked for solder bridges right?) you can plug it into a usb port. The TX and RX light flashes quickly then it just sits there as a VCP on your system (assuming you have the FTDI drivers installed). At this point we need to load up the latest goodfet firmware. Travis has authored a few python scripts + some other glue code that automates the download and install of the firmware over the net! A quick ./goodfet.bsl –fromweb and its on its way. See screen shot below. One thing to note is you will need pyserial on your system for the firmware downloader / installer to work. I did this from OSX however it works just as well on linux. I have not got this setup working from Windows yet. I did take 2 mins to try however. But it does seem like the way windows handles serial ports might blowup the firmware dl/installer script.
However as it would seem the way Travis does his hack to where there is not a need for a crystal is still a bit off. (hes fixing this soon) You can read the information here on how the non need for a crystal works here. To fix this Travis has a bunch of txt files with different timing values. The command to execute is.
Obviously choose your chip txt file and hex file. I am using the Goodfet 2.2. It uses the MSP4302618 so this is the file that I used. Note, the only 2 files that worked for my specific uC was:
2618-002.txt
2618-004.txt
You can verify that the goodfet is now working by doing a ./goodfet.monitor info
ril3y@linux:~/Desktop/goodfet/svngoodfet/trunk/client$ ./goodfet.monitor info
I have been playing around with creating enclosures for prototyping electronics as of late. Today I took a few hours while my son was napping to create a case for my Arduino Mega that I got recently. The typical wear and tear of breadboarding / protoyping with these cool uC’s can be pretty harsh, also knowing the common state of my workbench (screws, tools etc all in disarray) I find these cases completely necessary.
With the recent number of orders for the Bus Pirate V3 enclosure it seems obvious that I post up these other designs as products also. However, these still have quite a bit more testing and tweaking to go through before they are ready for the synthetos web store.
I have a few projects that I would like to include GPS data in, in the near future. So I went ahead and picked up a nice ublox based GPS. YOu can get it here: I wanted to used it right away. So rather than coding up some AVR C or arduino stuff I decided to use my bus pirate for the job. Here is the settings I used to get it up and going:
Hardware Settings Table:
Hardware Pinout Table
BPv3 to
FSA03 (GPS)
3.3v to
3v
MISO to
TXL
MOSI to
RXL
GND
GND
Mode: UART
SPEED: 9600
Then default everything else:
Bus Pirate v3
Firmware v3.1
DEVID:0×0447 REVID:0×3003 (A3)
http://dangerousprototypes.com
HiZ>m
1. HiZ
2. 1-WIRE
3. UART
4. I2C
5. SPI
6. JTAG
7. RAW2WIRE
8. RAW3WIRE
9. PC KEYBOARD
10. LCD
(1) >3
Mode selected
Set serial port speed: (bps)
1. 300
2. 1200
3. 2400
4. 4800
5. 9600
6. 19200
7. 38400
8. 57600
9. 115200
10. 31250 (MIDI)
(1) >5
Data bits and parity:
1. 8, NONE *default
2. 8, EVEN
3. 8, ODD
4. 9, NONE
(1) >
Stop bits:
1. 1 *default
2. 2
(1) >
Receive polarity:
1. Idle 1 *default
2. Idle 0
(1) >
Select output type:
1. Open drain (H=Hi-Z, L=GND)
2. Normal (H=3.3V, L=GND)
(1) >
READY
UART>W
POWER SUPPLIES ON
UART>r
READ: -f 0×00
UART>r
READ: 0×24
UART>r
READ: -f 0x8F
UART>r
READ: -f 0xA0
UART>r
READ: -f 0×48
UART>r
READ: -f 0×48
UART>
So you can see I am getting hex data. Note you can just enter { in the BPv3 command prompt to enable reading from the UART port constantly. However for copy paste issues for this post I chose to issue single byte read (r). Next is to write some arduino or avr code to translate this NEMA standard output to a human readable format. (Yes I know there are libs available however I prefer to learn by doing) So up next Code!
This is an howto setup the Synapse RF Engine application called Portal to work with OSX. I first went to the Synapse Forum and noticed there was multiple people having issue with this so I thought I would share how I fixed this to work with osx. NOTE: Unfortunately you will need an working instance of the Portal application + Synapse drivers working on a Windows machine (I used windows vista as it came with my dell laptop a few years back).
So fire up the windows machine and open portal. You should see something like this.
Once here click the command button disconnect button (if you are connected to the bridge). See below:
Next, we need to get to the command prompt to enable the RF Engine to act like an VCP (Virtual COM Port). See Image below.
Enter the command:
root.setup_usb_as_vcp()
And then hit enter. Your Windows machine should make the sound of an USB device being unplugged then plugged in. Your RF Engine is now setup to be used as a Virtual COM Port. If you want this to work now in your Windows enviroment you need to download the Silabs VCP driver for your flavor of windows. Or you can re-enable the RF engine in USB mode by issuing the:
root.setupSynapseUsb()
Command.
Now you are ready to move to the Mac platform. So take your USB Stick + RF engine and plug it into your mac. Nothing happens… So you need to download the Silabs drivers for OSX. So go here and scroll down to the Mac section. Download / Run them like any other osx application. Next open a terminal and type:
ls /dev/cu.*
You should see something like this I assume.
The /dev/cu.SLAB_USBtoUART is what we are after. So copy this and fire up Portal.
***Make sure you rebooted after you installed the OSX Silabs VCP drivers of this will fail!
Now click the connect button and you should see something like this above. Just paste in the /dev/cu.SLAB_USBtoUART (or whatever it looks like on your setup) and it should connect.
I know everyone has done this before. RFID and arduino that is. But looking at the example code it looks like the antenna is always in receive mode. I am not sure how this affects the life of the chip / reader but I thought of adding a way to detect human presence before activating the receiver.
So I had some free time while waiting for Alden to proof my xproto breakout board I designed for the tinyG system that we are working on. So I took some time to try to mimic the results that Joe Grand of Grand Idea Studios did on his professional PCB mill. I think the results were pretty good. In fact they were even better than you see on the final version. I say this because currently I have a very coarse wire brush on my grinder and did not take the time to switch it to a much finer wire gauge. I was lazy. As you can see some of the building is coming off.
Also in the middle there was some “over burn” where I left it in contact too long.
This has kind of inspired me to do some neat graphic / electronics. Not sure what I am going to do but this would have been much cooler if the cyborg’s eye lit up and would blink faster / slower based off of the temp in the room etc…
Thanks to the Hong Kong Parcel Post, I got my metal-gear servomotors last week, and then thanks to work commitments, they had to sit taunting me on my workbench the whole week. Luckily, I had a chance to do some assembly work this weekend, and got a couple of the major subassemblies put together. As you could see from the earlier post, I had the base assembled, and it was short work to put the base rotation servomotor in place.
You have to make sure that when you assemble the deck, you put the servo in so that it is at the center of its rotation when the arm is facing forward. Once that was done it was short work to get the deck put on. I went ahead and clipped the little screws that hold the servo horn on short, so they won’t rub on the acrylic frame and scratch it. I also added a trio of modified furniture casters to provide a bearing surface for the rotating platform. The oomlaut guys used M8 screws with acorn nuts, but that would also scratch up my beautiful red acrylic, so I chose to go another way. If you look at the flickr set, you can see how I did it. I had to trim them a bit to allow for the small M3 nuts on the bottom of the platform to have sufficient clearance.
You can see that the first joint of the arm is supported by two servos- note that in order to make the parts fit without undue stress on the lasercut plastic, I put one servo inside and one outside the mounts. I also had to make sure that the motors were both turned to the same degree of rotation before mounting them. The way I mounted them, the first joint can swing from fully to the back of the platform all the way to fully front. This should be perfect, and maximize the reach of the arm.
Assembling the second joint turned out to be much more problematic, and necessitated several tear-downs and re-assemblies. As far as I can tell from the (albeit sparse) pictures on the oomlaut website, it appears that the motors are mounted on the outside of the arm assembly, but as far as I can tell, this will not fit without really bending the lasercut frame. I don’t want to do this as I do not want to break the plastic, but I am at a loss about what to do. I am planning on sleeping on it, and ordering a couple of the motors that the oomlaut guys suggest and see if they fit better. According to the specs posted on the motor source website, they are exactly the same size as the ones that I have now, so I am kind of puzzled.
Next up- second arms joint, gripper (which is its own puzzle, to be sure) and the control mechanism. (Yes, I am still hacking around with my old Playstation2 controller!)