Nabaztagtag (Nabaztag v2) Dissection

I received a Nabaztag/tag from my girlfriend this Christmas, bless her soul:) For those not familiar with the Nabaztag, check out Wikipedia’s page about it.

The Nabaztag/tag is made by a company called Violet. It is Violet’s 2nd generation Nabaztag and adds a few new features on top of the 1st generation. There is a relatively strong Nabaztag community on the internet. Quite a few sites exists with neat software hacks and documentation that allow users to have some control of the device. However, I hadn’t seen anyone really take advantage of the hardware in any way other than what Nabaztag’s inventors intended. From what I gather, its possible to run bytecode on a “virtual machine” on the Nabaztag, but that doesn’t give you full access to the Nabaztag’s hardware.

It would be great to gain complete control of the Nabaztag – ie download a custom version of the firmware such that you would have complete control of the processor and peripherals. This would be a fun project, and might open up the possibility of adding additional sensors or output devices to the Nabaztag to expand its features. Additionally, it would open the door to using server implementations completely unassociated with Violet, which occasionally has “service problems”.

In a perfect world, the firmware for the Nabaztag would be stored in a nice, neat, extractable flash chip which could be easily removed, backed-up, replaced, modified, etc. Alas, Violet was not so considerate:) During my investigation I had to dismantle the Nabaztag. I snapped some pictures during this process:


Read More


Website management python script

This is a little script I created to help manage this website. It does 2 things:

1. It does basic macro expansion/replacement on html files. This allows html files to contain non-html tags which can be expanded into html based on the values in a configuration file. For instance, since every html file has the same header, its possible to include an <auto_update_header> tag in every html file and then have 1 definition of <auto_update_header> it in a configuration file. Its then easy to update the entire site’s html by modifying the configuration file and running update_html.py. This makes it easy to make sitewide changes and ensure all pages are up to date.

2. It “intelligently” uploads the website a webserver via FTP. It would be easier to use a standard FTP tool which could perform syncing, but there are many files that I don’t want to be uploaded (eg. .svn directories, non-gif or non-jpg images, etc). The FTP server address, username, and password as well as file and directories to be ignored can be specified in the same configuration file referenced above.
The script is very simple at this point, but should evolve as this webpage does.

Download update_html.py
Download update_html_example.conf
Download update_html_example.html

Read More


“Legofy” Gimp plugin

This is a very simple script “legoizes” a standard image via the Gimp image editor. It was used to create the header image used on this website as seen above. The concept comes from Patrick Mahoney. To install, download legofy.py and put in in your gimp plug-in path (eg ~/.gimp-2.2/plug-ins/ or /usr/lib/gimp/2.0/plug-ins/ for me). You’ll also need to download two Lego patterns and put them in one of Gimp’s pattern directories (~/.gimp-2.2/patterns/ or /usr/lib/gimp/2.0/plugins/) Note that it is not perfect and it generally works best if you pixelize the image by hand before running the script. Let me know if you have any suggestions/comments.

Download legofy.py
Download Lego Pattern
Download Lego Highlight Pattern

Read More


About Me

  • Born and raised in LaCrosse, WI
  • 2005 Computer Engineering grad from University of Wisconsin – Madison
  • Work at Extreme Engineering Solutions in Madison, WI doing U-Boot and Linux development, hardware design, and project management
  • Enjoy soccer, tennis, ping pong, foosball, bocce ball, skiing, snowboarding, backpacking, canoeing, SCUBA, outdoor activities in general
  • Enjoy riding my beater motor cycle when its running, woodworking, and reading
  • Linux geek/open source advocate
  • Can be reached at petertyser < at > no-spam < dot > gmail < dot > com

Read More

Internet Enabled Data Logger

My sophmore year in college I did an independent study to create a data logger that could function like a normal data logger, or, post the conents of the logger to the internet. This would allow someone to watch the results of a long-term experiment from any computer with internet access rather than having to be on-site to monitor the experiment.


Read More