Relevant Items on Amazon.com
Books :-

Components :-

HandyBoard Hackers' Resource Guide

Official site is at http://hc11-ide.funkmunch.net, check there for latest updates.

News

7 November 2006
New kernel code is falling into place piece by piece - I'll make it actually do something as soon as I've fixed up the serial code and integrated a talker into it.

Added http://www.societyofrobots.com/ - How to build a Robot Tutorial.
7 October 2006
Thermal grease is no good for battery packs. I will have to get a silver “touch-up” pen and remake the pack. My battery voltage is drifting all over the place with just 20mA current draw, with over 100 ohms internal resistance unless I squeeze it.

I have resurrected the sourceforge project, and am beginning to use their subversion repository for braincode v2.
I am also mirroring this site there, at http://hc11-ide.sourceforge.net.

23 September 2006
Made the new battery pack yesterday. Am trialling micronised silver thermal grease to increase conductivity of the terminals so I don't have to solder. Seems to be fairly high resistance so far, but I do expect it to take at least several days to settle in, just like when it's used for its intended purpose on heatsinks. Worst case scenario, I'll have to clean the terminals and remake the pack with something better suited.

I have reached that inevitable point in any learning process where it's easier to start over from scratch than continue with the current layout.
I am splitting my code into 3 sections: kernel, library and userspace code. This should allow me to only update parts which have changed, as well as making ram banking almost trivial when I add the hardware for it. Hopefully things will be easier to find as well :D
I have even worked out a method where each individual file can add itself to a named call stack which will make choosing what to include and exclude quite trivial! Only used in the kernel so far, but I already know of a few other places where it will be extremely handy, such as the wireless/serial error detection/correction stack.
Gnu ld's -R flag seems perfect for resolving/including symbols without including the library, which will allow me to cross-reference the sections without them becoming one object file. Be careful of --gc-sections - it makes libraries without an entry point empty!

Code from my rewrite is now available at newbrain/, and will be updated every so often.
19 September 2006
I have been playing with my radio modules, writing hamming error correction and some serial bit-banging for the mouse I'm gutting for quadrature encoders and a buffer on a 1200 baud link. I'll do a big post when the code is looking stable again.

New batteries coming soon, the current ones are over 18 months old and quite worn out. 25Wh should be plenty of power :D
I'll probably add a charge current sensor so I can integrate to find energy stored, since charge completion has proven relatively difficult to detect accurately.

Backlinked Ericson Mar's Robotics Links

5 July 2006
Robot Picture

Pics!

Posted some robot pics to robotpics/.
29 June 2006
Added hb_charger_layout.png (32KiB, 911x610)

I'll be posting recent source code to botbrain/, 16-servo/ and s19_interpreter_bootstrap/ every so often.
25 May 2006

Triffid Hunter and crew have been working on the robot with much of the programming now being done in C as well as assembly.

The robot has been running around our house and randomly knocking things over. It often stops to gloat with a series of random beeps after knocking over piles of beer bottles.

When the robot isn't displaying "randomrandom" or "mystery!" (that one's fun) it gives useful information about the battery voltage output. This output drops when the wheels aren't spinning, and we are hoping to use this factor to determine when the robot is stuck, without sensors for now.

A dial can now be used to control the steering! This has been a post by wily, blame any errors on me!

6 March 2006
Found GoRobotics and Robot Directory today.
12 February 2006
My robot did an untethered dance this morning

I've also worked out the gnu m68hc11 toolchain to the point where I can mix assembly and C as much as I like, and strip all the usual cruft out of gcc's output.

Next up, writing subsumption architecture and adding sensors.

New code will be put up soon, sooner if someone emails me and tells me they care ;)
5 February 2006
Updates to gnu-m68hc11 versions of 16-servo and bootstrap put up today.

Added Chris Hillman's Robotics / Animatronics / SPFX links!.
12 October 2005
My robot lives!

After a lot of wrestling with power filters and assembly, my robot is now operational.

Expect updates to s19_bootstrap and 16-servo code in the next couple of weeks.
26 July 2005
Found the Titan Robotics page.
9 July 2006
Updated BootStrap to v2.1, worked out how to use m6811-elf-ld so everything works properly now.
7 July 2005
BootStrap 2.0.0 released! See more at the BootStrap section
27 June 2005
Added Making your own Printed Circuit Boards
28 April 2005
Added FreeRTOS.org - A FREE Open Source RTOS Kernel for Small Embedded Systems
20 march 2005
Added Electronic Component Datasheets and Data Books to documentation sources. Has been a while since i've seen a clean, easy and free to use datasheet archive.

A couple of minor typo corrections

I would love any comments/additions/suggestions/link exchanges/et cetera on this site - my email is at the bottom of this page, though a little obfuscated to keep the spambots out ;)
10 February 2005
This site is now XHTML/1.1 compliant, rather than ancient HTML 4.01 transitional.
17 December 2004
The HandyWiki has returned, faster and better than ever!

I'll be adding lots of useful information into it over the next few months, give me a hand?
10 December 2004
It's my birthday :)
Fixed a bug in servo2.ic, kindly pointed out by Roberto Guerra, via The Handyboard Yahoo group

In setall(), I was incorrectly passing an array of char rather than an array of int to set_servo_value().
4 December 2004
After quite a while of this site being offline, it has returned!

The HandyWiki is yet to be set up though
27 August 2004
Most of the development happening here is the information resources at the moment. I'm waiting for IC5 to be released to see if my ideas would be easier to integrate into it, or better off written from scratch.
16 June 2004
I now have a SourceForge project
Compatibility
Valid XHTML 1.1! Valid CSS!

Although Internet Explorer still can't render the drop down menus... :(

Online Resources

Documentation and Information
Australian Shops and Parts Suppliers

If you're curious, I have NO affiliations with any of the shops below. They don't even know they're linked to from here, unless they check their referrer logs. All are linked for the sole reason that I think they might be useful to any australian robot builders out there.

  • Talking Electronics Shop An australian company that sells many great kits, and also has oodles of free information on their site.
  • Oatley Electronics An excellent australia/sydney based electronics store, unique for the fact that they buy surplus and obsolete equipment from companies and auctions and sell everything they can find at a fraction of its value. Check this site often! They ALWAYS have GREAT bargains on large and small motors, controllers, a vast range of parts and kits, hard-to-find components and odd devices, the vast majority excellently suited to robotics.
  • Jaycar Large Australian chain of electronics shops, far more hobbyist oriented than Dick Smith.
  • Altronics Smaller West Australian chain
  • Dick Smith Electronics Largest Electronics chain in Australia, although not as hobbyist oriented as some smaller stores/chains

Local Resources

16 servo addon

For handyboards without the expansion board. I have documented this gem on a separate page: 16 servo addon for HandyBoards without Expansion.

BootStrap v2.1

PLEASE NOTE: Bootstrap has become the “talker” part of braincode v2. The information below is subject to change, and latest code will be at newbrain/talker/ as well as in the subversion repository — The files in s19_interpreter_bootstrap/ will no longer be updated.

A program for the 68HC11 that fits into the 256 bytes of zero page ram, relocates to 0x8000-0x8100, registers itself in the reset interrupt, and accepts Motorola .S19 records (S1, S9 records so far) at 1200 baud. Excellent for the very first program ever loaded into your 68HC11 platform!

Designed to be compiled with the GNU m68hc1x cross compiling toolchain

There are two different debugging modes, both of which will require you to send bytes at a greatly reduced rate as the handyboard will be sending a lot of data back.

You will have to edit the Makefile to change or disable until I update it to take arguments.

DEBUG_STYLE=1
This debug style sends 0x00 if it is waiting for an 'S'.
It sends 0x10 if its waiting for the 1 or 9 after an 'S'.
It sends 0x20 when waiting for a high nibble hex character (must be uppercase), and 0x21 when waiting for a low nibble hex character.
It expects one length byte, two address bytes, up to 16 data bytes and a checksum byte. The checksum is ignored.
If it recieves a character that doesn't match what its waiting for, it will throw an error, reset its internal status and resume waiting for an 'S'. The data for that record only will be lost, you will have to send it again.
DEBUG_STYLE=2
This debug style doesn't send anything until it gets to the end of a line, then it sends back a '1' or '9', depending what type of S record it is, then it sends back every data byte as it copies (verbatim, not in hex) if an S1, or the subroutine/entry point address if an S9.

PLEASE NOTE: You will have to disable relocation (edit the Makefile) for this debug mode to fit into zero page ram.

Errata

BootStrap is vulnerable to buffer overflows. There is little to no bounds checking within the code, and BootStrap will happily accept all kinds of bogus values.
BootStrap's behaviour when passed a length less than three is undefined. It will most probably expect 257-length bytes.
BootStrap ignores the checksum, but expects to recieve it.
Many, many sacrifices were made to keep BootStrap within 256 bytes. If you want a feature added, grab the BootStrap source and see if you can squeeze it in. Programming with this little space is a real challenge. :)
I intend on filling BootStrap out into a more full featured “talker” that BootStrap itself loads, and provides code for.

S19toBIN

A small utility that converts an S19 file into a binary file.

C:\Handyboard> S19toBIN -h will bring up the usage instructions. Supports padding out to a certain size as needed for making the bootloader.

  • S19toBIN.exe (31KiB)
  • S19toBIN.c (11KiB, source)
  • Linux/OSS Equivalent:

  • m6811-elf-objcopy -O srec sourcefile.elf destinationfile.s19
HandyBoard Serial

A (very!) simple program for downloading files and other data into the handyboard. Allows you to type text, enter any of 256 chars on a keypad, or drag-drop files.

  • HBSerial.exe (108KiB)
  • Linux/OSS Equivalent:

  • cutecom, minicom, stty 1200 raw ignbrk </dev/ttyS0 && dd bs=1 <somefile >/dev/ttyS0
Documentation

Useful documentation, for every IC on your handyboard, except the voltage regulators, plus a few application notes and miscellaneous information files for good measure.

Please note that I am the author of NONE of these documents - I have gathered them from all over the internet and have mirrored them here for the convenience of handyboard experimenters. If you own any of these documents PLEASE contact me so I can link to your website!

HandyBoard Layout

A more intuitive layout diagram than the three in the handyboard manual, with each layer shown one above the other in different colours. Invaluable for finding where and how things are connected.

Red = Solder Side (bottom of board), Blue = Component side (top of board), and Green = Silk Screen (writing on board). The colours are added in the image, so where you see purple (red+blue=purple), this is where there is a track on both sides of the board.

You can see the "solder side"/"component side" markers under the piezo speaker near the top left of the board

Please Note: This diagram was constructed from screenshots of the layout in the Handyboard Technical Reference above, and should NOT be used to create circuit boards, as it is not of sufficient resolution for a quality result. It is only intended as a learning aid, and does well in that regard.

This site copyright © Triffid Hunter, 2004. I can be contacted at triffid_hunter@funkmunch.net