HP-41C Overlay Generator



#28

I recently wrote a little web-based application that generates overlays for the HP-41C. The interface allows you to edit the label for each key on the overlay, choose the font and colour for the labels, and choose the colour and label for the decorative stripe around the perimeter of the overlay.

The output is an SVG file containing the overlay. Most browsers of recent vintage should have no problem correctly displaying and printing SVG. IE is the notable exception; if you're using IE you'll have to save the output (use .svg as the extension) and use an external application that understands SVG (like PhotoShop or Inkscape).

The generator is at http://hp.meshuggeneh.net/.

I put this together for personal use, but figured other people might find it useful. Feedback is welcome.


#29

Good "evening", SPB,

This is really a great idea, certainly very useful to every owner of '41 here (or elsewhere!).
Thank you, I am going to test this little jewel right now!

***

After testing: accentuated letters (é, è, ê, etc.) are not welcome apparently. But it seems to be very powerful. Thank you again!

Edited: 14 Apr 2011, 8:44 p.m.


#30

Quote:
After testing: accentuated letters (é, è, ê, etc.) are not welcome apparently.

You should now be able to use any characters that are allowed in UTF-8 (assuming the font you've selected supports them). Originally I had written it to support only special characters that are defined as HTML entities; this covers most mathematical symbols, Greek letters, and so on, and as a North American English speaker it didn't occur to me to bother with umlauts and so forth.


#31

Works perfectly, as far as I know. Thanks!

#32

Hi...
It is a very nice program, congratulations...
I could suggest you to change the "HP-41C" for "HP-41CX" or other... and add in the side of the layer the "name". Just it. Thank you very very much for it.
Regards... Dinamarco


#33

Quote:
I could suggest you to change the "HP-41C" for "HP-41CX" or other... and add in the side of the layer the "name".

The label is editable; just change what's in the stripe label blank. The `HP41C' text is just a default, which I expect most people will change to reflect the function of the overlay, following the conventions of the original module-specific overlays from HP.

If I'm feeling ambitious I might add in the ability to add labels/text along the sides. The main difficulty there is that the sides of the overlay are curved, which complicates text placement.


#34

I hope you will.

2nd functions are pretty common, particularly on the first line ('a to e' labels).

But at this time it is ever possible to print two times on the same overlay to place first and second functions on the same line, even if the result may appear confusing or fuzzy.


#35

Quote:
2nd functions are pretty common, particularly on the first line ('a to e' labels).

There are now two label blanks for each key. The first is for the label that goes over the key and the second is for a label to be placed to the left of the key. The side labels are all blank by default.

You can label every key, but if you also leave the decorative stripe and label enabled this will tend to conflict with side labels on the leftmost keys on the lower rows.

The numbering of the keys has also been changed to reflect the HP-41C's internal numbering semantics. So now if you click on the top left key it will tell you you're editing key 11, click on the middle key in the second row and it's key 23, and so forth. This has no practical effect on the overlay and is done entirely for consistency.


#36

Excellent! Thank you ;°)

(and very very useful, indeed)

Edited: 19 Apr 2011, 1:31 p.m.

#37

Excellent! Thank you. ;)


#38

Very very nice :-D

#39

Very very nice!

Thank you

#40

This looks like fun - I am going to test this too. Thanks. However I can not edit a key - the page does not respond when I click on a key to be edited.


Edited: 15 Apr 2011, 9:33 a.m.


#41

For me, it doesn't work with Safari, but it does work with Firefox. (Can't have too many browsers installed these days.)

But thanks to the OP for making it available.

#42

Quote:
This looks like fun - I am going to test this too. Thanks. However I can not edit a key - the page does not respond when I click on a key to be edited.

The editing functions require that you have JavaScript enabled, so it sounds like you might have it disabled on your browser. If that's not the case I'd be interested to hear the browser/OS that's giving problems.

#43

Editing does not seem to work for me using Chrome10.0.648.204 on Mac OS X. JavaScript is enabled.


#44

Quote:
Editing does not seem to work for me using Chrome10.0.648.204 on Mac OS X. JavaScript is enabled.

It should be working now.

For anyone who's interested, the image was displayed using the OBJECT tag, and it appears that Chrome won't use an image map with an image in an OBJECT tag. I believe this is a bug, but it's easy enough to work around.


#45

Quote:

It should be working now.


Now I can click on a key and have some kind of visual feedback, but no typing is recorded.


#46

Quote:
Now I can click on a key and have some kind of visual feedback, but no typing is recorded.

Hm. I'm not sure what the problem is. I'm using Chrome 10.0.648.205 on linux and it works as expected. I don't have access to a mac, so I'm not sure when I'll be able to fix it if it's some sort of mac-specific issue.

If you're comfortable with the debugging built into Chrome, you could try clicking on the keys with the debugger open and telling me or copy/pasting what errors (if any) are showing up.

#47

Great tool indeed!

A suitable method to trim the key holes will now be really welcome... ;-)

Thanks for sharing.

Diego.


#48

Quote:
A suitable method to trim the key holes will now be really welcome... ;-)

If you have any CNC hardware---for example a laser cutter---they generally either accept SVG or come with software that will convert SVG into what they do accept. This is in fact one of the motivations that lead me to decide to use SVG as the output format.
#49

Great job!
A really nice addition to the 41C arsenal.

Thanks a lot for sharing.

Greetings,
Massimo

#50

A real asset. Thank you very much - also for the addition of the left-hand labels.

A+

#51

Here is an interesting post in a cutting machine forum:

http://forum.make-the-cut.com/discussion/12747/mtc-rocks-i-made-my-own-hp-41cx-overlay-/p1

This might be interesting for wp34s users, too.


#52

Hallo Marcus,

Thanks for finding & sharing. Now we only have to find a way to get it printed in reasonable quality on the right material.

Walter


#53

Interesting indeed! I did not know that such machines existed for personal use!

Some experimentation on one of these Cricut machines would likely lead to a reasonable homegrown solution. And, not being tied to a 'external' supplier is advantageous for smaller runs, adjustments, etc.

I will poke around with people that I know are into scrapbooking to see if any of them use these types of cutters.


#54

Yes, this is one of the main reasons the overlay generator produces output in the form of an SVG.

If you look at a rasterised image format (like for example JPG or GIF) it consists of a list of pixels and their values. So if you could read the binary blob of a JPG directly, it would look something like: draw a dot of such-and-such colour, then draw a dot of such-and-such colour, then draw a dot of such-and-such colour, and so on for however many pixels there are in the image. This is a bit of a simplification, but that's the basic idea.

If you look at the SVG output created by the overlay generator, you can see it is a text file (specifically an XML document). It contains instructions like `make a rectangle so wide and so high'.

In something like a CNC machine or laser cutter the statements in the SVG can be directly translated into instructions to the device: `make a rectangle so wide and so high' becomes, directly, `make a rectangular cut so wide and so high'. And so on.

SVG also has the advantage of being scalable without loss. This is really useful when you're trying to produce something like a keyboard overlay that has to physically match the dimensions of an existing object. Since different output devices might slightly change the size of the overlay (although they shouldn't because everything is given in dimensions of mm) this is very useful if you have to tweak the size of the overlay---changing the size won't result in any blurriness or other scaling artefacts.

If you are planning on outputting an overlay to a cutter of some sort, you'll need to use two passes. One to output the labels and so forth to the sheet to be cut, and then another to do the cutting. Most cutter frontends should allow you to select which objects/paths to cut and which to ignore. Alternately you can just manually create a second SVG that contains only the cut lines (the key outlines and the outline of the overlay itself).

If this is something a lot of people plan on doing I could easily modify the generator to create both a `cut' and a `label' SVG file.


Possibly Related Threads...
Thread Author Replies Views Last Post
  wp 34s overlay and programming. FORTIN Pascal 6 1,159 11-08-2013, 01:28 PM
Last Post: Nick_S
  WP-34S Overlay - making it a bit more permanent? Marcel Samek 1 484 07-05-2013, 09:02 PM
Last Post: htom trites jr
  HP-41C Overlay Generator (by spb) aurelio 0 367 03-06-2013, 07:49 AM
Last Post: aurelio
  HP41 emulator for HP48sx - keyboard overlay needed Doug (NYC) 3 707 12-31-2012, 03:11 PM
Last Post: Allen
  What is the best way to replace an older wp34s overlay with a new one? Michael O. Tjebben 3 670 07-11-2012, 09:56 AM
Last Post: Michael O. Tjebben
  Removing WP 34S overlay Jim Horn 6 786 06-29-2012, 07:26 PM
Last Post: JimHorn
  WP 34S overlay installation Jeff Johnson 4 638 05-24-2012, 07:09 PM
Last Post: Jeroen Van Nieuwenhove
  WP 34S - Pics of blue slant overlay on real calculator Bob Cortopassi 10 1,402 02-21-2012, 12:39 PM
Last Post: Dominic Richens
  HP28S screen noise generator Keith Midson 7 922 02-19-2012, 05:35 PM
Last Post: Gilles Carpentier
  go41cx overlay Math module Alexander Oestert 12 1,526 02-04-2012, 05:09 AM
Last Post: Alexander Oestert

Forum Jump: