Unboxing – SeeedStudio Xadow

SeeedStudio Xadow unboxingFirst impression of Xadow is very good! There a lot of parts :), small – a bit smaller than end of my (man sized) thumb, but all look very well made and ideally suited for wearable items like those the Xinchejian Assistive Devices project is creating.

The SeeedStudio wiki has detailed page on each Xadow device with instructions on how to use, sample code, schematics, eagle files and if required libraries and some pages also have links to data sheet and other related software. Next step is to plug in and use, but that will have to wait until tomorrow 🙁

A big thanks to SeeedStudio for sponsoring the Xinchejian Assistive Devices project with the Xadow! Asked SeeedStudio last Wednesday evening to sponsor, they approved next day, Friday gave them address, shipped Monday 5:45, arrived 10am today, Wednesday.

 

MMU 6050 6 axis / 6 DOF gyro and accelerometer interrupt & data summary

The most excellent Xincehjian maker Edward introduced me to the also excellent MMU 6050 that has a 3 axis gyro and a 3 axis accelerometer and in addition has a bucket load of on-board digital motion processing (DMP) to give a huge range of 6 axis (DOF) outputs as well as motion, free fall, tap and shake detection. Amazingly, in China, you can buy it on a break out board for about $4 and get it delivered for another $1, a day or so later.

A popular library for this chip, seems to be the I2cDev library from Jeff Rowberg which not only provides access to this chip, but a HOST of other sensors AND it also provides a generic I2C lib (hence the name I2Cdev) that can and has been ported to many different host processors!

But wait there’s more, the I2cDev library offers a choice of several underlying I2C libaries, and even when using the default Arduino Wire library to provide the I2C, the common blocking – hanging issues that seem to plague many people when using the Arduino Wire library for I2C, have been resolved! I can now run I2C code for many hours, even overnight, instead of previous seconds or rare minutes!

So, I am really stoked, because the MMU 6050 delivers a lot of features that I really want to use (see Assistive devices) and those Wire I2C issues have caused me a lot of grief over the last 2 years as I tried to use several different sensors and motor controllers and even recently when I tried several different libraries, that others have created to get past these issues!

click for the A3 page of information
Screenshot of MMU 6050 interrupts & data summary

 

But wait there’s still more, there is also the freeIMU library, which I have been using successfully. It sits on top of the I2cDev library and provides additional features.

The last “But wait there’s more” is that as part of trying to get my head around all, well so far some of the above (tap, shake and motion detection), I delved into the documentation and code and summarised my understanding of interrupt configuration, interrupt status, raw data access and access to the DMP data. The document is still a work in progress, so please add comments to this post or contact me with updates and corrections!

Assistive devices and “Helper sessions” at Xinchejian

Kicked off establishment of “Helper sessions” and making assistive devices in a talk at Xinchejian.

Seems like there is a fair bit of interest – so these sessions will hopefully be be ongoing and produce some fun and “usable devices” (haha).

The trimmed presentation (cut out the waffle about me) has been published here as pdf and odp because XCJ blog and wiki have file size and type restrictions.

Started Xinchejian wiki pages for “Helper sessions” and making assistive devices.

Not so busy – relaxed busy

A friend in XinCheJian hackerspace Shanghai asked me today what I have been up to. I was thinking not too much, as I have watched quite a few movies (Sleep Dealer is pretty good, Avatar was way better than I expected) and re/read several books & magazines, but then I started to list some of the things I have been doing…….

  • PartTester – built 2nd board with 1% R – did not work, and now 1st one not working – same issue, eventually worked out LCD had partially died on trip home from China.
    • Looking into ways to do improved or auto-calibration
    • As part of above, part of X-bot work discovered that Gerbers used for PCB production have an electrical issue where 328 processor digital ground is not connected. This is only in the Gerbers – the schematic is correct!
    • Red circle in photo highlights difference between “good” gerber (blue) and my gerber with missing ground connection.
    Gerber issue ground not connected to Atmega328 ground!
    Gerber issue ground not connected to Atmega328 ground!
    • X-Bot – learning SMD soldering (old, unrefrigerated solder paste = :(, new = 🙂 )
      • Made a pogo pin ISP connector to easily test if processor was working
    • Playing with el-cheapo Taobao STK500 programmer (good in HV mode, but can’t get it working in ISP mode)
    • Fighting several nasty computer issues
      • XP system freezes for 1/2 to 3-5 minutes yet CPU is at 1% and no other symptoms or errors!
      • XP ongoing anti-virus software instability issues
      • battling security update issues on XP and Lububtu
      • Lubuntu intermittent keyboard & mouse issues – only some keys/buttons work!
      • Lubuntu SMB file copy issues
      • Lubuntu “system problems”
      • Lubuntu restoring backups – path too long
      • Unsuccessfully trying to install Windows 7 to SSD and user directories to different disk
      • Unsuccessfully trying fix injet printer ($$ cartridges, cleaned, factory resets, extra cleaning…..)
      • …..
    • Replacing swimming pool pump (now pool is leaking – think it is drain system)
    • Car window electric winder replacement
    • Fixed front door lock
    • Home Theatre – fixed bad solder joint that stopped right channel working
    • Toshiba SD-K310P DVD player won’t play disks – seems like region free hack has stopped working
    • Dish washer – bottom arm won’t spin .. ongoing effort to fix
    • Backyard jungle:-
      • Getting rid of dangerous European wasp nest
      • Digging ditch for irrigation system repair
      • Hacking away at six months growth (two trailer loads so far), have not even started on the 80+ meters of hedges yet!
      • Watching Cockatoos, King Parrots and Roselas
      • Saw a falling star
      • Cleaning up flood in garage last night due to major storm – we were lucky – could hear clean up with chainsaws nearby.
      Backyard Cockatoos
      Backyard Cockatoos

       

      Backyard King Parrot
      Backyard King Parrot

       

SwarmRobot Competition winning entries

The two winners of of the SwarmRobot competition group prizes are:

  • DooMMasteR on behalf of stratum0
  • Jon on behalf of his group.

Both entries scored well against most of the judging criteria and were evaluated as well deserved winners!

Emails have been sent to the prize winners. There were no winners in the individual category.

A big thanks to those who entered and also to all those who visited and especially the sites that provided links!

SwarmRobot competition closing soon!

Reminder: Only a few days until entries close November 30, 2012, 6AM GMT

Your entry only has to be idea – you do not have to make anything to enter! Don’t be tricked by lack of visible updates about the competition, the web site traffic show that is is reasonable interest in the competition 🙂

All you need to do is write a submission on what you would do with the SwarmRobot PCBs. The winners will be those displaying the best spirit of open sharing and learning in what they intend to do with the PCBs and how they intend to do this.

Prizes 15 PCB pairs (main controller and IR shield).

  • Individuals – 5 prizes of 1 PCB pair
  • Maker/Hacker spaces or other like minded groups – 2 prizes, each of 5 pairs of PCBs

Detailed information on the competition and how to enter can be found at:

SwarmRobot Competition details

Below are all the necessary details for the competition. Please discuss via this forum.

Update: Please indicate which category you are entering in your submission – Individual or Group.

One final hint in addition to all the criteria below and the hints in the original post: this competition is about ideas for what you hope to do with the SwarmRobot PCBs when you win!

Judging criteria for entries:

  1. What you would do with the SwarmRobot PCBs.
    • What you intend to do with the PCBs
    • Swarm behaviour/capability of robots
    • Swarm of people creating…..
      • Swarm – of robots and people creating…..
      • Individuals – can work with others via the internet
      • Groups – can work as a group or with other groups
      • XinCheJian is one such group of individuals!
    • Imagination and creativity
    • Realism – can the ideas be implemented with AtTiny2313A SwarmRobot PCBS (including additional shields & code)!
    • Originality. A smart new design that extends and inspires
    • Technical prowess
  2. Displaying the best spirit of open sharing
    • Learning
    • How you intend to implement your ideas.
    • Documentation. Schematics, theory, pictures and/or video. It’s all about sharing, so that others can do or extend!
    • This sites/AFRON goals = open, sharing, accessibility, education, low cost

Rules

  • Any idea can be entered, but judges will favour ideas that can easily be implemented on the prize PCBs.
  • Original entries will score you the most points. Please don’t copy existing ideas from the internet.
  • Submit as many entries as you want, but please submit each separately.
  • Good documentation is a must. Use a video, pictures, schematics, etc to document the idea.
  • The submission files must be released under an open source license. Closed source software or hardware is allowed, but should be fully disclosed and redistributable.
  • We want to show off your ideas, and other websites will too. You agree to allow any part of your submission to be republished here and at other media outlets.
  • All rules, categories and decisions are subject to change at any time. We’ll do our best to let you know about any changes and why they were made.
  • Entries must be received by November 30, 2012, 6AM GMT. Winners will be announced on this webpage by December 10, 2012.
  • Preferred way to submit your entry is via this forum. Please note that forum accounts have to be manually approved – due to all the spam issues. So don’t leave your account creation until the competition deadline!
  • Alternate submission is via an email to this sites contact email.

Legal stuff
We want everyone to have fun, and nobody to get sued. Welcome to the legal section.

  • Void where prohibited. The competition is open to world wide participants, unless your local laws say otherwise. We aren’t lawyers, so you need to determine any restrictions on your own, before entering. If you win a prize and can’t collect it, you will need to work it out on your own.
  • Pay your own taxes. If you win a prize and taxes or import duties are due, you will need to work it out on your own.
  • Any cash prizes paid by PayPal or money order, super void where prohibited. If the winner is unable to receive it, or there’s a legal problem with a cash prize, we’ll donate the money to the Electronic Frontier Foundation.
  • No purchase necessary for entry. This isn’t a lottery.
  • Permission to use your entry. We need to post your entry on the blog. By entering the contest the entrant(s) consent to have all submitted material related to the contest used without notification. Likely uses are promoting the contest and open hardware, and advertising for competition sponsors.
  • Judging. Our judges’ decision is final.
  • Legal paranoia. Entries that violate local, Federal, or international law may be disqualified.
  • Rules may change. If the rules do change we will publish the changes as quickly as possible.

Rules and legal inspiration taken from the awesome 555 Contest (via WayBackMachine) and DangerousPrototypes 7400 competitions.

SwarmRobot competition – free PCB prizes


Been thinking of running a competition to give away some free PCBs and now that I have your attention thanks to Slashdot, here goes:

Prizes 15 PCB pairs (main controller and IR shield).

  • Individuals – 5 prizes of 1 PCB pair
  • Maker/Hacker spaces or other like minded groups – 2 prizes, each of 5 pairs of PCBs

To enter: Write a submission on what you would do with the SwarmRobot PCBs. The winners will be those displaying the best spirit of open sharing and learning in what they intend to do with the PCBs and how they intend to do this.

Hints:

  • Look at this sites goals and those of the AFRON competition
  • Swarm – of robots and people creating…..
  • Individuals – can work with others via the internet
  • Groups – can work as a group or with other groups
  • XinCheJian is one such group of individuals!
  • XincCheJian wiki has a lot of SwarmRobot information and ideas
  • Be creative, but realistic – it would be great if you can follow through with your ideas and the PCBS!
  • Look at this sites goals and those of the AFRON competition

Entries will close – near the end of November. Full details with closing time and how to submit will be published shortly. If you can’t wait – then look to how dangerousprototypes run the 7400 competition – loose and flexible rules, with core goals of encouragement and having fun!

UPDATES: 

Stack of SwarmRobot PCBs
Stack of SwarmRobot PCBs

SwarmRobot InfraRed remote control

The video shows three SwarmRobots being controlled by one InfraRed signal – sorry for the poor video quality.

Looking at ways to have some sort of SwarmRobot display for MakerCarnival in Shanghai in early November, found this AtTiny 2313 code which can decode RC5 IR. It compiled, loaded and ran (verified looking at serial data output), but it did not detect IR from several different remote controls tried.

Using this Arduino code, (which uses some really nice multi-protocol IR receive and transmit libraries) it was discovered that all the remote controls used where NEC protocol, not RC5! Research indicates the NEC protocol is very common in Asia!

Rather than find NEC code for the AtTiny, or write code decode NEC, I used the above library to send RC5 and now a SwarmRobot can receive commands and as the shows, several SwarmRobots can be controlled at the same time! Kept using RC5 because it actually sends two sets of information an ID and a command, so this really fits controlling robot X to do command Y, or group z of robots to all do same command.

The code is on GitHub: SwarmRobot AtTiny2313 and the Arduino transmitter.

SwarmRobot infrared object avoidance video

Success:- Using one InfraRed transmitter LED and four receiver LEDs for 360 degree object avoidance. The program logic is very simple at present.

Unfortunately the setup is not yet reliable – works one day but not the next and there are still some initialisation issues.

Biggest issue seems to be that there are huge variations in the functionality of IR receiver LEDs and we have not found matching data sheets for the two types we are using!