You are hereTokyo Hackerspace Portable Hackable Sign

Tokyo Hackerspace Portable Hackable Sign

By Unassigned Robot - Posted on 20 November 2009



The portable, hackable sign is a scrolling LED display that was designed to be portable and battery-operated. The displayed message can be changed by using the provided message changer to rewrite the memory where the message is stored.

The concept is that people can display what they want and where they want, whether its connected to a computer, on their wrist, on the side of a building, or mounted on a pumpkin.

It’s also designed to be hacked to provide different functionalities based on the user. The emulator debug pins are exposed, the bootloader allows firmware upgrades via USB, and the serial peripheral bus (SPI) pins are exposed on the bottom side which can be used as a
general I/O or to communicate with other devices. Also, the bootloader is in a protected area of memory and will never be overwritten so the device is non-brickable, at least by a failed firmware upgrade.

All project files can be downloaded from the Tokyo Hackerspace website at:
Tokyo Hackerspace Portable Hackable Sign Project


The board’s hardware is fairly simple and consist of the following blocks:

AVR microcontroller

The AT90USB162 has 16 kB flash and 512 bytes of RAM. Of this, approximately 3 kB of flash are taken by the bootloader so it actually has about 13 kB available. The software requires a dynamic RAM stack of approximately 200 bytes so about 300 bytes are available for the application.

There is also an integrated USB peripheral inside the IC and so the FreakUSB USB device stack is used to handle the USB communications. When plugged into a PC, the device will come up as a COM (or serial) port on the PC.

There are numerous features of the AVR with many unused peripherals such as the analog comparators, timers, and other goodies. Please download the datasheet from the Atmel website for further info
on the microcontroller.

For debugging, the microcontroller was chosen to be compatible with the AVR Dragon which is a low cost debugging tool for AVR microcontrollers. The AVR dragon plugs into the exposed debug pins and
will allow single stepping, breakpoints, and manual control of the IO.


The board can be battery operated or
powered by the USB depending on the configuration of the power switch located on the bottom side. If a battery is present and the switch is on the battery side, the battery will power the board. The same goes for the USB. When not plugged into the USB, the USB side of the power switch is the same as turning the board off.


The LED matrix is an 8x8 matrix with row and column pins. The column pins are driven by an I/O from the microcontroller turning on a transistor. The transistor just functions as a switch that will allow power to flow to the LED column or cut it off. The row pins are also driven by I/O which turns off a transistor sink driver. Turning on the sink driver will allow the current to flow, and turning it off will shut off the current flow. By controlling the row and column pins, the user can address each of the dots on the LED matrix. Please see schematic for further details of the board’s hardware design.

Installing the USB Driver

The scrolling led board uses the
FreakUSB software to emulate a serial port. It uses the USB Communications Device Class (CDC) which is a standard class driver supported by Windows. In order to have the device recognized by a Windows system, you will need to point the Windows Hardware Wizard to the FreakUSB “inf” file. The inf file should be inside the “Win USB Driver” directory in the main release package.

Changing the Message

To change the message, a simple GUI based application is available for Windows called the THS Message Changer. To use it, simply plug the LED sign into the USB port (it requires a standard to mini-USB cable), choose FreakLabs Virtual COM Port, and click on Connect.

Once connected, the Message box is enabled and the message can be typed in there. The maximum number of characters that the display can handle is 250. The box on the right is the speed at which the scrolling occurs. It can scroll from 0 lines per second to 100 lines per second.


After you finish typing in your message, press Enter in the message box or click on Send. The message will be written to the device.

Firmware Uploading

The Portable, Hackable Sign comes with a bootloader that allows you to upload new firmware to the device. The bootloader is in a protected area of memory and cannot be overwritten except by special hardware. Hence, even if an upload does not go well, the device can still go into bootloader mode and the original firmware can be re-written to it.

The bootloader mode requires a special key combination on the buttons, S1 and S2. S1 is a general purpose button and S2 is the reset button. In order to go into bootloader mode, you will need to push S1 first, and while keeping it down, press and release Reset (S2). In technical terms, the button S1 is sampled on reset so that if its found that the button is pressed during reset, the hardware will automatically go into bootloader mode.

Before using the bootloader, you need to have the Atmel FLIP software installed. FLIP stands for FLexible In-system Programmer). The software can be downloaded from the following location:

Download Atmel FLIP

After it’s installed, and when you go into bootloading mode, you’ll probably get a query for the driver (in English). Click on No, and point the wizard to the location of the Atmel FLIP USB directory:

After that, click Next and the drivers should be found and get loaded. Once that’s taken care of, the microcontroller will get recognized each time you plug it in so you won’t have to do it again.

Now you can open up the FLIP software:

The first thing you need to do is select the device in the FLIP software. Click on the device icon and it will bring up a menu of AVR microcontrollers. Select AT90USB162 and click OK.

You’ll then want to open the USB. Click on the USB icon, select USB, and then click on Open.

Finally, click on Run and you should see a Progress Bar window. It will write the file to flash memory, and then read it back for verification.

Debug interface

For people that want to customize the
firmware to add other functionality, the boards come with their own debug port compatible with Atmel’s low-cost AVR Dragon In-Circuit Emulator (~$50, Digikey). This allows single stepping, breakpoints, manual control of registers, and general programming.

In order to connect the two devices, you will either need to make a 6-pin cable or a device that can connect the two ports together:

Auxiliary SPI Interface

The Portable, Hackable Sign also comes with an auxiliary SPI interface. SPI stands for Serial Peripheral Interface and is a serial protocol popular in the embedded industry. Many sensors come with SPI interfaces and most microcontrollers also have one. This allows communications between the device and things such as sensors, I/O expanders (which can allow connection to switches and relays), or other microcontrollers.

An SPI driver will need to be written for this, however numerous examples can be found on the web or on the Atmel website.



This project is completely open source hardware and software. The files can be downloaded from the link below and consist of:

- Firmware source code
- Windows application source code
- Firmware and Windows app binary images
- Board schematics (pdf)
- Board layout (pdf)
- Documentation

Version 0.81
Version 0.80 (deprecated)

Release Notes
- v0.81 Added Vista/x64 support in Windows inf file
- v0.80 Initial release


Please post support questions to the support forum. The link to the support forum is here:
Portable Hackable Sign Support Forum

Project Forums
Issues that I can see need to be addressed Unassigned Robot Here are some of the issues I see that need to be addressed: 1) Front page management - who decides what gets promoted to front page content 2) User...
personal profiles MRE Hello We have been asking people to log in and create their personal profiles. However, after looking at the "Create content" page, I don't see a '...
Images and galleries Unassigned Robot There's no doubt we'll want to use images extensively on this site. The question is how to manage images. We should start by considering how images...
general page organization and linking MRE I created a Resources page. I dont know if we want this to be one of the tabs at the top of the page, or tabs down the side.. or in some other page...
Rain water collection MRE In the "Greening the hackerspace" department: I propose a rain-water collector for hydrating plants. We would need to locate a rather large vessel,...
LED lighting MRE The average cost of a screw in LED light bulb (runs on 100VAC, fits a standard lamp socket) is about 4000 yen per bulb. Granted, they will last up...
Animated Hacker Space MRE Christmas.. not this coming year (perhaps no time/funds) but certainly next year: Animated house. Christmas the gaudy American way! With inflatable...
Listen to radio in your browser Unassigned Robot I like to listen to music and radio very much, but I work in different computers and systems at different locations and it used to be a hassle to...
Project Kickoff Announcement Unassigned Robot This is a repost of the Project Kickoff Announcement from Janos: Hi, I created the main page for the project.
Workshop Ideas from 4th August Meeting Unassigned Robot Project Management Home brewing Wine tasting How to present a workshop Physical Security - lock picking Reverse Engineering Real Networking (prequel...
THS Class: WTF is a Resistor

"WTF is a resistor?" or "Electronics Basics: The stuff you need to get your shit up and running" by Akiba and MRE

Location: Aoyama. Map sent to you when you reserve a place.

Weekly Meeting

Meeting will be held either at Yoyogi Park, or Respekt Cafe in Shibuya in the event of thunderstorms.

Please bring an item of interest for Show...

Solar Eclipse

My show and tell last night was about today's solar eclipse. The best time to view the eclipse in Tokyo will be at 11:15. It will be 70%. We are too far north for a total eclipse.

So, in an...

THS Class:WTF is a Resistor - レジスタって何よ?!

Akiba と MRE による "レジスタって何よ?!” または "エレクトロニクスの基本" 講座

場所: 青山. 参加登録者には詳しい場所をお知らせします.
参加登録: lauren(dot)shannon(at)gmail(dot)com にメールしてください.

Weeekly meeting

== Next Meeting 次回の会合 ==
:Time: Tuesday July 28th at 8pm
Location: Kimono Wine Bar and Lounge
Address: 東京都港区西麻布4-18-20

This is a super pre-launch new spot. THS will be our...

Blogs and posts about this project
Porting from mediawiki to drupal admin trying this first... doesnt work very well... this is the downside to the non-html methodology of mediawiki...
Test Blog Entry Unassigned Robot Hello everyone. I'm your fairy godmother...
Playing with Drupal Unassigned Robot Hi everyone. I'm playing around with the Drupal configuration that Chris set up and am slowly getting the hang of it. You should be able to register...
HackerSpace coming soon? Unassigned Robot If you follow the TKOHackerspace twitter feed, you might have noticed that Lauren posted that the hackerspace in Shirokanedai is reaching the final...
Tomorrow's MTG Unassigned Robot I think even if it is not actively raining tomorrow night we should skip the park for this time-- cause it is going to be wet since it will surely...
The Real FreakLabs Unassigned Robot response to people thinking that Tokyo Hackerspace is just about software, its completely untrue. As you can see, hacking is more about...
Tokyo Hackerspace Meeting Number - XXX Unassigned Robot Damn, forgot which number the Hackerspace meeting was. It must be around five or six by now. Anyways, it was good conversation and lots of beer....
Tokyo Hackerspace Boards - First shots Unassigned Robot Just received the Tokyo Hackerspace Boards. I was a little worried how the red silkscreen on a white solder mask would look, but it's actually pretty...
Prepping for the first THS workshop Unassigned Robot Putting together my slides for the first THS workshop and it got me thinking. When I was learning electronics, they taught us a lot of math,...
Class jitters and docile students MRE I saw Akiba's blog, and it spurred me on to think along the same lines, so here is my take: Putting together my part of the power point slides didn't...

I only use hardware with Microsoft certified signed drivers.

Kyle, did you get this running with Karmic? Or do you need to use WINE/VM-ware? Mac?

I booted to my Win 7 x64 partition and it worked with ver 0.81.

Akiba, USB stack runs OK on Windoze XP, not at all on Vista.

When I try to load the driver, I get an error message that says "The INF file you selected does not support this method of installation."

In poking around a bit, I tried using the legacy hardware wizard, and it suggests that the problem is that the stack is not compatible with x64 architecture. Any thoughts?

Release v0.81 has been tested and working on Windows Vista/x64.

The USB stack uses the standard USB Communications Device Class driver which is supported by Windows. The problem is probably with the .inf file not being compatible with the format that Vista is expecting. I'll look into it, but gonna need to find a Vista PC.

Here's a little Javascript tool to aid in creating new characters. It converts dot matrix characters to hex as required by font.c

Tuesday (7:30 PM)
Open House Meeting
水曜日 (7:30 PM)
日本語 Meeting

« August 2017 »

twitter / TkoHackerSpace

Syndicate content