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!
If you are anything like me you also rely on ssh for just about everything. I have even started only using SSH for file sharing on my internal home network. In Linux (ubuntu at least) a quick
sudo apt-get install sshfs
and I was able to copy/view/delete files over an encrypted network connection. It was very cool…
Since I am using OSX for my main portable system I have been meaning on looking up how to do this on this os. As it would turn out its very simple. All that is needed two downloads/install and its ready to go.
The TinyG project has grown into something that is starting to resemble a working stepper driver (4 motors on one board). We needed a way to test code so and laser cuttable XY plotter was designed. We could have made it much smaller however we need to be able to check the Arc code to ensure the motors are working together and producing a nice large circle.
You can get all of the files for the laser cut parts at thingiverse.
Some stuff about building it:
All metal is aluminum with the exception of the Y axis “angle rails” these are made from home depot steel angle. Both steel and alum angle is 1″ x 1″ x 1/8″. Possibly the coolest thing about this design is the fact that all the stuff that needs to be accurate is cut with the laser. Another cool feature is your size limitation of this is really only limited by the length of lead screws / angle rail length you can get. This design should be easy to support 6 – 8 ft tables with no real “changes” needed. (I think..)
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.
So I started down the path of trying to breakout USB HID signals via the USB Logic analyzer with saleae.com’s “Logic Analyzer” and a custom made USB break-IN cable. I learned that attempting to just “tap” the D+ and D- cables then read the bits off the wire is a total fail. This is due to the USB protocol encodes the “bits” in the format of NZRI encoding.
At first glance I still am trying to figure out how to programmatically de-code NZRI to get to the bits. After reading / skimming through Craig Peacock’s USB in a Nutshell its has helped.
Its a bit hard to see but on the D- signal you will see that there is a small line where the D- goes low then jumps back up. If you look all the way to the right there are a bunch of lines going up and down. The significance of this is that the first line all the way to the next line is exactly 1ms.
“In order to maintain synchronization, USB demands that this sync pattern is transmitted every millisecond in the case of full speed devices, or that both signal lines are pulled to zero every millisecond in the case of low speed devices.”
So what’s next? I am going to to look at Dick Streefland’s USB AVR implementation to see how he is de-coding the NZRI data. For troubleshooting purposes I am looking into writing a protocol analyzer for the logic device. More to come…
So I picked up a Western Digital My Book II World Edition (WDMBWEII) a few years back to place all of my digital “life” on. Well being stupid… (perhaps pre-occupied) I did not have a up-to-date backup of the NAS since 2008 OCT. Needless to day the NAS failed. However, interestingly enough as luck would have it the NAS embedded system is the part that failed. Meaning… The software raid devices we (Hard Drives) were just fine.. No corruption or anything. In spirit of helping someone else out that might experience this problem I thought I would document the journey to recovery.
Backups. You should backup your drives before you try to re-assemble them. This will take a significant amount of time. However, should you fat finger something or just have bad luck it will be worth the effort.
Assumptions: You know what Linux is. You have a vaild Ubuntu system to use as a “2 day dedicated raid restore system”. You have a way to attach the 2 drives you popped from your WD MBWEII. I used this. You have 1 drive that is 1.5 TB (1tb will do it but its cutting it close) to put the new images on.
Ok so backup your drives with dd_rescue (you can use dd if you prefer however dd_rescue gives you some nice “feedback” to show your backup progress). Once you do that mount them as “loop devices”. Then you reassemble the raid device with the mdadm command. Below will walk you through all of this.
BACKUP YOUR DRIVES:
Find out what the names of your drives are:
sudo fdisk -l This should return your drive information. Look for the 2 drives that appear to be the same size. So something like:
/dev/sdb and /dev/sdc
There will be multiple partitions on each drive. The partition we want to backup is the /dev/sdX4 this contains the data. So:
Replace drive_to_backup_to with whatever / wherever you want to place the 465GBish image to.
Do this for both of the drives then set them aside.
Ok 24 hoursish later you should have your images. Now its time to set them up as virtual devices via the losetup command. So this is what we are going to do in psuedo speak. We make both image files local loop back devices. Then we re-assemble the stripped array (which I believe is a raid 0) fromt he images. ***Note your original drives you took from the WDMYBEII should be somewhere safe… You should not need them again. That is until you remove all your data and want to “do” something with them again. So lets ressaemble the drives and restore our data!
sudo losetup /dev/loop0 /path/to/backup_drive1
sudo losetup /dev/loop1 /path/to/backup_drive2
That will setup your created images as “virtual devices” . So now lets reassemble them via mdadm. sudo mdadm –assemble /dev/md1 –force /dev/loop0 /dev/loop1
I am not sure if –force is needed however its what I did.
Lastly we need to mount this newly created “raid”device via the mount command. I created a mount point for it too. So:
sudo mkdir /media/NAS
sudo mount /dev/md1 /media/NAS
***Note if your mount fails (which mine did not) it might be asvisible to run an fsck on the /dev/md1 device an then trying again. howeve ryou are on your own on this.
Copy your files off quick to another drive and pray for good weather!
Credits: I got alot of the help from this post on the WDMBWEII wiki dot page.
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 hope to perfect this in the next few weeks and possibly put it up on the synthetos.com store (once I officially launch it)
The “proto desk” is missing the 1.8″x1.4″ breadboard at the moment. (I could not find mine
The top 2 openings are containers to place components in. I still need to fix the lettering alignment on the pins and a few holes were not cut (my stupidity) and lastly the DC power connector is a tad bit too high for the rest of the desk to tighten up nicely. Still thinking about what to do about that.