Bongofish

Screen Tablet malarky => Tablet Conversion to USB => : bernard September 06, 2011, 05:09:11 AM



: WaxBee project
: bernard September 06, 2011, 05:09:11 AM
The WaxBee project is the magic touch that makes serial/ADB tablets act as 'native' USB tablets.  It's the software that runs on the Teensy (or equivalent).

Project is open source and located here : http://code.google.com/p/waxbee/

(Huge) thread where it all started : http://forum.bongofish.co.uk/index.php?topic=1738.msg12302#msg12302


: Re: WaxBee project
: bernard September 06, 2011, 05:10:21 AM
New version 0.10 adds support to program the Teensy within WaxBee from 32 bits Windows environment.


: Re: WaxBee project
: tufty September 29, 2011, 07:54:31 PM
Bloody hell, I missed this.  Bernard, that's fantastic work.

simon


: Re: WaxBee project
: bernard September 30, 2011, 12:26:33 AM
Hello simon, your help to jumpstart this whole thing was invaluable. Now it is used by quite a few folks. I have converted not only ADB but Serial-based ones as well (including penenabled (TabletPC) serial-based wacom sensors).


: Re: WaxBee project
: tufty September 30, 2011, 07:18:16 AM
I'm really glad someone's gone up and running with the info I managed to glean, to be honest.  I was about to start coding up something equivalent for a little ARM dev board I have lying about here, but I'm shelving that for now...

Quick question, though.  What's the running memory (i.e. RAM) footprint of the AVR code for ADB?  I'm having trouble sourcing an actual teensy over here, but there's a bunch of "more or less equivalent" dev boards out there, but they have half the memory (ATmega32U2 rather than U4, 1K vs 2K RAM).  I'm guessing I can get away with that, but not sure.


: Re: WaxBee project
: bernard September 30, 2011, 08:40:47 AM
The info you gleaned, keeping the Wacom ADB-related drivers as well as other ADB stuff around was an invaluable step for me to be able to do all that ADB stuff. I am not sure if I would have been able to do anything without it frankly.

---------

Really, it would be better to use the same CPU -- there is an equivalent breakout board from Adafruit. The "Atmega32u4 Breakout Board+ (http://www.adafruit.com/products/296)". The only real difference is the bootloader (which is not a problem really). Some suppliers are in europe. Try to source that if you cannot get a Teensy (how come you can't get it from paul btw??).

http://www.robotshop.com/eu/adafruit-atmega32u4-breakout-board.html
http://www.eztronics.nl/webshop/catalog/product_info.php/products_id/412 
http://www.robot-italy.com/product_info.php?products_id=2026

Some other AVR CPU have different "USB" characteristics (like buffer maximum sizes for endpoints for example). There might be other differences I am not aware that might be annoying to fix. If you use the same CPU, it will also ease each time WaxBee gets to a new version. I already did many revisions of the software.

For the current program space foot print I do not remember at all. You can try to download the latest WaxBee and run -- in theory this application should run on Mac OSX -- Run it up to the point of generating a .Hex file.  I think the software shows the total bytes. If not, then try to run the "Program device" (it will fail for Mac OS since I did not compile a native library for it yet), but it should show the size of the firmware in the window "behind" the error message box. (The total foot print size is the original firmware code + "injected parameters" which varies in size depending on what you configure).

The other variable to consider is the free "RAM" space. That won't show in WaxBee. This is only when I compile it that I see it. If you still want to know, I will load and check it out from a build in my Eclipse IDE. I recently did a big change to put as much "Strings" in Program space as possible. (in C/CPP, each string, even if immutable, take program space and RAM space). So that change alone reduced my RAM footprint  (it was something like 85% if I remember correctly). But I could do better (if I ever need more space) -- I declare a lot of structures as straight global variables. For example, Wacom Protocol 4 and Wacom Protocol 5 have their own separate stuff -- both eating RAM space -- and only one protocol is used at any one time.


: Re: WaxBee project
: tufty September 30, 2011, 12:30:24 PM
(how come you can't get it from paul btw??).
It was more a question of shipping costs, which are quite significant, but I've actually got another couple of projects on the go (iPaq "stowaway" keyboard -> USB, for example) which might be able to use a teensy, so maybe I'll just bite the bullet and order a few at once.  The adafruit board works out more expensive than the teensy anyway, even with shipping included, so hey.

I was looking through your code, I *think* your menu strip handler is b0rked.  From my UD0806A, ISTR that a menu strip event looks like this:

Bx 00 yy 00 00 00 00 00 : Stylus menu strip event, x is stylus button encoding as per a "normal" button event, yy is the menu strip button entry
9x 00 yy 00 00 00 00 00 : Puck menu strip event, x and y as above.

I may well be misreading your code, though.


: Re: WaxBee project
: bernard September 30, 2011, 04:40:57 PM
Wow! someone looking at the code!  ;D  All the menu strip logic is not really finished and is thus in "limbo".  The idea is to have internal button events that would work from different sources (tablet menu strip, teensy GPIO pins, dedicated tablet zones) and be able to map them to the target USB device menu strip, buttons and whatnot. I've started putting the architecture to support this, thus I am not surprised that something is wrong (I am not following exactly what, can you point to a specific line in the code?) -- and you are saying that using the Puck gives out a different message than with the pen? yipes. In more recent wacom tablet models (XD series for instance), the menu strip is not implemented in the tablet. The active area is simply extended to include the menu strip area and the wacom driver software does the mapping. Actually for some older series (UD or GD can't remember) the smaller tablets tend have the mapping done in the driver whereas the bigger tablets have it done within the tablet itself (I assume that is to simplify support of "custom drivers" in each applications -- A practice that was common in the days of DOS).

I do not really support the puck either BTW (unless it is the same thing) -- I never felt the puck to be useful and nobody asked for it. But you may prove it differently. :)

Do I infer that you are trying to convert it to USB? I thought you had it working already with the iMate and your Mac OSX driver, etc?

BTW, the Teensy is physically smaller than the Adafruit one, this is really nice for embedding and hiding inside cases. The Arduino is a rather small board that fits in one palm's hand but it looks huge when put next to a Teensy!! :)



: Re: WaxBee project
: tufty September 30, 2011, 08:00:02 PM
Wow! someone looking at the code!  ;D  All the menu strip logic is not really finished and is thus in "limbo".  The idea is to have internal button events that would work from different sources (tablet menu strip, teensy GPIO pins, dedicated tablet zones) and be able to map them to the target USB device menu strip, buttons and whatnot. I've started putting the architecture to support this, thus I am not surprised that something is wrong (I am not following exactly what, can you point to a specific line in the code?)
Ah, that figures.

The code I was looking at was pen_button_handler.cpp, which, unless I'm misreading totally, appears to only be looking for ADB packets starting with 0xB0.  As far as I can recall, those only happen when you let go of all buttons when hovering over the menu strip - you don't get proximity messages for the menu strip, only actual button state changes.  I think.  Can't find my analyzer logs now.

and you are saying that using the Puck gives out a different message than with the pen? yipes.
The only difference is the pen / puck bit (bit 5 of the first byte) and the fact that button encoding for the puck is sane.

I do not really support the puck either BTW (unless it is the same thing) -- I never felt the puck to be useful and nobody asked for it. But you may prove it differently. :)

Do I infer that you are trying to convert it to USB? I thought you had it working already with the iMate and your Mac OSX driver, etc?
Most people don't have pucks...  I have one, and it can be *enormously* useful for tracing drawings and other delicate work.  Don't use it much, but when I do, nothing else will do the job.

And yeah, I'm gonna go USB.  The driver's getting to be a bugger to maintain.  Can't get it to work *at all* on 10.6, which means the tablet's hooked up to the second mac rather than my main one.


: Re: WaxBee project
: bernard September 30, 2011, 11:17:19 PM
yes, the menu strip outputs a button packet. But that is different from tablet to tablet. In general the more recent, the less likely it reports button packets. And in some case, the size of the tablet appears to make a difference on that regard.

oh that hex string 0xB0 x1x1 y1y1 x2x2 y2y2 btnNo  is a configuration parameter to configure a "zone button" area. (feature not working yet). Nothing to do with the ADB packets!

When you say the "puck" you really mean that mouse-like device with a clear plastic piece with a "cross" to precisely position it?  In my case, I was talking about a "plain mouse". (no cross)

For ADB, the decoding of bits is done by overlaying a bitfield structure (adb_codec.h (http://code.google.com/p/waxbee/source/browse/WaxB_Adb2Usb/adb_codec.h) and adb_tablet_defs.h (http://code.google.com/p/waxbee/source/browse/WaxB_Adb2Usb/adb_tablet_defs.h)) over the received bytes. This is governed by an ADB state machine (adb_controller.cpp (http://code.google.com/p/waxbee/source/browse/WaxB_Adb2Usb/)). The ADB signal decoding logic is in adb_codec.cpp (http://code.google.com/p/waxbee/source/browse/WaxB_Adb2Usb/adb_codec.cpp)

BTW, it is very well possible that the ADB puck works - just that it will be reported as a pen. Not all the puck buttons might be mapped (how many buttons do you have on your puck?). If you want to use the puck then we can try to fix it (if we ever found what a puck "tool id" looks like?). The best would be to find someone with a similar Intuos2 device and make him run a USB Trace to see the packets.


: Re: WaxBee project
: tufty October 01, 2011, 09:17:57 AM
For ADB, the decoding of bits is done by overlaying a bitfield structure ...
Ah, so I was misreading.  Fair enough.

BTW, it is very well possible that the ADB puck works - just that it will be reported as a pen. Not all the puck buttons might be mapped (how many buttons do you have on your puck?).
Puck button encoding (on the adb side) is different to pen button encoding.  Because the pen button encoding is insane.  Here's how it works:

For a puck : the "button" nybble encodes the button number on the puck as follows (at least for my 4 button puck, the intuos lens cursor and so on have at least 5 buttons) :

1 - Front Centre
2 - Left
3 - Back centre
4 - Right

Note - this doesn't allow for detection of multiple buttons at once.  It seems to pick up the first button pressed.  I do not believe there is any difference between the packets sent by the "lens" puck and a non-lens variant, except where the samples are centred. 

I'd guess you have pen button encoding handled properly, but just in case:

For the stylus (ultrapen eraser), it's all a bit arse arse as the number is a bitmap of the "tip pressed" and button
Button = 1 - nib pressed
Button = 2 - side button 1 pressed
Button = 3 - nib pressed and side button 1 pressed
button = 4 - side button 2 pressed in proximity *or* eraser in proximity
Button = 5 - Eraser pressed *or* side button 2 pressed and tip pressed
Button = 6 - Eraser in proximity with side button 1 pressed
Button = 7 - can't do this, I don't think.

A little explanation from the wacom docs...
# When the eraser is in proximity of the tablet, or the second side switch is pressed while the pen is
# in proximity, then the tablet will transmit a switch number of 4. When the eraser tip is pressed
# against the tablet, or the second side switch is pressed while the pen tip is pressed against the
# tablet, then the tablet will transmit a switch state of 5.
#
# Note that the tablet cannot detect the difference between an eraser in proximity and a pen tip with
# the 2nd side switch pressed in proximity (switch state 4), and it cannot detect the difference
# between an eraser pressed against the tablet and a tip pressed against the tablet while the 2nd side
# switch is pressed (switch state 5).
#
# Note: The WACOM drivers differentiate between the eraser function and the second side switch
# function by analyzing the first switch state transmitted after the pen enters proximity: if the initial
# switch state is 4, the driver assumes that an eraser is now in proximity, and if the initial switch
# state is 0 and changes later to 4 or 5, then the driver assumes that the pen tip is in proximity and
# that the 2nd side switch was pressed at the later moment.

If you want to use the puck then we can try to fix it (if we ever found what a puck "tool id" looks like?). The best would be to find someone with a similar Intuos2 device and make him run a USB Trace to see the packets.

http://linuxwacom.git.sourceforge.net/git/gitweb.cgi?p=linuxwacom/input-wacom;a=blob;f=2.6.36/wacom_wac.h;h=a4399a41f8d3ee658f1651d44cbdd965e9128dba;hb=HEAD suggests that the HID report identifier should probably be 0x06, but I'm not certain if it sends a different packet.  Would need to trawl through the Linux code again, I think.

:
/* device IDs */
#define STYLUS_DEVICE_ID        0x02
#define TOUCH_DEVICE_ID         0x03
#define CURSOR_DEVICE_ID        0x06
#define ERASER_DEVICE_ID        0x0A
#define PAD_DEVICE_ID           0x0F


: Re: WaxBee project
: bernard October 01, 2011, 03:54:17 PM
For the stylus it works marvel already. Thanks to your ADB discoveries (and lots of experimentation on top). Most of the old analog wacom tablets (e.g. UD) have this special eraser thingy, but the digital ones (e.g. XD) work differently and have a tool long serial number. The eraser has a separate serial number than the pen. That is the tool id I am talking about. The linux driver only lists a "portion" of the serial number. Which is why it is difficult to guess what is the full serial number of the tool. This is the general problem with the linux code: it only looks at a portion of the packets and thus, the "rest" contains bits that maybe the Wacom driver looks at, but we cannot "know" their values unless we see one in action or we put random numbers until it "appear" to work.

But until we find a intuos2 puck device (I might have one, have to check), the linux driver is the best source of info to guess at the encoding for the Intuos2 emulation.

I am not sure what the report id #6 is for exactly, I never saw anything "special" happening in there.



: Re: WaxBee project
: Dragon December 05, 2011, 04:14:00 AM
This is an awesome project.

I've got an Intuos GD-1218-R I'm considering converting to USB but it looks like I'll lose access to the menu strip, correct?  If I were to delve into the source code, do you have any vague ballpark estimate of how long it might take to figure out what's what and get the menu strip working?  I work with C++ for a living so understanding it at that level won't be a problem.


: Re: WaxBee project
: bernard December 05, 2011, 05:37:58 AM
GD-1218-R?  wow, that's a huge intuos1!  For intuos2, the menu strip works fine since we directly relay the same data. It's the same tablet.  For Intuos1 (GD), there might be some work involved indeed.

A couple of questions: What is your operating system? Windows, linux or Mac OSX?  (I ask that because *I think* the menu strip support is not equal across all OSes).
Do you use the menu strip a lot?  I believe Wacom dropped the support for those in newer tablets, I was wondering if anybody in 2011 was actually using them?  It always felt cumbersome to move the pen away and start looking directly on the tablet to find the buttons.

A lot of work is already done to achieve this but some stuff remains to do. How many buttons do you have in your model? (higher-end models tends to have more buttons).

Another member is currently talking to me about a similar topic but for his UD-1212-R. I do not have much time on my hands right now, but I am willing to help out.


: Re: WaxBee project
: Sergio December 12, 2011, 04:23:52 PM
Hi guys,

I just found out about waxbee, that looks like a really cool project! I happen to have a old ADB Wacom digitizer (A5 artpad) lying around, and could buy a bigger, serial-based one (ultrapad, 12*12) at a very low price. Would both work? Where can I find a diagram for serial and ADB wiring?
BR,

Serge


: Re: WaxBee project
: bernard December 12, 2011, 06:07:53 PM
Hello Sergio,

For the ADB, I have some explanation on http://code.google.com/p/waxbee/wiki/InterfacingADB

You can get away from opening the tablet, (using a S-VIDEO cable) but you can open it if you want to make a "cleaner" job of integrating the Teensy inside.

The A5 Artpad I am not sure I have that one around, but I believe all the Wacom ADBs are the same "protocol-wise" (more or less).  I cannot guarantee it would work first shot, but, if it does not work, we could dump the ADB packets and discover what's different about it and tweak the code to fit.  I do not see this as a problem.

For the UD-1212-R: sure, this hack has been done a few times now on that model.  Check the appropriate thread about it.


: Re: WaxBee project
: Sergio December 12, 2011, 09:21:58 PM
Thanks for the quick answer. I can use a soldering iron but I've never been good at electronics : how do I solder the "pull-up" resistor?
Is there a diagram/wiring instructions for the serial interface as well?


: Re: WaxBee project
: bernard December 13, 2011, 12:43:16 AM
UD-1212-R:  There are pictures with annotations in the UD-1212-R thread, you saw them?  What else would you want?

ADB:  Ah yes, the wiki is not clear on that. I updated it. 

For the records: A "pull-up" is a resistor that "pulls the voltage up" (when nobody else drives it "low" (0 volts).  With ADB there is only one wire for the data that is shared between the computer and the tablet, so each device take turns to drive it. When the line is released from 0 volt, it needs to go back to 5V. You essentially have to connect the resistor between the data (C7) and the 5V (VCC).  I tried avoiding this but the AVR CPU internal pull-ups are too "weak" and it thus takes too much time to pull the signal back to 5V.  So now you have to find a 1k..5k resistor.  You can look at the effect of the pullup on the ADB signal in this post: http://forum.bongofish.co.uk/index.php?topic=1738.msg12856#msg12856 (look at the images).



: Re: WaxBee project
: Dragon December 30, 2011, 09:06:44 PM
Hi tufty,

I've just finished updating Waxbee to support my Intuos1 4D mouse and I also attempted to make it support the Lens cursor (puck), but since I don't have a lens I can't be sure it works.  So give it a test and let us know after Bernard posts the new version (probably later today).

I also attempted to make it support the 2D mouse and airbrush tools but, again, I couldn't test them without access to those tools.  So all the Intuos1 and Intuos2 tools should now be working, in theory.

This update also passes through each tool's unique 32 bit serial number ("Device S/N" in the Wacom control panel) to the USB driver.


: Re: WaxBee project
: bernard December 31, 2011, 06:56:12 AM
...after Bernard posts the new version (probably later today)

Yipes!  :P

Dragon sent me a fairly big patch for this. It will take me a little bit of time to digest it (after I get back home from the holidays). Dragon: if you are in a hurry to test your stuff, you can make a "special version" for him to try (privately if possible else make sure you put a special "version number" that will not create confusion if this goes in the wild).

EDIT: (fixed the zip url in post below)
EDIT: the above patch is part of WaxBee version 0.11


: Re: WaxBee project
: Dragon January 02, 2012, 08:12:18 AM
I've patched the zipped waxbee.jar available here (http://www.dracoventions.com/wacom/download/waxbee-10c-dragon-beta.zip) with my modified Teensy software and changed the title so it says it's version "0.10c-dragon-beta".


: Re: WaxBee project
: Manni January 05, 2012, 11:32:22 AM
Can anybody tell me if a Teensy + some configuration work will make my ArtPad II (the serial one, not the ADB version) work with Windows 7 x64? It seems as if no one has tried to use a KT-0405-R, but serial tablets in general work. Is it just a matter of building a RS 232 <=> TTL converter, hooking it up to the Teensy and then creating the configuration for the conversion of ArtPad => Intuos/Graphire/whatever?

So, do you think it's worth trying?

If not I would have to buy a piece of cryptic and currently not even working software that looks like it's teleported from the early 90s (Virtual Tablet) or I would have to buy a new tablet.  :(


: Re: WaxBee project
: Dragon January 05, 2012, 04:53:09 PM
I looked through the Linux drivers for any mention of ArtPad and couldn't find one.  However, this post (http://blog.philpem.me.uk/?p=280) talks about someone who got an ArtPad working on Ubuntu using a serial to USB converter, so the Linux drivers must support it.  As long as Linux supports it, Waxbee can be modified to support it or might already support it.

I think the next step would be to open it up and post pictures here of the front of the circuit board to see if it looks like any of the previously modified tablet circuit boards.


: Re: WaxBee project
: bernard January 05, 2012, 06:02:39 PM
If you are willing to do this, then you can start a new thread for your tablet model (KT-0405-R)

There is a good chance the ArtPad II uses the same protocol as the ultrapads (or very close). So this has good chances of working.

Do you have access to a machine with a serial port (or through a USB/serial converter?) -- I would like you to make a few tests before you do the mod so we can check the protocol bits and baud rates.

And even if the linux drivers does not support it, we can still support it :) This is just a serial port after all.  If you are willing to put a bit of time, the chances of succeeding is near 100%. (not 100% because you can always make a mistake and burn something in the tablet), but in terms of "software in the teensy", this can be made to work.


: Re: WaxBee project
: bernard January 05, 2012, 06:12:29 PM
Did a bit of reading on http://libvncserver.sourceforge.net/qemu/wacom-progman.pdf -- the KT-0405-R is mentionned there. It is using Protocol 4 (IV) -- exactly like the Ultrapads.  They say the ROM version is 1.3 for ArtPad II, if this is the same as Ultrapads ROM 1.3, then this will work right off the bat.

PnP Strings for the ArtPadII :
KT-0405-R 0405 Wacom UD
KT-0405-R,V1.3-0

We need to check for "KT" in the protocol 4 and give it a proper name (ArtPadII)

The default baud rate should be 9600 (like the ultrapads)  and I suspect we can change it to 19200 baud at full speed.

:
factory defaults: Baud Rate: 9600 Baud
Parity: none
Data bits: 8
Stop bits: 1
handshaking: none
operation mode: suppressed, increment 3 (equivalent to SU3)
output format: binary13
coordinate system: absolute13
transfer rate: 102
resolution: 1000 lpi
origin location: upper left
out of range data: no
data terminator: <cr><lf>
reading height: 8+ mm
pressure sensitivity: firm14
multi device mode: no
Plug and Play15: on
tilt: off (i.e. n/a)
global command: #
response to ~R: E2018000,000,02,1270,1270(on power up)
E203C000,000,00,1270,1270(after #)
available on: UD-Series
Note: Upon receiving the #-command the ArtPad-II (ROM Version 1.3 and above) will reset to the
WACOM IV defaults for UD-II-Tablets


: Re: WaxBee project
: Manni January 05, 2012, 07:24:06 PM
Sounds great! So it's like an Ultrapad?! Maybe: I think the pen that I use is also called UltraPen Eraser or something like this.

I am using the tablet right now on my Windows XP x64 system and I have two more serial ports where there is no Wacom driver listening. What kind of tests do you want me to do? I read so many posts here, I can't remember all the tools you used before.

When I post the results for the tests you mentioned or some pictures, I will create a new thread for this.


: Re: WaxBee project
: bernard January 05, 2012, 10:13:10 PM
Essentially hook up the tablet to a serial port and connect with a terminal software -- I use "RealTerm". Set to 9600 bauds, No parity, 8 bit, 1 stop bit, enable "half duplex"  (to see what you are typing) and open the proper COM port number.  Switch to Ascii and enter commands like ~#<enter> and ~C<enter>. Then change the Display to Hex(space) and do small pen movements. Either do a screenshot or dump the data into a file. This software UI has rough edges, it is really "hacky", but it does works and have loads of functionality.

~R<enter>

WaxBee will attempt to send the following string. So try it (but it might not work) -- it might switch to 19200 bauds (you might have to switch RealTerm to 19200 bauds after doing this)

~*F203C810,000,00,2540,2540<enter>

or maybe try that one instead:

~*F203C810,000,00,1270,1270<enter>

then ~R<enter>

These stuff are documented here: http://libvncserver.sourceforge.net/qemu/wacom-progman.pdf
and here's the piece of code in WaxBee that deals with the protocol4 : http://code.google.com/p/waxbee/source/browse/WaxB_Adb2Usb/protocol4_serial.cpp


: Re: WaxBee project
: Dragon January 05, 2012, 11:54:16 PM
BTW, if you do open up your ArtPad to take pictures of the front of the board, be sure to wear a grounding strap or at least touch the case of a nearby computer or other piece of grounded electronics periodically.

See this post (http://forum.bongofish.co.uk/index.php?topic=2083.0) to get some idea of what your size of tablet might look like inside.  Be sure to take pictures of where things go before you fully disassemble it so you can put it back together correctly.


: Re: WaxBee project
: louiscar January 11, 2012, 01:16:17 AM
Wow! Just joined the forum and my head is spinning with a mass of information which has only half gone in.  :o

I found a thread on here initially about converting a wacom to usb after I began to search for a solution to using my Ultrapad a5 in Win 7 which I've not  yet moved over to. Currently I am using Win xp and bought a usb to serial device as my recent build didn't have a serial port. I then found out from Wacom that they no longer support serial pads from win 7 on. So I initially thought perhaps someone might have written a driver that does work with them. It seems crazy that Wacom can't be bothered to support these pads since it appears that all they had to do was to maintain the serial support to their all in one driver package.

I think I understand some of the issues but I didn't expect the solution to be a conversion but I'm amazed that it is possible if one has the cahonies (sp?).
I'm not against trying it if it's the best (or only) solution but perhaps someone can give me a potted explanation to what is going on in this conversion.

I am confused about a few things like:

1) The Teensy - is it required to emulate a usb product, namely one of the current wacom usb tablets?
2) if so then can I assume that the Wacom drivers are generic enough to establish the features of the older serial tablets and deal with them. eg. function strip on the ultrapad etc?
3) or is Waxbee a driver as well or is it the software to program the teensy?

I've seen a thread on the ultrapad which I will read again but on first pass I wasn't quite sure if it had enough information for me to have a go at it with one of the other options available in the EU. I'm in the UK and will have the usual problem of getting stuff from the US. They often charge postage which far exceeds the cost of the product although I've not yet enquired on the Teensy yet. It would be best if I could get the right device as most of the info seems to be around this device.

Finally, sorry for hijacking this thread but as it's my first post I can't start a new one. Thanks to all for the project which I'm sure I'll grasp eventually and make a decision. I hated the idea of dumping this beautiful piece of equipment on the tip just because of the lack of a driver. It works well and besides I don't have the money to shell out on a new pad with these features.




: Re: WaxBee project
: Dragon January 11, 2012, 01:40:37 AM
1) The Teensy - is it required to emulate a usb product, namely one of the current wacom usb tablets?
2) if so then can I assume that the Wacom drivers are generic enough to establish the features of the older serial tablets and deal with them. eg. function strip on the ultrapad etc?
3) or is Waxbee a driver as well or is it the software to program the teensy?

The Teensy is much like a serial to USB converter dongle except it runs custom firmware (WaxBee) that translates the serial data into USB data that tricks the Wacom driver into thinking you're actually running an Intuos2 or a few other tablets of your choice.

WaxBee isn't a driver installed on your operating system - it's firmware loaded on the Teensy.

The current version of WaxBee mostly just translates tool position on your tablet to the same tool position on the "fake" Intuos2 or other fake tablet.  Since the Intuos2 menu strip didn't change from the Intuos1 menu strip, the Intuos1 menu strip works fine through WaxBee.  I'm not sure if the same might be true for the Ultrapad function strip but Bernard probably knows.

I've seen a thread on the ultrapad which I will read again but on first pass I wasn't quite sure if it had enough information for me to have a go at it with one of the other options available in the EU. I'm in the UK and will have the usual problem of getting stuff from the US. They often charge postage which far exceeds the cost of the product although I've not yet enquired on the Teensy yet. It would be best if I could get the right device as most of the info seems to be around this device.

Check out this thread (http://forum.bongofish.co.uk/index.php?topic=2088.0) for some information on where to get Teensy for UK residents.  Also, the guy doing this build is planning to construct some sort of external serial to USB converter to plug the Teensy into in order to avoid soldering onto his tablet directly, so you can follow if and how he accomplishes that if you're interested.  You can also read arguments for and against doing that in the thread.

I hated the idea of dumping this beautiful piece of equipment on the tip just because of the lack of a driver. It works well and besides I don't have the money to shell out on a new pad with these features.

I agree!  I can see why Wacom doesn't want to put forth the effort to develop and support a 64 bit serial driver for tablets like mine that are getting near 15 years old, but I also hate throwing something away that still works fine.  Too many companies are all about making things that last 5 years or less and then charging the consumer to buy a new one, which wastes a lot of money, wastes a lot of energy that goes into making and shipping new products, and creates a lot of toxic electronic trash.  So I'm all in favor of WaxBee conversions.


: Re: WaxBee project
: louiscar January 11, 2012, 03:21:38 AM
Thanks so much Dragon for answering my questions, I'm getting a much clearer idea especially after reading the  thread "   
Re: Some technical information on ADB tablets" which appears to be where / when Bernard hatched this wonderful idea.



The Teensy is much like a serial to USB converter dongle except it runs custom firmware (WaxBee) that translates the serial data into USB data that tricks the Wacom driver into thinking you're actually running an Intuos2 or a few other tablets of your choice.

WaxBee isn't a driver installed on your operating system - it's firmware loaded on the Teensy.

The current version of WaxBee mostly just translates tool position on your tablet to the same tool position on the "fake" Intuos2 or other fake tablet.  Since the Intuos2 menu strip didn't change from the Intuos1 menu strip, the Intuos1 menu strip works fine through WaxBee.  I'm not sure if the same might be true for the Ultrapad function strip but Bernard probably knows.

It would be cool if it did. Hopefully Bernard will chime in here

Check out this thread (http://forum.bongofish.co.uk/index.php?topic=2088.0) for some information on where to get Teensy for UK residents.  Also, the guy doing this build is planning to construct some sort of external serial to USB converter to plug the Teensy into in order to avoid soldering onto his tablet directly, so you can follow if and how he accomplishes that if you're interested.  You can also read arguments for and against doing that in the thread.

Thanks for the heads up, these pointers are exactly what I need to try to get to an informed position. As I say I'm warming to the idea of doing a conversion if only to make this more future proof but it would be good to understand the pros and cons, and certainly one of the questions I meant to ask was whether the serial > usb adaptor could be used. I'll take a look.

I hated the idea of dumping this beautiful piece of equipment on the tip just because of the lack of a driver. It works well and besides I don't have the money to shell out on a new pad with these features.
I agree!  I can see why Wacom doesn't want to put forth the effort to develop and support a 64 bit serial driver for tablets like mine that are getting near 15 years old, but I also hate throwing something away that still works fine.  Too many companies are all about making things that last 5 years or less and then charging the consumer to buy a new one, which wastes a lot of money, wastes a lot of energy that goes into making and shipping new products, and creates a lot of toxic electronic trash.  So I'm all in favor of WaxBee conversions.

Totally with you there. It's a trend I've not been happy with for a long time. The consumer then gets blamed for the "effect on the planet" when it's the  corporates that rake in the cash passing the cleanup to us inevitably. However, I was really incensed by Wacom's 'take it or leave it ' attitude to my point that they had produced a professional product built to last with a coresponding price tag and couldn't be bothered to support it with a small amount of effort. It's a bit like Rolls Royce telling their customers that if they are rich enough to pay 700.000 pounds for one of their cars then they should be prepared to do so again in when they decide to bring out a new model.

The problem as with all companies is they show their true colours when they have little or no competition and in Wacoms case they really don't have any. That breeds arogance.

Anyway thanks to all of you here and for trying to keep these tablets alive. I'm sure a lot of people have yielded and dumped their pads on the tip but I'm sure there are a lot of people out there who just can't do it. Hopefully they'll make their way here.


: Re: WaxBee project
: bernard January 11, 2012, 05:57:18 AM
The current version of WaxBee mostly just translates tool position on your tablet to the same tool position on the "fake" Intuos2 or other fake tablet.  Since the Intuos2 menu strip didn't change from the Intuos1 menu strip, the Intuos1 menu strip works fine through WaxBee.  I'm not sure if the same might be true for the Ultrapad function strip but Bernard probably knows.

It would be cool if it did. Hopefully Bernard will chime in here

I had started doing an internal Button Event system and "emulating the button areas of the Intuos2" so they get "clicked" when an Ultrapad menu strip button or some other button is activated. This couble be any arbitrary rectangle area or hardware switches hooked to the Teensy I/O pins. It is not finished, but it is well advanced in the coding. It will eventually be done when I get back to it.

Note that some of the features of the old tablets did not make their way to the newer tablets like a pen-operated menu strip (newer tablets have separate hardware buttons for the fingers of the other hand, so you do not need to move your pen and your visual focus each time you need to press a "quick" button).



: Re: WaxBee project
: louiscar January 11, 2012, 01:19:10 PM
The current version of WaxBee mostly just translates tool position on your tablet to the same tool position on the "fake" Intuos2 or other fake tablet.  Since the Intuos2 menu strip didn't change from the Intuos1 menu strip, the Intuos1 menu strip works fine through WaxBee.  I'm not sure if the same might be true for the Ultrapad function strip but Bernard probably knows.

It would be cool if it did. Hopefully Bernard will chime in here

I had started doing an internal Button Event system and "emulating the button areas of the Intuos2" so they get "clicked" after the Ultrapad menu strip buttons or other button means, like any arbitrary rectangle area or hardware switches hooked to the Teensy IO. It is not finished, but it is well advanced in the coding. It will eventually be done.

Note that some of the features of the old tablets did not make their way to the newer tablets like a pen-operated menu strip (newer tablets have separate hardware buttons for the fingers of the other hand, so you do not need to move your pen and your visual focus each time you need to press a "quick" button).



Thanks for the info Bernard. Can you point me to the thread (if it's not this one) that I can watch for progress reports, I can keep an eye out, meanwhile I'll look at the conversion options, I have time to decide as I can't dive into this immediately due to other circumstances which I expect will be a couple of months at least.


: Re: WaxBee project
: bernard January 11, 2012, 05:29:06 PM
You can always monitor the WaxBee project for updates on google code (rss feed http://code.google.com/feeds/p/waxbee/updates/basic ) -- dunno if you can configure email notifications(?). You will not miss anything with that. There is no "single thread" in here that tracks it all. BTW, you can always update the Teensy with the most recent version, long after you are done doing the conversion (just need to have the "reset" button on the Teensy "reachable" somehow either physically or through another hardware button).


: Re: WaxBee project
: louiscar January 11, 2012, 06:00:05 PM
OK will do.

I had a look at the thread with the idea of keeping the existing serial cable intact. It looks complex and the main attraction is that I can still use the proper driver for my winxp machines. I'd prefer to do the conversion (gut feeling) but as there is no going back I'd have to be sure that the emulation will give me most of the features I need. I'm not too bothered about the menu strip I could live without it comes to it.

Btw is the UD0608 R build still in progress. Reading through it doesn't make a lot of sense as a step by step process I can follow.


: Re: WaxBee project
: Dragon January 11, 2012, 06:25:11 PM
I had a look at the thread with the idea of keeping the existing serial cable intact. It looks complex and the main attraction is that I can still use the proper driver for my winxp machines. I'd prefer to do the conversion (gut feeling) but as there is no going back I'd have to be sure that the emulation will give me most of the features I need. I'm not too bothered about the menu strip I could live without it comes to it.

You can still use the standard Wacom WinXP driver after conversion, it will just be driving an emulated USB Intuos2 or other emulated tablet instead of a serial Ultrapad.

As for the menu strip, I'm under the impression that WaxBee features aren't often added until someone has done a conversion and says they want a feature.  That way, the feature can be immediately tested on the converted tablet and there is at least one person out there who will use the feature.  Adding features that can't be completely tested and may never be used isn't easy or fulfilling.  =)

I would ask on the UD0608 thread if it was finished or if anything could be clarified.  I think most people end up posting questions and partial tips/logs/explanations/pictures instead of true howtos, which usually leaves a lot of gaps for future readers to try to fill in.  If you can point out those gaps, maybe the original author will be willing to edit their posts to fill the gaps.


: Re: WaxBee project
: bernard January 11, 2012, 08:12:25 PM
...but as there is no going back I'd have to be sure that the emulation will give me most of the features I need.

If you do not absolutely need the menu strip, what other feature would you need? There isn't much (useful) features left that is not already available that I am aware of.


: Re: WaxBee project
: louiscar January 11, 2012, 10:06:39 PM
@bernard:

Don't get me wrong, I would love that to work but if it was a case of not being possible I could learn to live without it.
The functions I use mainly are the tip sensitivity, abs / rel switching with the others taking second place. Copy paste undo del and macros etc.

Also if I'm the only one that wants it then it may not be worth adding that just for one person.

@dragon:

Understood. What I guess I must do is get the conversion done after finding out exactly what I need to do, so I'll follow your suggestion and post in the relevant thread.

Edit: I've re-read the ud0608 thread again and can see all I need to do is follow the ud1212 thread. It looks like getting a teensy is not a problem, it's only $6 postage airmail. I'm getting excited :).


: Re: WaxBee project
: louiscar January 12, 2012, 11:47:09 PM
Well I took the dive and ordered a Teensy. Hope it will come soon. :o


: Re: WaxBee project
: Dragon January 22, 2012, 10:28:46 PM
I also attempted to make it support the 2D mouse and airbrush tools but, again, I couldn't test them without access to those tools.  So all the Intuos1 and Intuos2 tools should now be working, in theory.

I was able to get a cheap Intuos1 airbrush and Lens cursor mouse on ebay and verified that the latest official WaxBee 11a release works with them.  There is no such thing as an Intuos1 2D mouse, but WaxBee should work with an Intuos2 2D mouse and all other Intuos2 tools (untested).  The only Intuos1 tools not tested are the inking and stroke pens, but they function exactly like a regular pen, just with a different tip and different tool type id, so they're unlikely to not work.


: WaxBee project with Teensy++ ?
: captainjon January 23, 2012, 01:56:40 PM
Hi,

I've tried to upload the waxbee code to my teensy++, I ran "javaw -jar waxbee.jar" from the
command line. It runs, but the menus dont respond at all.

Is this a problem with teensy++ (I have no idea on the difference to normal teensy) or is it
a Windows 7 problem. I am running Java 1.6.0_04.

thanks,

Jon

(Serial Intuos 2 waiting to be converted)


: Re: WaxBee project
: bernard January 23, 2012, 04:37:17 PM
welcome captainjon!

You are using a Teensy++ ?   Is it a 2.0 or 1.0 ?   These contain different CPUs.  I have a Teensy++ 2.0 here that I never got out of the static bag (but I do not have a Teensy++ 1.0). 

We have not tested it on those other CPUs. I would not expect it to work at all. If it works, it is by luck. To make it work is certainly doable (if you have the same board as me).

When you say "it runs but the menus don't work", you mean what exactly?  You can make the mouse move and click with your Wacom pen but the top strip menu does not seem to do anything?

Have you already done some intuos2 hardware modifications (I assume so since you said "it runs")?


: Re: WaxBee project
: captainjon January 23, 2012, 04:58:19 PM
hi bernard,

its this one http://www.pjrc.com/store/teensypp.html , so I guess its a 2.0 , i had it from an earlier project. Teensy v1 doesnt
seem available anymore, so maybe it would be useful to port the source code over to v2.

Its the waxbee Java app that isnt working. I start it, it opens a window after maybe 20-30 seconds, but the menus dont respond
at all. Its like its java usb code is timing out to the device, and crashing the app maybe?

My Intuos 2 is unmodified


: Re: WaxBee project
: Dragon January 23, 2012, 05:40:58 PM
I am running Java 1.6.0_04

:
javaw -jar "<path to waxbee>\waxbee.jar"
works fine for me on Win7 64 bit using java 1.6.0_21 so you might try upgrading your version.

its this one http://www.pjrc.com/store/teensypp.html , so I guess its a 2.0 , i had it from an earlier project. Teensy v1 doesnt seem available anymore, so maybe it would be useful to port the source code over to v2.

WaxBee was designed to run on the smaller, less expensive "Teensy 2.0", not the larger "Teensy++ 2.0".  According to this information (http://www.pjrc.com/teensy/index.html), Teensy uses the ATMEGA32U4 processor while Teensy++ uses AT90USB1286.  As Bernard says, it might be possible to recompile WaxBee to run on the alternate CPU, but whether it works or not is unknown and I'm sure he doesn't want to officially support and troubleshoot problems that might be caused by running on alternate hardware.  But if you want to try recompiling it yourself, it would be interesting to know if it works.  Install WinAVR (http://sourceforge.net/projects/winavr/files/WinAVR/20100110/) first (find it on Google), then follow the instructions that start in this post (http://forum.bongofish.co.uk/index.php?topic=2059.msg16165#msg16165).  You'll need to modify compiler options in the makefile to compile for the AT90USB1286 (look for things like "-mmcu=atmega32u4" and change it to whatever is appropriate).

Again, it might not work at all even if it's only because Teensy++ uses slightly different pin numbers or internal register names, so your chance of success is probably only around 20% without having to modify the source code.


: Re: WaxBee project
: bernard January 23, 2012, 06:19:56 PM
Ok, so if it is indeed the 2.0 board (compare the CPU number), then I have one in here. The processor is indeed different and like Dragon is saying, some effort will be required to support that CPU.  The USB peripheral on that CPU is different or have different endpoint buffer sizes/features. I have a #define to check on the version of the CPU and do something a little bit different for the teensy++ 2.0, but this is just a "start".

Supporting the Teensy++ 2.0 was actually a goal for me when I started the project. And for the cause, I have been asking repetitively Paul (the creator of the Teensy and its embedded "halfkay bootloader") how to distinguish which board we are currently talking to, but got no answer (weird, since he always answered all my other questions).  I am pretty sure it is possible since it appears that he does it with his "Teensy Loader" application.

Java: In theory, your java version should work OK.  What I would like you to do is to try with "java" instead of "javaw" so you will see the messages going in to the stdout/stderr in the command prompt window. Reproduce the issue and copy me what you see in there (if anything?).  

Have you tried to do a "cd" into where the .jar directory is located before?  (I would not see why that makes a difference, but hey).


: Re: WaxBee project
: captainjon January 23, 2012, 06:40:26 PM
yeah its a teensy++ 2.0, shame as I already had it. i dont know much about bootloaders, but can at least modify a makefile and recompile it.
by the sounds, it may take a bit more than that.

i ran java instead of javaw but that didnt make any difference, nor did unplugging the device. i may try a windows xp machine instead. it
was run from the local folder. i guess that is a bit pointless as the binary will not work, so i will look at AVR


: Re: WaxBee project
: Dragon January 23, 2012, 07:44:37 PM
i ran java instead of javaw but that didnt make any difference, nor did unplugging the device.

Can you paste here any text that showed up in the command console  when you ran it with "java"?  Or did it show nothing?


: Re: WaxBee project
: captainjon January 23, 2012, 07:57:10 PM
it doesnt print anything on the console. the waxbee config window has a configuration and coordinates mapping text, but File, Mapping, Firmware and Help menus
do nothing. will try another machine.


: Re: WaxBee project
: bernard January 24, 2012, 04:19:11 AM
If you are in a hurry, just get a 16$US + shipping Teensy 2.0.  

Else you will have to either help by coding it (if you are into that type of stuff?) or continue asking for it to "augment" the chances of it being done. Like I said, I have the same board here so I will do it as "planned". Just a question of when (this is a totally non-lucrative time-sucking hobby... but fun nonetheless! :) )

Waxbee config tool weirdness: this is weird indeed. I wouldn't have thought this would be a problem (and never heard it was -- especially with a standard OS configuration).   Your Windows 7 is 64 bits or 32 bits (mine is 64 bits)?  And your java version is 32 bit or 64 bits? (you can run either one on a 64 bit windows). Like Dragon is saying, just update your java to the latest version in case there is quirk in the version you have.

Random thoughts:
- You may want to try another (older) waxbee version.
- Make sure the java(w) you are executing is the good one (I am sure you did that already). Are the menus "disabled" or do they appear enabled and selecting it does "nothing"? The menus under "Firmware" -> "Test tools" are supposed to be disabled. Check those if you can see if they appear "different" than the others. Maybe do a little screenshot?


: Re: WaxBee project
: captainjon January 24, 2012, 12:05:42 PM
I will take a look at the code and see. i can do some programming, but never low level stuff. I will try a simple
compile to target the new cpu, and plug it in. maybe it will just work! :-)

for the loader problem, i will upgrade java, or try it on another machine. its 32-bit windows, so shouldnt be an issue.

thanks for your help Bernard and Dragon, maybe i will need some advice on the code later.


: Re: WaxBee project
: bernard January 24, 2012, 01:20:59 PM
My windows 7 is 64 bits, and most (if not all?) other folks that tried with Windows 7 were on 64 bits as well.  For Windows XP, indeed, 32 bits is typically what people have and have always reported that it works.

Here's example code I was referring to. (from http://code.google.com/p/waxbee/source/browse/WaxB_Adb2Usb/usb_priv.h ):
(but I expect more around a feature called "EP_DOUBLE_BUFFER" which is not always available I think.)

:
#if defined(__AVR_AT90USB162__)
#define HW_CONFIG()
#define PLL_CONFIG() (PLLCSR = ((1<<PLLE)|(1<<PLLP0)))
#define USB_CONFIG() (USBCON = (1<<USBE))
#define USB_FREEZE() (USBCON = ((1<<USBE)|(1<<FRZCLK)))
#elif defined(__AVR_ATmega32U4__)
#define HW_CONFIG() (UHWCON = 0x01)
#define PLL_CONFIG() (PLLCSR = 0x12)
#define USB_CONFIG() (USBCON = ((1<<USBE)|(1<<OTGPADE)))
#define USB_FREEZE() (USBCON = ((1<<USBE)|(1<<FRZCLK)))
#elif defined(__AVR_AT90USB646__)
#define HW_CONFIG() (UHWCON = 0x81)
#define PLL_CONFIG() (PLLCSR = 0x1A)
#define USB_CONFIG() (USBCON = ((1<<USBE)|(1<<OTGPADE)))
#define USB_FREEZE() (USBCON = ((1<<USBE)|(1<<FRZCLK)))
#elif defined(__AVR_AT90USB1286__)
#define HW_CONFIG() (UHWCON = 0x81)
#define PLL_CONFIG() (PLLCSR = 0x16)
#define USB_CONFIG() (USBCON = ((1<<USBE)|(1<<OTGPADE)))
#define USB_FREEZE() (USBCON = ((1<<USBE)|(1<<FRZCLK)))
#endif


: Re: WaxBee project
: captainjon January 24, 2012, 01:52:05 PM
is that new code, i looked at http://code.google.com/p/waxbee/source/browse/WaxB_Adb2Usb/usb_priv.h but
didnt see all the new defines below.

looks complicated!


: Re: WaxBee project
: bernard January 24, 2012, 05:11:20 PM
Hum... Not sure what went wrong when you looked, but this header file is relatively small and it is right in the middle - line 38 (?). It has been there for quite a while also.

Well, this part of the code is indeed a bit complex but in theory this area should work fine. This is from Paul's Teensy USB libraries, so those processors are the ones used in all Teensy flavors I believe. I wanted to show you  this because of the #defines that the code looks at to "switch" between CPUs. Like I mentionned earlier, I know there is something about USB endpoint buffer sizes as well.

We have to watch for the Program and RAM size in case it is too small (I hope not).
The GPIO ports and the serial port (UART) pin assignation needs to be compared as well.  EDIT: According to http://www.pjrc.com/teensy/index.html the Program and RAM size is bigger on the Teensy++, so that covers this point.

The idea here is to open both AVR CPUs datasheets (http://www.pjrc.com/teensy/datasheets.html) and compare the peripherials that WaxBee uses.


: Re: WaxBee project
: Sergio February 21, 2012, 01:30:34 PM
Hi there,

I am trying to interface my UD0608-A to the teensy without success.
On the software side, I use WinXP and I have tried many combinations of Wacom drivers (4.X, 6.X) and firmwares (Intuos2, Graphire)
On the hardware side, I used an old ADB cable and connected VCC and GND to the smaller side of the teensy, DATA to the corner and the pull-up resistor across the bottom of the board (from corner to corner).
But tools are often not detected, an when they are, the cursor jumps all over the bottom-right corner of the screen, clicking like crazy...
What went wrong?
Please bear with my ignorance of electronics and give me a hint.
TIA

Sergio 


: Re: WaxBee project
: bernard February 21, 2012, 02:18:33 PM
Do you know if your board was working before doing the hack?  Does the wacom led appear to react correctly to your pen actions?

Do you think you can take a picture of the soldering and resistor?   What resistor value do you have?   Do you have a multimeter by any chance?


: Re: WaxBee project
: Sergio February 21, 2012, 05:05:11 PM
The tablet works OK with an iMate (without pressure/absolute positioning...). When connected to the Teensy it reacts correctly to the pen (orange led -> green). So I guess VCC and GND must be OK.
The resistor has brown-red-red-gold stripes, that must be 1.2K. Could it be too little?
I do have a multimeter, what should I check?

Sergio


: Re: WaxBee project
: bernard February 21, 2012, 11:02:43 PM
I assume you used the "ADB UD-0608-A Debug (Intuos2 12x18)" template, right?  Use "USBView" tool (from ftdi) to check if you see the intuos2 (HID device something) appearing/disappearing if you plug/unplug the teensy.

Measure your resistor value using the Ohm meter (you might have to unsolder one side to do so).

Values between 1K and 5K should work, you could try another higher value maybe.

Post a picture of the soldering.

The next thing to do is to have a "debug" session.  (Using the "ADB UD-0608-A Debug" template + HID Listen (http://www.pjrc.com/teensy/hid_listen.html)  -- what do you see in the hid listen window?) -- (I have no time to explain further right now)


: Re: WaxBee project
: Hellwarrior February 21, 2012, 11:38:54 PM
Hi

I am doing a conversion project with a tc1100 lcd and wacom serial digitizer.  Will this work with the su-017-x digitizer in my tc1100???


: Re: WaxBee project
: bernard February 22, 2012, 04:39:21 AM
I have the same lcd + digitizer combo at home.  I was able to make the wacom work correctly. The problem is driving the LCD, I could not find a board that claim that it would work with it.   You can try to email njytouch people. 

http://wiki.bongofish.co.uk/doku.php?id=bongofish:lvdsvendors


: Re: WaxBee project
: Sergio February 22, 2012, 07:33:39 PM
I assume you used the "ADB UD-0608-A Debug (Intuos2 12x18)" template, right? 

No, I was using the non-debug one because If I use the debug one no tablet is found by the wacom utility. Changed now.

Use "USBView" tool (from ftdi) to check if you see the intuos2 (HID device something) appearing/disappearing if you plug/unplug the teensy.

http://db.tt/OeOtEpON

Measure your resistor value using the Ohm meter (you might have to unsolder one side to do so).
Values between 1K and 5K should work, you could try another higher value maybe.

It is indeed 1.2K (measured right now)

Post a picture of the soldering.

http://db.tt/sH06gBXk
http://db.tt/l6cC7RXg
Sorry for crappy pictures, I only have a mobile phone to shoot them

The next thing to do is to have a "debug" session.  (Using the "ADB UD-0608-A Debug" template + HID Listen (http://www.pjrc.com/teensy/hid_listen.html)  -- what do you see in the hid listen window?) -- (I have no time to explain further right now)

http://db.tt/woVpr82L


: Re: WaxBee project
: bernard February 24, 2012, 12:44:28 AM
ah darn, I made a mistake in my post. I meant the non-debug template converting to intuos2. I assume you picked the right thing.  So do the usbview with the intuos2 template.

For the debug session, the output seems ok, try playing with the pen to see what output it will give. It appears to talk to the tablet without a problem. Your connection appears to be right.  "ADB Tablet Info: max_x=20480, max_y=15360".  The data in this debug message comes from a response from the tablet -- the following points to the source code for this debug message:

http://code.google.com/p/waxbee/source/browse/WaxB_Adb2Usb/adb_controller.cpp#223 (http://code.google.com/p/waxbee/source/browse/WaxB_Adb2Usb/adb_controller.cpp#223)




: Re: WaxBee project
: Hellwarrior February 24, 2012, 10:34:13 PM
Thanks bernard!

I ordered a teensy to do the serial to usb conversions.  As far as running the panel it uses a standard 14 pin lvds connector.

5.0 INTERFACE CONNECTION
5.1 Electrical Interface
CN1 Interface connector : DF19L-14P-1H (HIROSE) or equivalent
User side connector : DF19G-14S-1C (HIROSE) or equivalent
Pin No Symbol Function Remark
1 VDD1 Power Supply: +3.3V
2 VDD2 Power Supply: +3.3V
3 VSS Ground
4 VSS Ground
5 RIN0- LVDS Negative data signal (-) Tx pin # 48
6 RIN0+ LVDS Positive data signal (+) Tx pin # 47
7 RIN1- LVDS Negative data signal (-) Tx pin # 46
8 RIN1+ LVDS Positive data signal (+) Tx pin # 45
9 RIN2- LVDS Negative data signal (-) Tx pin # 42
10 RIN2+ LVDS Positive data signal (+) Tx pin # 41
11 RCLKIN- LVDS Negative clock signal (-) Tx pin # 40
12 RCLKIN+ LVDS Positive clock signal (+) Tx pin # 39
13 VSS Ground
14 VSS Ground
5.2 Back-light Interface
CN2 Connector : BHSR-02VS-1 (JST) or equivalent
User side connector : SM02B-BHSS-1 (JST) or equivalent
Pin No INPUT Function
1 HOT High Voltage
2 COLD Ground

I am going to be using a motherboard from a e-155c gateway tablet computer.  If anyone has the pinout for the motherboard side connector for that I would be greatly appreciative.  How would I go about configuring waxbee for my digitizer.


: Re: WaxBee project
: bernard February 25, 2012, 06:53:42 AM
Waxbee:  What you are looking for are the "ISDV4" templates. You might have to modify the template to fit the x/y max resolution of your digitizer.  Since I have the same as you, it might be already set to the good one.

The digitizer 10 pin pinout can be found in our wiki. To find the matching mother connector, just use a multimeter. (and tell us the results!)

Take a photo!  -- you might want to create a new thread for converting your board.


: Re: WaxBee project
: Mando March 22, 2012, 05:42:46 PM
Hi all,

a silly question, anyone see a potential issue with using my serial tablets (GD-0912, KT-0405) without mods if I add a MAX220 pump (for RS232 level conversion), the capacitors, and a serial connector? 

for me there's a beauty in leaving the original tablet intact.

Cheers



: Re: WaxBee project
: bernard March 22, 2012, 07:08:34 PM
Using an external RS232 level conversion is not a problem. That will work just fine.  I assume you have the original power supply as well? Someone is currently attempting this btw.

You will really only need to convert RX and TX (1 driver and 1 receiver) to connect to the Teensy. Some other signals (like DTR) are "needed" but can be put to a fixed level (they might already be at the correct level given the pull ups/pull down that are built-in, that remains to be checked).  Note that you could use parts that do not require external capacitors like the MAX233.

In terms of beauty, I personally like having just a single USB cable connected to my tablet, no bulky boards, no external power brick, no extra wires in the way on the desk. In terms of power, feeding 5V directly and skipping all that power level conversion is also a form of electrical beauty and efficiency. (and it's cheaper). But hey, that's just me. :)


: Re: WaxBee project
: Mando March 22, 2012, 08:26:18 PM
Using an external RS232 level conversion is not a problem. That will work just fine.  I assume you have the original power supply as well? Someone is currently attempting this btw.

In terms of beauty, I personally like having just a single USB cable connected to my tablet, no bulky boards, no external power brick, no extra wires in the way on the desk. In terms of power, feeding 5V directly and skipping all that power level conversion is also a form of electrical beauty and efficiency. (and it's cheaper). But hey, that's just me. :)

Thanks Bernard!

Yes, I have the original power adapter (12v, 0.1A, +outside ring, -inside ring), which now that you mentioned, is probably even more of a waste considering that the LDO voltage regulator on the tablet board outputs 5V.  So anything over the the dropout (~7.5v?) would go to warming up coffee on the top left corner of the board.

I plan on using this enclosure [attachment=1] to fit a custom board with Atmega and Max22x chip.  The only 'hack' would be a hole drilled in the back to let the serial port cable out (serial extension cable, spliced).  more expensive ($15 board + $15 parts?), and still way less than buying a new tablet + keeping perfectly good equipment in service.

The non-beauty is the electrical side indeed.  knowing the waste of the 12v and the fact that 5v is right there, on the usb.  The level shifting bothers me less, I couch it as complying to the standard ;)






: Re: WaxBee project
: bernard March 22, 2012, 08:59:21 PM
Doing a custom board and all this soldering to keep the original intact still sounds like a lot of work for a "one off".

But hey, with this you could maybe start selling them: A solderless serial-to-USB Wacom tablet converter solution!

(Note: I added more text in my previous post)


: Re: WaxBee project
: bernard March 22, 2012, 09:15:29 PM
Another thing: WaxBee has built-in firmware update for the teensy bootloader (halfkay). If you are doing a custom board, you will have to use another tool to upload the .hex file generated by WaxBee. No big deal, it should work just fine.

Of course, make sure you pick the same AVR CPU as the Teensy 2.0 or it won't work.


: Re: WaxBee project
: Mando March 23, 2012, 03:30:04 PM
Another thing: WaxBee has built-in firmware update for the teensy bootloader (halfkay). If you are doing a custom board, you will have to use another tool to upload the .hex file generated by WaxBee. No big deal, it should work just fine.

Of course, make sure you pick the same AVR CPU as the Teensy 2.0 or it won't work.

ahha, I was curious about the bootloader, thanks.  I'll have to use the built-in usb boot loader for the upload. 

I'll post back when I get around to making this 'solderlress serial-to-usb Wacom Tablet converter' thing :)



: Re: WaxBee project
: Sicarius July 23, 2012, 06:11:44 AM
I just wanted to report that I've been able to complete the conversion of a UD-1218-R fully externally without requiring any tablet mods.

I found a nifty little MAX3232 breakout board with the required caps included so all I had to do was wire that to D2/D3/VCC/GND on the Teensy and pass through the serial straight to the tablet.  Not sure if it needed it but I tied RTS to CTS and DTR to DSR on the tablet to take care of any hardware flow control issues.


: Re: WaxBee project
: bernard July 23, 2012, 07:35:19 AM
@romerof   Have you gotten further with this?  Can you post some pictures? I assume you picked the good "ADB" template. One thing to try is a "debug" template along with the "hid listen (http://www.pjrc.com/teensy/hid_listen.html)" software from pjrc.com. While the hid listen is running, power up the tablet (i.e. connect the teensy usb), play with the pen on the tablet a little. Copy me what you see in hid listen -- If there is a lot of data, I really only need the first portion for now.  We need to determine if the ADB data line is "clean" with your 2k ohm.

@Sicarus  Excellent news!  It would be extremely nice if you could give us more info on this. In particular:

- which breakout board have you used, where to find it, etc. In the past I searched quite hard for this type of breakout board but never came across anything.
- a photo and/or a tiny diagram (drawn quickly using your new marvellous tablet) of what you connected where exactly for those that would like to copy you.

Tying CTS/DTR and DTR/DSR is a cute way of doing this. I never though about that.  Nevertheless, the only requirement is to have the proper voltage level so the tablet is not "stopped".


: Re: WaxBee project
: Sicarius July 24, 2012, 05:43:03 AM
@Sicarus  Excellent news!  It would be extremely nice if you could give us more info on this. In particular:

- which breakout board have you used, where to find it, etc. In the past I searched quite hard for this type of breakout board but never came across anything.

Came across it quite by accident at DealExtreme:  http://www.dealextreme.com/p/mini-rs232-to-ttl-converter-module-board-3-5v-132934?item=6

They've got another with attached DB9.  http://www.dealextreme.com/p/rs232-serial-port-express-card-adapter-blue-black-silver-101467?item=32

- a photo and/or a tiny diagram (drawn quickly using your new marvellous tablet) of what you connected where exactly for those that would like to copy you.

Super simple to wire up:
[attachment=1]

On the other end of that wire, I have an RJ45 connector wired as a Cisco rollover cable, connected to a RJ45<>DB9 adaptor, connected to a DB9 null-modem gender changer.  Horrible, I know, but it's just temporary until I get a nice enclosure to wedge it all into.

Tying CTS/DTR and DTR/DSR is a cute way of doing this. I never though about that.  Nevertheless, the only requirement is to have the proper voltage level so the tablet is not "stopped".

It's an old trick from way back when using a modem on a computer with an extremely basic serial port.  Same principal here; just get the device to answer its own questions.


: Re: WaxBee project
: bernard July 24, 2012, 06:50:13 AM
Thanks for the info and the MAX3232 breakout board pointer.

On the other end of that wire, I have an RJ45 connector wired as a Cisco rollover cable, connected to a RJ45<>DB9 adaptor, connected to a DB9 null-modem gender changer.  Horrible, I know, but it's just temporary until I get a nice enclosure to wedge it all into.

Yipes!  If you ever come across a clean solution, tell us what you did (and at the same time where exactly you connected the CTS/DTR and DTR/DSR jumpers, not everybody can read RS-232 specs - the naming are sometimes "reversed" -- Wacom in particular likes to be the DTE instead of the DCE in their PCB silk screen markings which confuses everything, they are, after all, the center of the world  ;D).


: Re: WaxBee project
: Sicarius July 24, 2012, 04:33:51 PM
RTS/CTS are on pins 8&7 and DTR/DSR are on 6&4.  Doesn't matter if the labeling is reversed as they are still getting tied together.


: Re: WaxBee project
: romerof August 18, 2012, 08:14:02 PM
@romerof   Have you gotten further with this?  Can you post some pictures? I assume you picked the good "ADB" template. One thing to try is a "debug" template along with the "hid listen (http://www.pjrc.com/teensy/hid_listen.html)" software from pjrc.com. While the hid listen is running, power up the tablet (i.e. connect the teensy usb), play with the pen on the tablet a little. Copy me what you see in hid listen -- If there is a lot of data, I really only need the first portion for now.  We need to determine if the ADB data line is "clean" with your 2k ohm.

Hi Bernard, thanks for your response, I've a bad solder point in the VCC conector, that was the no red/green light problem. Solved.
I've try a debug template and the hid listen software, plug the usb and play whit the pen, but got nothing, here what I see:
Imac-2:~ fernandoromerodetoma$ cd desktop/
Imac-2:desktop fernandoromerodetoma$ chmod 755 hid_listen.mac
Imac-2:desktop fernandoromerodetoma$ ./hid_listen.mac
Waiting for device:
Listening:

-- identify_response
-- identify
-- identify_response

And nothing more... Any idea?
I attached a pic of the Teensy.
Black for GND, Red-Green for VCC and White for DATA, and yes, I picked the good "ADB" template.


: Re: WaxBee project
: bernard August 21, 2012, 06:52:42 PM
@romerof : let's continue this on a separate thread: http://forum.bongofish.co.uk/index.php?topic=2175.0


: Re: WaxBee project
: merseg September 15, 2012, 11:47:24 PM
hey guys,
amazing project. very interesting to read through the threads and see the whole thing unfold.

question - has there been any talk of a derivative project that would run entirely on win as a driver ?
what i mean is something like this:

wacom -------> serial cable ----> waxbee serial driver ---> emulated usb device ------> official wacom driver

similarly to the data flow of using a serial tablet on xp with a usb2serial converter:

wacom --------> serial cable ----> usb2serial cable ------> usb2serial driver -------> emulated serial device -----> official wacom driver.

only suitable for serial tablets of course, not ADB.


: Re: WaxBee project
: bernard September 16, 2012, 01:16:22 AM
this was one avenue I tried quite hard at first. But this was extremely complex and time consuming. I never found a way to emulate a USB device to feed the Wacom driver.  Doing the hardware hack is not fun but it is extremely stable in terms of maintenance for the future.


: Re: WaxBee project
: bernard September 16, 2012, 05:15:56 AM
Other avenues was about rewriting a tablet driver from scratch. On Windows, there are two standards and even if the Microsoft standard (Ink) had samples of driving a Wacom tablet (!!), the real problem lies in the older "WinTab" standard which is the only way to make it work with Adobe products. It is not only an undisclosed and licensed $$ standard (the latest version I mean), it is really hard to implement it. (and I am not even talking about maintaining it for the upcoming Windows versions and flavors).


: Re: WaxBee project
: merseg September 16, 2012, 08:45:41 AM
thanks for the info.
you're right about the complexity, no doubt.
it would however reach a wider range of people that don't know anything about firmware/soldering/etc.
does anyone following this thread have any experience with writing the type of solution i'm talking about? can anyone offer any pointers to reference code?


: Re: WaxBee project
: bernard September 16, 2012, 04:05:58 PM
The hardest part was about feeding the wacom driver. Windows (I assume this about windows only?) now have a full USB and HID stack system. Nobody knowledgable was magically reading our threads, so I searched for people that would potentially have such experience and attempted to contact them. For example, xiaofan chen of the win32 libusb project. Certainly we could try to find more people. I am thinking about developers of usb to serial converters or (commercial) USB diagnostic tools. In particular tools that would allow some sort of playback or device emulation (if such a thing even exists to start with).


: Re: WaxBee project
: Sicarius October 16, 2012, 07:09:28 AM
Thanks for the info and the MAX3232 breakout board pointer.

On the other end of that wire, I have an RJ45 connector wired as a Cisco rollover cable, connected to a RJ45<>DB9 adaptor, connected to a DB9 null-modem gender changer.  Horrible, I know, but it's just temporary until I get a nice enclosure to wedge it all into.

Yipes!  If you ever come across a clean solution, tell us what you did (and at the same time where exactly you connected the CTS/DTR and DTR/DSR jumpers, not everybody can read RS-232 specs - the naming are sometimes "reversed" -- Wacom in particular likes to be the DTE instead of the DCE in their PCB silk screen markings which confuses everything, they are, after all, the center of the world  ;D).

Finally back again.  Was waiting on a part from China (2 months, it took!) but I've finally finished.

I present for your amusement and edification the fully self-contained and USB powered external Waxbee converter.
[attachment=1]

And here's how it looks inside:
[attachment=2]

The wiring is the same before with the notable addition of an LM2577 DC-DC adjustable step-up power converter module.  This little beauty will step up the 5V from USB to the 9V (or more) required by the tablet meaning you no longer need an external power supply.

Also, while troubleshooting, I discovered that the control lines do not need to be connected.  Assuming they are needed for a different model you would short 4<->5 and 6<->9 on the tablet serial connector.


: Re: WaxBee project
: Aerendraca October 16, 2012, 04:21:26 PM
Hi Sicarius,

Nicely done!!

I have a similar little circuit to that LM2577 (looks almost the same), it a DC-DC Buck Step-Down converter which I plan on powering my TFT controller with. You've got to love these Chinese parts, bet it cost less than £5 too!


: Re: WaxBee project
: bernard October 16, 2012, 04:55:02 PM
This is great folks. Now we have a proven solution that avoids opening the tablet. The end result is probably a bit bulkier and more expensive, but not that much considering the tablets are often bulky to start with.  Without the tablet surgery, you have less chance of breaking the tablet (you can still fry it of course and burn your fingers with the soldering iron :) ) if stuff are not connected correctly.

Would any of you allot a weebit of time to document the schematic of your little dongle marvel? I am not asking for something thorough, but still, something for someone that is not familiar with electronic practices and have hard time reading datasheets. Data like part numbers and which pin (number+name) is connected to what), the DB9 pins, etc. It would add a confidence level to beginners trying to figure out what to solder where. Serial ports tend to be very confusing. Symbol names tend to be reversed (DTE labels vs. DCE labels) and RX/TX naming conventions are often 'flipped' (it depends on the Point Of View).


: Re: WaxBee project
: Sicarius October 17, 2012, 10:20:24 PM
The hardest part was about feeding the wacom driver. Windows (I assume this about windows only?) now have a full USB and HID stack system. Nobody knowledgable was magically reading our threads, so I searched for people that would potentially have such experience and attempted to contact them. For example, xiaofan chen of the win32 libusb project. Certainly we could try to find more people. I am thinking about developers of usb to serial converters or (commercial) USB diagnostic tools. In particular tools that would allow some sort of playback or device emulation (if such a thing even exists to start with).

I'll see about doing a writeup of my project tonight.

In the meantime, concerning the above, have you checked out the USB/IP project?  It's a project for remotely sharing a USB device over the network.   Part of that project is an emulated USB host controller for Windows.  So, once you've decoupled the hardware from the computer, you should be able to replace it with an emulated USB data stream.

http://usbip.sourceforge.net/


: Re: WaxBee project
: bernard October 19, 2012, 01:33:56 AM
Oooh yeah!  8)  That is awesome stuff !!  I never saw this project (or I did not notice there was a Windows client).

Yes, this could mean that any RS-232 to USB converter would be sufficient hardware-wise and all the conversion would occur within the PC.



: Re: WaxBee project
: Sicarius October 19, 2012, 05:15:37 AM
So, here's how it's hooked up:

    Teensy
/------------\        Mini TTL-RS232           DB9
|            |        /-------------\         /---\
|         D2 | ------ | R           |         |1o  \
|         D3 | ------ | T           |         |   o6|
|        +5V | ------ | +5V       R | ------> |2o   |
|        GND | ------ | GND       T | ---\    |   o7| <---\
|            |        \-------------/     \-> |3o   |     |
|            |                                |   o8| <-\ |
|            |        /-------------\         |4o   |   | |
|        +5V | ------ | IN+    OUT+ | ----\   |   o9|   | |
|        GND | ------ | IN-    OUT- | --\ |   |5o  /    | |
|            |        \-------------/   | |   \---/     | |
\------------/        LM2577 module     | |             | |
                                        | \-------------/ |
                                        \-----------------/


The Teensy has two sets of +5V/GND.  The set opposite the USB port should connect to the TTL convertor and the set on the sides of the USB port should go to the LM2577 module.  Those with sharp eyes will notice I have it done differently but in retrospect, this way is better.

The extra parts are:
 - a TTL to RS232 convertor.  There's a link to buy them upthread or you can find them on ebay by searching for "mini TTL RS232" (cost ~$2).  The one I used is connected up on the side opposite the chip.  There are 5 caps on that side; the end with two caps connects to the teensy and the end with three connects to the DB9 serial connector.
 - a LM2577 DCDC power boost module.  I've only found them on ebay; you can search for "LM2577" (cost ~$4)

As for the serial cable, you have two options: get a connector with hood or cut up a cable with a molded end.  A connector with a hood will be easier to wire up but (at least on my tablet) the serial port on the tablet is recessed and the hood won't fit.  You can use something like this port saver to extend it beyond the circuit board.  http://www.monoprice.com/products/product.asp?p_id=1185 (http://www.monoprice.com/products/product.asp?p_id=1185) (which is what I did).  The connector is DB9-male.

Once you have it wired up, don't connect it to your tablet yet.  Connect USB to the Teensy, hook up a voltmeter across the output of the LM2577 module and adjust the trim pot until the output reads 9V.  Now you're ready to test it on the tablet.

One thing I've noticed is that if you turn off the tablet, you need to dis/reconnect the USB to get it to initialize again.  Likewise the tablet has to be on before connecting USB.


: Re: WaxBee project
: bernard October 19, 2012, 06:50:52 AM
Nice ASCII ART !   

I see "R" and "T" twice on the Mini TTL-RS232 ?  Can you be more precise? (like a pin number or a distinguishing symbol?)

The trim pot is on the LM2577 device?

Tablet power should stay ON all the time. It will turn off as you turn off your laptop. Normally, we bypass the switch because we are injecting 5V in the middle of the circuit.

To allow such thing will require some code in WaxBee to detect that the tablet is no longer responding and trying to talk at lower serial speed, etc.


: Re: WaxBee project
: Sicarius October 19, 2012, 09:52:45 PM
I see "R" and "T" twice on the Mini TTL-RS232 ?  Can you be more precise? (like a pin number or a distinguishing symbol?)
I had noted about the position of the caps but a picture is worth a thousand words.
[attachment=1]
The one on the right is positioned as in the drawing above.  These things are really small so the labeling isn't that great.
The trim pot is on the LM2577 device?
Correct.
[attachment=2]


: Re: WaxBee project
: bernard October 20, 2012, 01:45:33 AM
Oooh ok. Now I understand better : these are breakout boards modules, not the naked chips!  For example, a LM2577 is a chip number. That is why I did not understand how a "pot" can be on a chip. I should have read better. Duh!   :P


: Re: WaxBee project
: Markos October 29, 2012, 08:09:36 PM
I first posted it in the UD1212R topic, but I can also post it here for other users

Can I also use one of these two ATMEGA32U4 boards?
http://www.ebay.com/itm/Leonardo-Nano-Pro-Mini-ATmega32U4-Support-Arduino-IDE-1-0-1-Bootloader-Ready-/360492013744?pt=Vintage_Electronics_R2&hash=item53eeff98b0
http://www.ebay.com/itm/ATMEGA32U4-Leonardo-Nano-Pro-Mini-Support-Arduino-IDE-1-0-1-With-Bootloader-/130784048638?pt=LH_DefaultDomain_0&hash=item1e735635fe

These are cheaper for me (shipping is 10 dollar for the Teensy). Or are there even cheaper models I can use?
I guess only the ATMEGA32U4 chip is supported by Waxbee? Or also some other chips?


edit
Crosspost with the UD1212R topic: http://forum.bongofish.co.uk/index.php?topic=1930.msg17381#msg17381


: Re: WaxBee project
: bernard October 29, 2012, 11:40:17 PM
yes using any 16Mhz ATMEGA32U4 breakout board should work fine in theory.  The biggest difference is the bootloader.

Essentially, for non-Teensy boards, you will need to flash a .hex file (that WaxBee can generate) and use an external tool to flash it. I never tried it but the chances of working are very high.

(put a link in your other post to here)

EDIT: there is a glitch: Lots of these boards have a Bootloader which eats so much space (4K out of 32K) that WaxBee does not fit anymore.  The Teensy's bootloader only takes 512 bytes (0.5K). I was able to do a custom build for one person by disabling features he did not need, but this is not something I would recommend. (I cannot support these special builds).


: Re: WaxBee project
: Markos October 31, 2012, 01:07:40 AM
The two eBay items above, is there any difference between them? Should I pick one over the other?

There is also this board which is only about 2 dollar more expensive. Is there any reason I would/could/should pick that one? It's also ATMEGA32U4
http://www.ebay.com/itm/ATMEGA32U4-Leonardo-Support-Arduino-IDE-1-0-1-With-Header-Pin-/130792369683


: Re: WaxBee project
: klein November 07, 2012, 06:08:42 PM
hi
i just found this last night, and this morning i looked at my wacom ud-1218-r will the soft ware work for this?  the board inside is the same as the ones posted in this forum on this subject i just don't see a ud-1218-r listed. the pcb is wacom pwb=a273-d and the chip is ud1218 14400 wacom


: Re: WaxBee project
: bernard November 07, 2012, 07:13:16 PM
It will definitely work. It was never tried I believe, so *if* there is a software quirk, we can work it out I am 100% positive.  Is this marked as a "Digitizer II"? 

I can provide a modified template from this one: "UD-1212-R to Intuos2 12x18.tmpl.txt". I will add it to the standard distribution. In the meantime, you can use the UD-1212-R-based templates.


: Re: WaxBee project
: bernard November 07, 2012, 07:49:24 PM
I believe "14400" is the ROM version number and that means your have a fairly recent one with tilt, higher speed and all that good stuff. It also means it should work right off the bat (software-wise).


: Re: WaxBee project
: bernard November 08, 2012, 04:16:45 AM
WaxBee version 0.12a is out:  Added a new template for the UD-1218-R -- Well, this is totally untested, but it has good chances of working.  Do not forget to tell us if it works!


: Re: WaxBee project
: klein November 08, 2012, 07:36:41 PM
hi bernard
i'v already tested the UD-1218-R with external 5v and it checked good,  i have had problem with soldering on the smd pads i pulled #13 off so out comes the usb microscope and i found where the #13 and #15 go through to the back of the board there are little round pads in the traces #10 and #11 are the same way. so if you mess up you have a second chance.
     
i have ordered the Teensy just waiting on the mail.


: Re: WaxBee project
: bernard November 08, 2012, 08:08:12 PM
FYI, those little round pads with a hole in it to transfer the signal to other layers is called a "via". Vias are nice to solder to (if you happen to have tiny wires).


: Re: WaxBee project
: Markos November 08, 2012, 10:08:47 PM
I believe "14400" is the ROM version number and that means your have a fairly recent one with tilt, higher speed and all that good stuff. It also means it should work right off the bat (software-wise).
Were can you find that 14400? I got this one


(http://i1310.photobucket.com/albums/s658/MarkosMark/Photo08-11-12213816_zps6644cb5e.jpg)


: Re: WaxBee project
: bernard November 08, 2012, 10:58:46 PM
It's on a white sticker on a chip inside the tablet.  Look at the last picture in that post:  (number is 15400 -- very pale, but the text talks about it).  http://forum.bongofish.co.uk/index.php?topic=1514.msg9925#msg9925

Note: the name "Digitizer II" is already a very good sign of a recent tablet.  I am not sure which version it is exactly, but it will work for sure.


: Re: WaxBee project
: Sicarius November 09, 2012, 04:15:11 PM
I'm actually using a UD-1218-R.  It works and I was using my own modified version of a UD-1212 template.

When I first got the tablet in 2007, it was a "Digitizer" not "Digitizer-II" with (if I remember) a 1.2 firmware.  It had no tilt sensing and a smaller pressure range.

Luckily, I was able to get an updated firmware from a Wacom rep on their forums but that was 1.42; I'm surprised to see that there's something newer.

Now, off to test the new Waxbee version.


: Re: WaxBee project
: bernard November 10, 2012, 03:03:08 AM
for ud-1218-r models there may not be more recent ROM version.

I am extremely interested in getting a copy of this firmware. We have been searching for recent ROM for the 1218 version! I'll contact you through a PM to avoid copyright issues.

If you can try with the one I released just to see if it works (for others). Thanks!


: Re: WaxBee project
: Sicarius November 10, 2012, 06:55:18 AM
for ud-1218-r models there may not be more recent ROM version.

Well, the poster upthread said they had something labeled 14400; whether that's the ROM version or not, I don't know.

I am extremely interested in getting a copy of this firmware. We have been searching for recent ROM for the 1218 version! I'll contact you through a PM to avoid copyright issues.

Any time, just let me know.  I was very grateful to Wacom for giving it to me; it doubled the resolution, doubled pressure sensitivity, added tilt sensing and eraser sensing.  Basically a full upgrade from a Digitizer to a Digitizer II.  All I needed was to have the good folks at hobbyroms.com flash it onto an EPROM for me and I was good to go.

If you can try with the one I released just to see if it works (for others). Thanks!

Works just fine.  Our two templates are almost exactly the same.

Did you ever do anything for the button bars on the UD series?


: Re: WaxBee project
: bernard November 10, 2012, 02:55:46 PM
Button bar: Good question. I had done serious work to emulate them by moving the pointer to a specific tablet location in the XD-1218-U tablet, but I never finished this. Is this something you would like to have (I mean, a lot)? I know Wacom "dropped" those features in more recent tablets (usability reasons I think). People appear to like the hard buttons and dials better because they do not need to start looking at the tablet to aim for a button and also do not need to move the pen away from the work area.

Speaking of more recent tablets, the Intuos2 is not longer supported in recent drivers it seems. In particular, for Windows 8, I do not see a Intuos2 driver. :(  That means we will have to emulate a more recent Intuos (if I ever find a good soul that owns a recent Intuos and dumps the USB packets for me) to be able to run on Windows 8 (unless the old driver "just works" in Windows 8).

If we start emulating more recent tablets (like an intuos 4), we would no longer have the top bar buttons to "emulate to".

The chances that it is the ROM number is not neglegible. When you open the tablet, this white sticker jumps into your face, so I am not surprised it is reported by people. I have seen exactly this number "14400" a few times written this way (no dots) on UD-1212-Rs -- it is located on a white sticker on the ROM chip and it perfectly matches the number you see when you query the tablet on the serial port.  I my case, the tablet serial port returns the string:   1.5-4  (for 15400).

Very good idea to have someone program you an EEPROM and send it to you!  I was not sure how to tell someone with no programmer to re-program their UDs. :)


: Re: WaxBee project
: Sicarius November 12, 2012, 05:41:16 AM
No real need for the button bar, it just seemed a shame to let it go to waste.


: Re: WaxBee project
: louiscar December 04, 2012, 07:13:48 AM
So, here's how it's hooked up:

    Teensy
/------------\        Mini TTL-RS232           DB9
|            |        /-------------\         /---\
|         D2 | ------ | R           |         |1o  \
|         D3 | ------ | T           |         |   o6|
|        +5V | ------ | +5V       R | ------> |2o   |
|        GND | ------ | GND       T | ---\    |   o7| <---\
|            |        \-------------/     \-> |3o   |     |
|            |                                |   o8| <-\ |
|            |        /-------------\         |4o   |   | |
|        +5V | ------ | IN+    OUT+ | ----\   |   o9|   | |
|        GND | ------ | IN-    OUT- | --\ |   |5o  /    | |
|            |        \-------------/   | |   \---/     | |
\------------/        LM2577 module     | |             | |
                                        | \-------------/ |
                                        \-----------------/


The Teensy has two sets of +5V/GND.  The set opposite the USB port should connect to the TTL convertor and the set on the sides of the USB port should go to the LM2577 module.  Those with sharp eyes will notice I have it done differently but in retrospect, this way is better.

The extra parts are:
 - a TTL to RS232 convertor.  There's a link to buy them upthread or you can find them on ebay by searching for "mini TTL RS232" (cost ~$2).  The one I used is connected up on the side opposite the chip.  There are 5 caps on that side; the end with two caps connects to the teensy and the end with three connects to the DB9 serial connector.
 - a LM2577 DCDC power boost module.  I've only found them on ebay; you can search for "LM2577" (cost ~$4)

As for the serial cable, you have two options: get a connector with hood or cut up a cable with a molded end.  A connector with a hood will be easier to wire up but (at least on my tablet) the serial port on the tablet is recessed and the hood won't fit.  You can use something like this port saver to extend it beyond the circuit board.  http://www.monoprice.com/products/product.asp?p_id=1185 (http://www.monoprice.com/products/product.asp?p_id=1185) (which is what I did).  The connector is DB9-male.

Once you have it wired up, don't connect it to your tablet yet.  Connect USB to the Teensy, hook up a voltmeter across the output of the LM2577 module and adjust the trim pot until the output reads 9V.  Now you're ready to test it on the tablet.

One thing I've noticed is that if you turn off the tablet, you need to dis/reconnect the USB to get it to initialize again.  Likewise the tablet has to be on before connecting USB.


Having had to shelve my conversion for a while I came back to refresh and saw this. This new alternative is appealing to me for the cost of a couple of extra parts. Would it be better to get one of these with the connector attached? :

http://www.ebay.co.uk/itm/RS232-To-TTL-Converter-Module-MAX232EPE-Power-4ps-cable-/200800078190?pt=LH_DefaultDomain_0&hash=item2ec09e096e&_uhb=1

I have my Teensy 2.0 so it's a toss up whether it's worth going this route or just opening my 608 up and biting the bullet. One question is why is it necessary to bump up the voltage to 9v when the iternal mod only requires 5v. Is this because the serial circuitry needs that and the TTL part works on 5v?



: Re: WaxBee project
: bernard December 04, 2012, 02:17:58 PM
Nice find!  Few thoughts here:

Do you have the original cable for the tablet? You would need this since the tablet itself has a non-standard pin out (partly due to the fact that it carries 9v-12v in one of the pins). Also because the connector is female on both sides (if I remember correctly).

In addition, unless you hack something up, you will have 2 power supply adapters. One for your TTL converter and one for the tablet.

But with the tablet cable and its power adapter, this might work with a minimal amount of soldering (at the expense of a bulky setup).


: Re: WaxBee project
: louiscar December 04, 2012, 07:31:37 PM
Yes as on the 0608 the cable is wired in via a non-standard plug so it's effectively non-detachable (without taking the case apart). This is one of the differences between the UD1212 and this one. I understand that UD1212 has a normal DB9 socket.

And I don't know if there are further differences but my tablet does have an additional socket on the DB9 plug to supply the 9v via an ac adaptor.

From what you are saying though it seems a bit cumbersome if I am still going have to use and adaptor. In that case I might lean towards opening it up and doing the original method, plus as you say the gender of the plug would need to be converted adding another thing into the equation.


: Re: WaxBee project
: bernard December 05, 2012, 08:52:42 AM
Note about the DB9 gender: one would need a "null modem" adapter (as opposed to a straight DB9 gender-changer) -- so that the serial signals get "flipped".

Most of the Wacom cables come with this power plug. Other Wacom tablet variants include using a pass-through "old keyboard" connector to suck up the power from there.


: Re: WaxBee project
: louiscar December 06, 2012, 02:25:50 PM
Thanks for the heads up on that.

btw. I plugged in the teensy to check it's ok. Windows didn't acknowledge that anything was connected. I'm Assuming this is ok as I've not flashed it yet. Are my assumptions correct or should it have been recognised ?


: Re: WaxBee project
: bernard December 06, 2012, 02:33:25 PM
Yes, you need to flash it, else it will just contain the "led blinking" stock demo. If you see a blinking led, then the Teensy is probably OK. If you press the reset button while connected, you are supposed to have the Teensy "morphed" into a custom HID USB device (for which there is no driver).  This is the special loader mode of the Teensy to program it.  If you go to "Device Manager" you should see it appear somewhere in there. But just program it with WaxBee right away, no need to wait for the soldering et al. there is absolutely no harm to do this now. You can repeat programming as much as you want. After you do so, you will have an emulated Wacom device of your choice when hooking up the Teensy alone. Install the matching Wacom driver for your matching OS and voilà.


: Re: WaxBee project
: louiscar December 06, 2012, 05:02:16 PM
Ok thanks for that info. I did get a flashing light and actually I did hit the reset button which stopped it until I unplugged and plugged it in again.

I'll flash it as you suggest.

Btw. I just opened up the tablet and saw how small the chip is. I'm not too sure my soldering iron is up to it, the tip is about the same size as the spacing of two of the pins on the serial chip. Case of cold feet ..:)

I'm thinking of the outside mod again as per Sicarus http://forum.bongofish.co.uk/index.php?topic=1993.msg17274#msg17274. With regards to the 9v supply though I shouldn't need to use an external adapter if I get the LM2577? If that's the case it might be an option however, your comments in the UD0608 thread lead me to believe that either the 0608 is different to the UD1212 for which Sicarus did the mod on or you may have forgotten about his solution to providing a 9v supply.


: Re: WaxBee project
: bernard December 06, 2012, 05:39:26 PM
The recent post on was using off-the-shelves parts which have their own power supply.  Sicarus built it all by itself and handled the power supply completely differently (generating 9V out of the USB 5V with a DC Pump or something like that) -- no need for external power supply. Both solutions work fine.  Actually, thinking about it, for the recent thread on UD0608, we might be able to use the USB 5V (going through the Teensy) to feed the RS232 converter -- so that would remove one power adapter at least.

Yes, the spacing between the pins is a bit on the small side. (certainly not as dense as other chips, but still).  I find it delicate but not impossible.

One option is to get yourself some "flux" to ease the pain. It's really magic to avoid soldering bridges.  Also, you can try to get thin gauge wire (28 or 30) to help you out.  For some of the signals, you might be able to find other hook points with more space (like a via).  Using a thin gauge (like 30) may allow to "insert" the wire inside those tiny vias which might be easier to solder.


: Re: WaxBee project
: bernard December 06, 2012, 05:47:09 PM
I admit, I did forget about some details.  He used a "LM2577 DCDC"  breakout board which is nice.  With that, no more power supplies! :)

That mini converter he is referring to sounds great too.  

On that front there are no important differences between the two boards. Just check if the supply voltage matches, and voila.  The serial signals are the same for sure.


: Re: WaxBee project
: louiscar December 06, 2012, 06:06:05 PM
Great, then I'm on the right track for either. I'm looking at some smaller tips for my soldering iron if I have to go that way.

Right now though I decided to program the Teensy and it's no go at the moment. I loaded the template and after running the program it says "press the button on the Teensy", which I did but nothing happens so I'm not sure what is wrong.


EDIT: duh ... forget that, I was using a non data cable, one for charging only. I changed that and it's ok now. :-)


: Re: WaxBee project
: louiscar December 06, 2012, 06:28:26 PM
Yes, the spacing between the pins is a bit on the small side. (certainly not as dense as other chips, but still).  I find it delicate but not impossible.

One option is to get yourself some "flux" to ease the pain. It's really magic to avoid soldering bridges.  Also, you can try to get thin gauge wire (28 or 30) to help you out.  For some of the signals, you might be able to find other hook points with more space (like a via).  Using a thin gauge (like 30) may allow to "insert" the wire inside those tiny vias which might be easier to solder.

Well I think I can see a .5mm tip for my iron (Antex XS) and I can get flux probably from Maplins (Radio shack equivalent in UK).

for the other method, ebay from china I can get the two parts so now to have a think about which I want to do. Teensy is programmed as far as I know, it doesn't show up as a wacom though, it's just a HID device in device manager but I think that's ok it probably needs the wacom drivers, plus I guess a recognised Wacom before that happens.


: Re: WaxBee project
: Red-Fathom March 05, 2013, 09:53:27 AM
don't know if this has been asked before, but is there a way to add buttons? i was playing with the active area thing not sure how to edit the data my buttons are outputing as:

c1 01 ## ## ## ## ## ## ## left
c1 02 ## ## ## ## ## ## ## middle
c1 04 ## ## ## ## ## ## ## right


: Re: WaxBee project
: bernard March 05, 2013, 03:13:18 PM
hum, well, I am not sure this feature is completed. (not enough interest) You really want active areas?


: Re: WaxBee project
: Red-Fathom March 06, 2013, 05:04:20 AM
currently awesome, but it would be nice to be able to program the buttons to work when using the tablet.


: Re: WaxBee project
: bernard March 07, 2013, 07:07:44 AM
I did the active areas portion but the hard part was emulating a button press on the Intuos2. The code is there to emulate it but largely untested and I had to find the positions of the buttons (not that simple I must say, they are not equivalently sized and spaced).

Now here's a glimpse of hope:  Someone on the forum *just* told me that he was willing to help me emulate an Intuos5. Well, I think those have 8 "Express Keys". If that's the case, then we could easily map the active areas to those. (we could also add a feature so one could hook hardware switches to the Teensy and map those to Express Keys, which I think would be even more awesome).


: Re: WaxBee project
: louiscar March 07, 2013, 11:24:04 AM
Is this the same subject as the function strip on the 608 which allows you to map various things with a stylus press. I'd be interested to see that kind of thing implemented - particularly I miss the ability to quickly change the brush firmness.


: Re: WaxBee project
: bernard March 07, 2013, 03:24:52 PM
yes.


: Re: WaxBee project
: Alan April 17, 2013, 07:13:03 PM
are these any good?
http://www.ebay.com/itm/New-Pro-Mini-atmega328-5V-16M-Replace-ATmega128-Arduino-Compatible-Nano-/130839929399

http://www.ebay.com/itm/New-Pro-Micro-5V-16MHz-ATMega-32U4-Module-with-2-row-pin-header-For-Leonardo-/261202052910

http://dx.com/p/nano-v3-0-avr-atmega328-p-20au-module-board-usb-cable-for-arduino-118037
:)

edit
I already got this one, is it ok?
http://arduino.cc/en/Main/arduinoBoardDuemilanove

edit2:
I ordered two from the second link


: Re: WaxBee project
: bernard April 18, 2013, 08:15:19 PM
Sorry, I missed that post.

If you want to run WaxBee without playing in the code, you need to have a board with a *matching CPU*. If you want to use the one-click programming feature provided in WaxBee, you need the Teensy 2.0 board.

Depending on your usage, you have to check out the voltage level -- is it 5V or 3.3V?  3.3V is only required for Penenabled digitizers, else you use 5V for normal Wacom Tablets.

Matching CPU: Here I am referring to an ATMEGA32U4 CPU. Anything else will not work off the bat.   I cannot access that second ebay link (wrong country). But it looks like it is the good CPU, the good voltage and the good speed (16Mhz)


: Re: WaxBee project
: Alan April 21, 2013, 01:58:36 PM
This one should be accessable
http://www.ebay.com/itm/ws/eBayISAPI.dll?ViewItem&item=310634777706

(http://i.ebayimg.com/t/Leonardo-Pro-Micro-ATmega32U4-Arduino-IDE-1-0-3-Bootloader-replace-Pro-Mini-/00/s/NTAwWDUwMA==/z/RSgAAOxyzHxRXUsg/$T2eC16d,!y8E9s2fk3F3BR(UsgP!SQ~~60_12.JPG)


: Re: WaxBee project
: klein April 24, 2013, 02:01:55 PM
hi bernard 

i started this project November 07, 2012 and got side traced, recap:
i'v already tested the UD-1218-R with external 5v and it checked good
the pcb is wacom pwb=a273-d and the chip is ud1218 14400 wacom
i have my Teensy 2.0
soldering iron warming up as i type lol

i can't remember and it isn't clear to me in reading i will still have to have 5v feeding the main board right
from a wallwart i have lifted one leg ic102 power connected to cn102 or is all the power comming from the teensy?



: Re: WaxBee project
: bernard April 24, 2013, 02:08:09 PM
The power for the tablet is all coming from USB -- (going through the Teensy) -- Do not connect an external power.


: Re: WaxBee project
: klein April 24, 2013, 02:22:00 PM
thank you  bernard

that is what i thought but i wonted to be sure, better safe than sorry!


: Re: WaxBee project
: klein April 25, 2013, 03:47:33 AM
great job bernard

my ud-1218-r is working, i did everything from xubuntu 12.04,  i used waxbee in xubuntu 12.04 unpacked it then chmod u+x waxbee.jar, chmod u+x miglayout-3.7.4-swing.jar, and miglayout-3.7.4-.jar. executed  waxbee.jar maid my hex file then used teensy.64bit to up load the hex file.

lsusb gives me this line = Bus 005 Device 007: ID 056a:0045 Wacom Co., Ltd Intuos2 12x18
driver was already in stalled in xubuntu 12.04



: Re: WaxBee project
: bernard April 25, 2013, 03:56:58 AM
Good to know!  :)  Happy doodling!


: Re: WaxBee project
: Alan May 02, 2013, 04:13:54 PM
I received my 32u4 boards, but they don't have a reset button, can you adapt the waxbee code so no button needs to be pressed?

edit:
I just shorted reset with ground to reset, but waxbee won't upload, perhaps it doesn't have the halfkay bootloader.

am playing with avrdude, but it doesnt upload the hex-file.

edit
I broke one board because a project was partially uploaded, now it isn't detected anymore, think I broke the bootloader, is it fixable? :P


: Re: WaxBee project
: bernard May 03, 2013, 04:55:25 AM
halfkay bootloader is exclusively on Teensy. For other boards you have to generate the .hex file out of waxbeeconfig and then use whatever loader technique for that board.

I am not an AVR bootloader wiz. I only used Teensy which never got bricked.  Probably there is a way to unbrick your AVR chip but I do not know.


: Re: WaxBee project
: bernard May 03, 2013, 05:03:23 AM
Did some research -- try to use the DFU Programmer maybe??

http://sourceforge.net/projects/dfu-programmer/files/dfu-programmer/0.6.0/

EDIT: Documentation says that the "flash" command supports the "ihex" format -- which I believe just means "Intel" "Hex" -- I think this is the hex file format I (or rather WaxBeeConfig) produces. It is certainly worth a try.

EDIT2: To get the device in DFU mode, you have to keep a pin low while it is reseting (i.e. powering -- just plug the usb cable to power it, no need to mess with the reset pin).


: Re: WaxBee project
: Alan May 03, 2013, 12:09:13 PM
Did some research -- try to use the DFU Programmer maybe??

http://sourceforge.net/projects/dfu-programmer/files/dfu-programmer/0.6.0/

EDIT: Documentation says that the "flash" command supports the "ihex" format -- which I believe just means "Intel" "Hex" -- I think this is the hex file format I (or rather WaxBeeConfig) produces. It is certainly worth a try.

EDIT2: To get the device in DFU mode, you have to keep a pin low while it is reseting (i.e. powering -- just plug the usb cable to power it, no need to mess with the reset pin).
Thanks for taking the time.
I also found this program, but it doesn't let you set the com-port, it just says "no device present".

AVRdude should work, but it doesn't:
"avrdude" -p atmega32u4 -c arduino -C "avrdude.conf" -P com6 -U flash:w:"test.hex":i -b 9600

avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done.  Thank you.


edit
this looks great, but no communication when USB  is selected, rs232 is unselectable
http://www.atmel.com/tools/flip.aspx


edit
avrdude needs giveio driver, which is 32-bit only... as always


: Re: WaxBee project
: bernard May 03, 2013, 01:21:57 PM
FLIP: But, did you put the chip in *DFU Mode*?


: Re: WaxBee project
: Alan May 03, 2013, 01:53:12 PM
No, haven't figured out how yet.

I did manage to upload the waxbee hexfile with arduino builder and selecting Arduino Leonardo http://www.downloadbestsoft.com/Arduino-Builder.html
Should something happen when the board is hooked up to usb after flashing the hex file, but not connected yet to a wacom? Nothing is detected, also no com port anymore.

I found out it is this board, it doesn't have ISP pins, so I can throw em away if I bricked them.
https://www.sparkfun.com/products/10998


: Re: WaxBee project
: bernard May 03, 2013, 02:38:04 PM
As far as I know, DFU mode is not ISP.   We have to look for a pin named HWB...  

EDIT1: ok looked at a datasheet it is on the PE2 pin.  Do you have that on your board? .....   

EDIT2: I see that pin in the schematic for the board you pointed at -- it is GrouNDed, since HWB is active low, it means it is enabled.  But the datasheet speaks about a HWBE fuse bit which is a programming thingy.... still reading...



: Re: WaxBee project
: Alan May 03, 2013, 02:45:57 PM
PE2 is grounded
This is the exact board
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Boards/Pro-Micro-v11-5V_B.pdf

edit
Your HEX-file was uploaded, but now nothing happens, windows detects nothing, before it detected arduino leonardo COM6, is this supposed to happen when no wacom is soldered to the uC? How can I test if your HEX is in memory and running?


: Re: WaxBee project
: bernard May 03, 2013, 02:48:15 PM
yeah, the pin is correctly wired, but I assume the HWBE fuse is 0.  Sounds like a catch-22.  :P


: Re: WaxBee project
: Alan May 03, 2013, 02:49:31 PM
Your HEX-file was uploaded, but now nothing happens, windows detects nothing, before, it detected arduino leonardo COM6, is this supposed to happen when no wacom is soldered to the uC? How can I test if your HEX is in memory and running?

I know nothing of fuses :P
Do you mind to explain?


: Re: WaxBee project
: bernard May 03, 2013, 02:53:38 PM
When it is correctly programmed, the device is supposed to act like it is a Wacom USB board. You should see a USB device connected. (In Windows it should show up somewhere in Device Manager). Even without anything wacom boards connected.  It is quite annoying that you can no longer re-program anything. Maybe flashing WaxBee overwrote the bootloader??   On the Teensy 2.0, there is a LED which is lit at bootup -- not sure if there is a similar led on your board.


: Re: WaxBee project
: Alan May 03, 2013, 02:57:29 PM
That's what I thought, Wacom should be detected, but it isn't, guess I can throw em away, what do you think?

Someone posted this:
So that someone can save the few hours I just spent…: I bricked the Pro Micro 3.3V. On OS X 10.8 no recognition of USB serial device (in Arduino IDE, ‘System Information’ and ‘/dev’). Power light goes on, but no tx/rx lights. It had something to do with running past RAM limitations (allocating too much memory). More importantly, the only way to get the device to reprogram was to repeatedly jiggle the reset pin (shorting it to ground) while the device was connected via USB, and after upload is initiated in IDE. Simply replugging the device during upload process, or singular resets at various phases did not work (for me). And the jiggle itself only worked 1 in 3 attempts so be persistent. You can stop jiggling if the tx/rx lights start going.
https://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Boards/32U4Note.pdf


: Re: WaxBee project
: bernard May 03, 2013, 03:02:23 PM
It is possible that something is not right in how to configured WaxBee before flashing hence the non-working status. Normally people can re-flash at will.

When everything fails, the LED is the last place where we can see some sort "error signaling message". But I am not even sure you have a LED (connected the same way as the Teensy).

My thought here: Just get a Teensy 2.0 :-) Was that so expensive?


: Re: WaxBee project
: Alan May 03, 2013, 03:02:56 PM
something happened
arduino bootloader com9 appeared in device manager while shorting rst to ground a couple of times :) no hope is lost.

edit
they're up and running :P
going to try to upload the hex again


: Re: WaxBee project
: bernard May 03, 2013, 03:36:27 PM
One of the bootloaders required a reset "double-tap" -- maybe this is what you did?  There is also this 8 second delay thingy.  But I am not sure this is the same bootloader.



: Re: WaxBee project
: Alan May 03, 2013, 03:49:18 PM
It doesn't upload 100%, then it bricks.

Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.


Programmer supports the following devices:
    Device code: 0x44

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x1e9587
avrdude.exe: reading input file "C:\wacom\waxbee\test1.hex"
avrdude.exe: writing flash (30376 bytes):

Writing | ###############################################

edit
it does write 100%, tried the same with a blinking-led hex made in arduino, so the waxbee hex uploads, but no emulated wacom is detected,any suggestions apart from buying a teensy? :P


: Re: WaxBee project
: bernard May 03, 2013, 06:07:42 PM
I do not know why it would halt programming. Since you seem to be able to "recover it", can you try with another method than avrdude? 

Another long-stretch option is to try to go the DFU way, but it probably requires that you create a program that will set the HWB fuse, then reset, then use a DFU-program to flash the real thing. (in the hope that it will also "clear" the HWB fuse so it can go out of DFU mode -- unless you unconnect that PE2 pin (or maybe need to VCC-it).

Maybe the format of the Hex file contains something that avrdude does not like?


: Re: WaxBee project
: bernard May 03, 2013, 06:15:06 PM
Have you tried with the avrdude verbose (-v) option?

What is your avrdude command line?



: Re: WaxBee project
: Alan May 03, 2013, 06:20:23 PM
It did write till 100% and finished successfully.
I tried to upload with avrdude manually from the command line, but it just didn't work, then I found arduino builder which also uses avrdude, but in this program it does work, no errors, but I can't add the verbose option.



: Re: WaxBee project
: Alan May 03, 2013, 06:29:41 PM
C:\wacom\waxbee\arduinobuilder\bin>"avrdude" -v -p m32u4 -c arduino -C "avrdude.
conf" -P com7 -U flash:w:"test.hex":i

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "avrdude.conf"

         Using Port                    : com7
         Using Programmer              : arduino
avrdude: stk500_getsync(): not in sync: resp=0x3f

avrdude done.  Thank you.


: Re: WaxBee project
: Alan May 03, 2013, 06:46:08 PM
fixed it, it was the -c parameter, hadt to be avr109

C:\wacom\waxbee\arduinobuilder\bin>"avrdude" -v -p m32u4 -c avr109 -C "avrdude.c
onf" -P com7 -U flash:w:"test.hex":i

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "avrdude.conf"

         Using Port                    : com7
         Using Programmer              : avr109
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page
      Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  Max
W   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ---
-- ---------
           eeprom        65    10     8    0 no       1024    8      0  9000  90
00 0x00 0x00
           flash         65     6   128    0 yes     32768  128    256  4500  45
00 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  90
00 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  90
00 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  90
00 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  90
00 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0
 0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0
 0 0x00 0x00

         Programmer Type : butterfly
         Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
    Device code: 0x44

avrdude: devcode selected: 0x44
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9587
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as D8
avrdude: safemode: efuse reads as CB
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed

         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "test.hex"
avrdude: writing flash (30376 bytes):

Writing | ################################################## | 100% 2.76s



avrdude: 30376 bytes of flash written
avrdude: verifying flash memory against test.hex:
avrdude: load data flash data from input file test.hex:
avrdude: input file test.hex contains 30376 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.66s



avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x7000
         0xf1 != 0x55
avrdude: verification error; content mismatch


avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as D8
avrdude: safemode: efuse reads as CB
avrdude: safemode: Fuses OK

avrdude done.  Thank you.


: Re: WaxBee project
: bernard May 03, 2013, 06:58:59 PM
And, even with the verification error, does it work??

As an alternative to troubleshooting, you might try to flash another .hex file to see if the issue is with .hex or about programming itself? The best is to find something known to work with your setup.

If you cannot find anything, then you could try one of those blink.hex (pick the slow one first) here: http://pjrc.com/teensy/blink_both.zip   -- again, this is meant for the Teensy 2.0 - it will blink a "led" for a different board -- LED is meant to be on Arduino pin "D12/A10" (which does not appear to be on the board). It is CPU pin 26. You can always probe that pin to see if it "blinks".

Teensy 2.0 Schematic : http://pjrc.com/teensy/schematic.html  (second one on that page).


: Re: WaxBee project
: Alan May 03, 2013, 07:05:13 PM
Just wanted to post that :)
A simple blink hex compiled with the arduino ide, uploads fine:

avrdude: verifying ...
avrdude: 4858 bytes of flash verified

Gonna test the teensy blink, on my board, the led is on D17, pin 8 of the chip.

edit
yep, the teensy blinker uploads fine, can't probe it atm.

Perhaps you can compile a similar hex file which blinks D17/pin8 instead, using the teensy tools, for me to test?


: Re: WaxBee project
: bernard May 03, 2013, 07:20:16 PM
I am pretty far from a dev. environment atm. These blink .hex were created by the guy (Paul) that built the Teensy.

In WaxBee, which template did you pick btw?  Alternatively, you can try with a .hex generated from an older WaxBeeConfig maybe? And/or use one of the "debug" templates.


: Re: WaxBee project
: Alan May 03, 2013, 07:24:56 PM
I tried intuos2 6x8, 9x12 and a debug template, all fail at byte 0x7000


: Re: WaxBee project
: bernard May 03, 2013, 07:32:50 PM
byte 0x7000 -- hum.  How much space can we program to these parts?  The Teensy have its "halfkay" bootloader (that essentially means half a kilobyte or 512 bytes byte loader -- which its big feature).  I know other bootloaders are bigger, maybe we are hitting a limit here?

0x7000 is 28K  -- these are 32K parts, do we have a limit of 28K ? Like 4K is reserved for the bootloader?



: Re: WaxBee project
: bernard May 03, 2013, 07:44:59 PM
I saw somewhere that the Leonardo is 28K max:  

"Binary sketch size: 5,212 bytes (of a 28,672 byte maximum)"

The firmware is currently around 30K -- which would not fit that is why it barfs at exactly byte 0x7000 (next byte over-the-limit) :(  

The "part" supports it in theory (it is really 32K!), but the bootloader is eating a whopping 4K. There might be ways for waxbee to be more "compact", I already did quite a few optimizations on that regard already.  One thing I could do is make a special build that totally comments out unused code for your specific use case. I hate to do this because it won't really be supported. They way I built this is using a configuration that is "injected" in the final .hex file, all the code is present all the time, just the data that changes.

So what is your specific use-case really?  What serial tablet are you hooking this on again?  Which features do you use (or not use). In other words, tell me which template(s) you picked (and if you modified them).


: Re: WaxBee project
: Alan May 03, 2013, 08:08:42 PM
Thanks for finding out, that makes sense, I guess halfkay is more efficient, have been looking for the halfkay hex-file to burn it in this board, but I couldn't find it.
If you could strip unused code for my case would be great :) . It is for private use, I have an intuos2 xd-0608-r, I picked that template and I didn't change a thing, I only want to use the pen and eraser, the side-buttons are missing on the pen, so won't be using these. The strip on top of the tablet isn't really necessary.

I played with the blinky app and it works perfectly on this board ( http://pjrc.com/teensy/gcc.html )


: Re: WaxBee project
: Alan May 03, 2013, 08:36:59 PM
Any idea how much the teensy2 bootloader takes?

edit
you said it already :P

specs of leonardo says 32K of which 4K for the bootloader


: Re: WaxBee project
: bernard May 03, 2013, 09:42:30 PM
Can you tell me the advantages for you of using that board over a Teensy?  I assume price(?) -- I just want to understand before I invest time in this.


: Re: WaxBee project
: Alan May 03, 2013, 09:50:23 PM
I already have them :)
Someone else suggested them, you said it will work (we didn't know the space issue then) and I ordered them too, 15 euro's for two, a teensy 2 is 17 euro's.
I said before that board was suggested I was looking for a cheap alternative and make it work, so people have to spend less money.


: Re: WaxBee project
: Alan May 04, 2013, 01:42:15 PM
Perhaps I can reburn the bootloader at a higher address if it is smaller than 4K

https://github.com/arduino/Arduino/blob/master/hardware/arduino/bootloaders/caterina/Caterina-Leonardo.hex
think it's 0xEC0 bytes, 3776B


: Re: WaxBee project
: bernard May 04, 2013, 02:20:21 PM
I do not know how it works, but I would not be surprised that the bootloader itself has an internal knowledge of the placement of the memory layout.


: Re: WaxBee project
: Alan May 04, 2013, 02:43:35 PM
Guess it needs to be recompiled.
Is it possible to download the teensy bootloader from the cpu and write it to another, or are the fuses there to prohibit this?


: Re: WaxBee project
: Alan May 04, 2013, 05:53:36 PM
I'm interested in looking in the source code and see how it works, any plans on making it public?


: Re: WaxBee project
: bernard May 05, 2013, 03:20:31 AM
Are you talking about WaxBee ?  This is open source from day 1.

For halfkay (Teensy bootloader), this probably won't happen. It is not mine, it is Paul's. This is what keeps him from not being copied over. It's a choice.

I have done some slim-down (added nunch of #ifdefs) -- I think am down to like 25K.  I think you will want that.


: Re: WaxBee project
: bernard July 04, 2013, 02:57:28 PM
If anybody is following this thread, WaxBee now emulates Intuos5 tablets!  It is still on the rough as of this writing, but it is progressing. We need people testing it! Intuos5 emulation can allow:

1- A solution for Windows 8 and most recent drivers. (As of this writing, Wacom did not have Intuos2 drivers for Windows 8)
2- Custom Buttons: Since the Intuos5 has buttons/pad/rings we would be in a position to map custom buttons and devices (and maybe the "strip menus" from old tablets) to that and benefit from Wacom's drivers and software integration
3- Potential custom Touch: Since the Intuos5 has touch, this could be part of a solution to map custom touch device to support special Wacom features like palm rejection


: Re: WaxBee project
: cellofaan July 16, 2013, 02:57:36 PM
Bernard, you're the man!

I haven't been reading the forums for quite a while, but I still have my stuff stored, ready to resume the project and convert my serial tablet as well.


: Re: WaxBee project
: masterrey July 19, 2013, 08:06:12 PM
Bernard, is difficult to make the profile to ud-0608r to intuos5?
Can you explain to me how do it?

And the touch function do you have any idea of circuit to add on tensy? 

Thanks U R the GUY!


: Re: WaxBee project
: bernard July 19, 2013, 08:27:53 PM
Templates: yeah this is pending but can be done quickly. Bare with me that you might become a guinea pig. There might be bugs to iron out. The idea is to take the intuos5 template and merge it with a ud0608r template. You can see the differences by comparing a third template.

For the touch, I know it feasable, but I am far from having a ready-to-go solution. Both from a circuit perspective and from coding it. And code is required to interface a touch device and also to emulate the Intuos5 touch.



: Re: WaxBee project
: bernard July 22, 2013, 07:50:52 AM
I just checked and I do not seem to have any built-in template for the UD-0608-R (!)  Normally the UD-0608-R should be relatively close to an UD-0912-R, so here's how you can do this:

So you first start with the Intuos5 template (you can open it with in a  "text" editor (like "Notepad++" on Windows) to edit the file manually or use the built-in template editor in WaxBeeConfig). You first give it a proper name and then copy all the "Slave*" settings from another template for a UD-0912-R (NOTE: you can open WaxBeeConfig twice to edit another template in parallel - a very useful feature). Then you need to update the following:

SLAVE_TABLET_X_MAX = 20320
SLAVE_TABLET_Y_MAX = 15240
SLAVE_X_MAX = 20320
SLAVE_Y_MAX = 15240

I am not 100% sure of these numbers, but it should be close. (That's 2540 lines per inch times 6 or 8 inches or 0.01mm resolution).  If not, you can also try: 20480 and 15360 which I saw in the ADB UD-0608-A template version.  Tell me if that works or not. 

Once you have a working template, I'll include it in the WaxBee distribution.


: Re: WaxBee project
: SONB November 05, 2013, 05:18:25 PM
Is it possible to make an Intuos5 template for a GD-9x12-R?


: Re: WaxBee project
: bernard November 05, 2013, 05:25:02 PM
It is possible.  You can even do this yourself. The process is to merge the "Slave" section with the "USB" section of two templates that deals with the 2 devices that you want.  One way to do this is to open WaxBee twice and open the raw config edit dialog twice -- one per template.  You'd want to modify the intuos5 template (because the USB side is always more complex) and modify that one to merge a GD-0912-R template.

Please note that the Intuos 5 emulation (as of this writing) is a bit unstable. (i.e. not tested very much).

If you try it you can report how it behaves and advance this a little bit.


: Re: WaxBee project
: bernard November 05, 2013, 05:38:09 PM
Attached is an attempt at a template (completely untested, I just did a quick merge by copy-pasting it).

Try it and tell me if it works.


: Re: WaxBee project
: SONB November 05, 2013, 07:35:11 PM
Thanks!

I flashed it, Windows 8 recognized the tablet as an Intuos 5, installed the driver but the cursor doesn't move. Wacom Config Tool shows "Intuos5 touch" and only "Functions" and "Touch" in the Tools. There is no pen.

Then I changed the serial port speed to 19200 (as it worked with the GD-... template) but there's still no Pen and no movement.

Installed the latest driver (6.37-5).


: Re: WaxBee project
: bernard November 05, 2013, 07:53:49 PM
Try the debug template. I suspect you have an issue communicating with your board.

So the next step is to flash a debug version to check if your tablet is correctly connected, recognized and at what baud rate speed.

To see the debug output, you need the hid_listen tool  http://www.pjrc.com/teensy/hid_listen.html


Alternatively: Have you tried installing the Intuos2 driver for Windows 7  (even if you are on Windows 8?).  If that works, try with a Intuos2 emulation template.


: Re: WaxBee project
: SONB November 05, 2013, 08:50:25 PM
The Intuos2 driver for Windows 7 works (I'm the guy with random clicks and wrong mappings from http://forum.bongofish.co.uk/index.php?topic=1927.msg19451#msg19451 (http://forum.bongofish.co.uk/index.php?topic=1927.msg19451#msg19451) ;))

Still on the newest driver for Intuos5, I flashed the debug template (GD-0912-R Debug). I guess, it's communicating pretty well (38400 baud):
:
Listening:
WaxBee 0.14 -- bzz! bzz!
Serial/ADB tablet to USB converter.
 slaveXMax:30480 slaveYMax:24060 usbXMax:16704 usbYMax:12064
protocol5_serial::init()
Serial Tablet - GD-0912-R00,V1.1-7
Intuos

RS: 80
RS: (?!)F8 00 78 00 78 00 00
RS: (?!)80 78 78
RS: (?!)80 00
RS: (?!)80 78
RS: (?!)80 00 00 78 00
RS: (?!)80 78
RS: (?!)F8 00 00
RS: (?!)80 78
RS: (?!)80
RS: (?!)F8 78
RS: (?!)80 78 78 00 00 00
RS: (?!)F8 00
RS: (?!)F8 78
RS: (?!)80 00 00
RS: (?!)F8 78
RS: (?!)80 78 00
RS: (?!)80 78 78 00
RS: (?!)80
RS: (?!)F8 00
RS: (?!)F8 78 78 00
RS: (?!)F8 78 78
RS: (?!)80 78 78 78 00 00 78
RS: (?!)80 00
RS: (?!)80 78 78 00 00
RS: (?!)80 78 00
RS: (?!)F8 78
RS: (?!)F8 00 00
RS: (?!)80
RS: (?!)F8 00
RS: (?!)80 78 00 00 00
RS: (?!)80
RS: (?!)F8
RS: (?!)F8
RS: (?!)80 00
RS: (?!)F8 78 00 00 78 00
RS: (?!)80 78 00 00 00
RS: (?!)80 78
RS: (?!)F8 78
RS: (?!)80 78 00 00 78 00
RS: (?!)F8 78 00 00 78
RS: (?!)80
RS: (?!)F8 00
RS: (?!)80 00 00 00
RS: (?!)80 00 78 00 00 00 00 00 78

RS: 80
RS: (?!)80 78 78
RS: (?!)F8 78 00
RS: (?!)80 00
RS: (?!)F8 78 00
RS: (?!)80 78 00 00
RS: (?!)80
RS: (?!)80
RS: (?!)80
RS: (?!)F8 00 00 00 78
RS: (?!)80
RS: (?!)80 00 00
RS: (?!)F8 00
RS: (?!)80 78 00 00
RS: (?!)80
RS: (?!)80
RS: (?!)80
RS: (?!)80 00 78 78
RS: (?!)F8
RS: (?!)80
RS: (?!)80 00 78
RS: (?!)80 00
RS: (?!)F8 78
RS: (?!)F8
RS: (?!)F8 00
RS: (?!)80
RS: (?!)80
RS: (?!)80 00 78 00 78 78 00
RS: (?!)80
RS: (?!)F8 00 00 00
RS: (?!)F8
RS: (?!)F8 00
RS: (?!)F8
RS: (?!)80
RS: (?!)80 78 78 00
RS: (?!)80 78 78
RS: (?!)80 00 78
RS: (?!)F8 00
RS: (?!)F8 78
RS: (?!)80
RS: (?!)F8 00
RS: (?!)F8
RS: (?!)80
RS: (?!)80
RS: (?!)80 00 78 78 78 78 00
RS: (?!)80 78 00 78 00
RS: (?!)80
RS: (?!)F8 00 00
RS: (?!)F8
RS: (?!)80
RS: (?!)F8
RS: (?!)F8 00 00 00
RS: (?!)F8 78 00 78 00 00 00 78
RS: (?!)F8 00 00
RS: (?!)F8
RS: (?!)80 78
RS: (?!)80 78
RS: (?!)F8 78 00
RS: (?!)80 00
RS: (?!)F8 78 00 78 00 00
RS: (?!)F8 00 78
RS: (?!)F8
RS: (?!)80 78 00
RS: (?!)F8 78
RS: (?!)80
RS: (?!)80 00
RS: (?!)F8 78 00
RS: (?!)80 78
RS: (?!)F8
RS: (?!)F8 78 78
RS: (?!)F8
RS: (?!)80
RS: (?!)F8
RS: (?!)F8 00 00 00 78
RS: (?!)F8
RS: (?!)80 00
RS: (?!)80
RS: (?!)F8 00
RS: (?!)80 78
RS: (?!)F8
RS: (?!)F8 78 78
RS: (?!)F8
RS: (?!)80 00
RS: (?!)80 78
RS: (?!)80 78
RS: (?!)F8
RS: (?!)80 00
RS: (?!)80 78 00 00 00 78 78 78
RS: (?!)F8
RS: (?!)80
RS: (?!)80 78 00
RS: (?!)80
RS: (?!)F8
RS: (?!)80 00 00
RS: (?!)80 00
RS: (?!)F8 00 00 00
RS: (?!)80
RS: (?!)F8
RS: (?!)80 00
RS: (?!)80 00
RS: (?!)F8 78
RS: (?!)80 00 78 00
RS: (?!)80 00
RS: (?!)80 00 00
RS: (?!)80
RS: (?!)F8
RS: (?!)80
RS: (?!)F8 00 78 00
RS: (?!)F8
RS: (?!)80 00 78
RS: (?!)80 00
RS: (?!)F8 00 00 00 00
RS: (?!)F8
RS: (?!)F8
RS: (?!)80
RS: (?!)80 78 00
RS: (?!)F8 78 00 78 00
RS: (?!)80 00
RS: (?!)F8 00
RS: (?!)F8 00 00
RS: (?!)F8
RS: (?!)F8
RS: (?!)80 00
RS: (?!)80 78 78 78 00 78
RS: (?!)80
RS: (?!)80 00 78 00 78 00 00
RS: (?!)F8
RS: (?!)F8
RS: (?!)80
RS: (?!)F8
RS: (?!)F8 78
RS: (?!)F8 78
RS: (?!)80 78 78
RS: (?!)80 00 78 00 00 00 00 00
RS: (?!)80 78
RS: (?!)80 00 00
RS: (?!)F8 78 78 00
RS: (?!)F8 00 78 00 78 00 00 00
RS: (?!)80
RS: (?!)F8 00 78 78
RS: (?!)80
RS: (?!)80 78
RS: (?!)80
RS: (?!)80 00
RS: (?!)F8 00 00 00 00 00
RS: (?!)80
RS: (?!)F8
RS: (?!)F8 78 78 00 78 00
RS: (?!)80 00 00 00 00 00 00 78
RS: (?!)80 78 78 00 00
RS: (?!)F8
RS: (?!)80 78 00 78 00 00 00
RS: (?!)F8 78 00 78
RS: (?!)80
RS: (?!)F8
RS: (?!)80 78 00
RS: (?!)F8 78 78 78 78 00 00 00
RS: (?!)80 78 00 78
RS: (?!)80 00 00 78 00
RS: (?!)F8
RS: (?!)F8 78 00
RS: (?!)80 00
RS: (?!)80 00
RS: (?!)80 78
RS: (?!)F8
RS: (?!)F8
RS: (?!)F8
RS: (?!)80 00 00 78 00 78 78 78
RS: (?!)F8 00
RS: (?!)80 00 78 78
RS: (?!)F8
RS: (?!)F8
RS: (?!)F8
RS: (?!)80 00 00 78 00 00 78 00
RS: (?!)F8 00
RS: (?!)80 00 78 78
RS: (?!)F8
RS: (?!)F8
RS: (?!)F8
RS: (?!)80 00 00 78 00 78 78
RS: (?!)F8 00
RS: (?!)80 00 78 78
RS: (?!)F8
RS: (?!)F8
RS: (?!)F8
RS: (?!)80 00 00 78
RS: (?!)80 00 78 00 78 00
RS: (?!)80 00 78 78
RS: (?!)F8
RS: (?!)F8
RS: (?!)F8
RS: (?!)80 00 00 78
RS: (?!)80 00
RS: (?!)80 00 00 00
RS: (?!)F8 00
RS: (?!)80 00 78 78
RS: (?!)F8
RS: (?!)F8
RS: (?!)F8
RS: (?!)80 00 00 78
RS: (?!)80 00
RS: (?!)F8 78 00 78
RS: (?!)F8 00
RS: (?!)80 00 78 78
RS: (?!)F8
RS: (?!)F8
RS: (?!)F8
RS: (?!)80 00 00 78
RS: (?!)80 00 00 00 00
RS: (?!)80
RS: (?!)F8 00
RS: (?!)80 00 78 78
RS: (?!)F8
RS: (?!)F8
RS: (?!)F8
RS: (?!)80 00 00 78
RS: (?!)80 00
RS: (?!)80 78 00
RS: (?!)80
RS: (?!)F8 00
RS: (?!)80 00 78 78
RS: (?!)F8
RS: (?!)F8
RS: (?!)F8
RS: (?!)80 00 00 78
RS: (?!)80 00 00 00 00 00
RS: (?!)F8 00
RS: (?!)80 00 78 78
RS: (?!)F8
RS: (?!)F8
RS: (?!)F8
RS: (?!)80 00 00 78
RS: (?!)80 00 78 00 00 78 00
RS: (?!)80 00 78 78
RS: (?!)F8
RS: (?!)F8
RS: (?!)F8
RS: (?!)80 00 00 78
RS: (?!)80 00
RS: (?!)80 00
RS: (?!)80 00 78 00
RS: (?!)80 00 78 78 00 00 00 00 00
00(*!)
00(*!)
00(*!)

And with 19200 baud:
:
Listening:
WaxBee 0.14 -- bzz! bzz!
Serial/ADB tablet to USB converter.
 slaveXMax:30480 slaveYMax:24060 usbXMax:16704 usbYMax:12064
protocol5_serial::init()
Serial Tablet - GD-0912-R00,V1.1-7
Intuos

SU: 02 E0 34 2F 1C 4E 01 DD 58 68

RS: E0 2F 3E 47 07 38 07 7A 18
SU: 02 E0 34 0C 1C 4F 01 DD 58 68

RS: E0 2F 2E 07 07 28 06 7A 18
SU: 02 E0 33 E8 1C 4E 01 9D 58 68

RS: E0 2F 1E 07 07 50 07 7A 17
SU: 02 E0 33 C5 1C 51 01 DD 57 68

RS: E0 2F 0C 47 07 60 06 7A 17
SU: 02 E0 33 9F 1C 52 01 9D 57 68

RS: E0 2E 7B 67 07 78 07 7A 17
SU: 02 E0 33 7A 1C 53 01 DD 57 68

RS: E0 2E 6B 67 08 10 06 7A 16
SU: 02 E0 33 57 1C 55 01 9D 56 68

RS: E0 2E 5B 27 08 20 07 7A 16
SU: 02 E0 33 33 1C 56 01 DD 56 68

RS: E0 2E 4B 67 08 18 07 7A 16
SU: 02 E0 33 11 1C 55 01 DD 56 68

RS: E0 2E 38 67 08 38 07 7A 16
SU: 02 E0 32 E7 1C 57 01 DD 56 68

RS: E0 2E 26 07 08 68 07 7A 15
SU: 02 E0 32 BE 1C 5A 01 DD 55 68

RS: E0 2E 12 47 08 78 06 7A 15
SU: 02 E0 32 93 1C 5B 01 9D 55 68

RS: E0 2D 7A 67 09 58 07 78 15
SU: 02 E0 32 5F 1C 61 01 DC 55 68

RS: E0 2D 64 27 0A 28 07 79 15
SU: 02 E0 32 2E 1C 66 01 DC D5 68

RS: E0 2D 4D 07 0A 60 06 79 15
SU: 02 E0 31 FB 1C 6A 01 9C D5 68

RS: E0 2D 34 67 0B 50 06 79 14
SU: 02 E0 31 C6 1C 71 01 9C D4 68

RS: E0 2D 1E 47 0C 40 06 7A 14
SU: 02 E0 31 95 1C 78 01 9D 54 68

RS: E0 2D 06 07 0D 18 06 7B 14
SU: 02 E0 31 5F 1C 7E 01 9D D4 68

RS: E0 2C 6E 67 0E 28 07 7C 13
SU: 02 E0 31 2C 1C 87 01 DE 53 68

RS: E0 2C 54 47 0E 70 07 7C 13
SU: 02 E0 30 F3 1C 8B 01 DE 53 68

RS: E0 2C 3B 27 0F 48 07 7D 13
SU: 02 E0 30 BB 1C 91 01 DE D3 68

RS: E0 2C 1F 47 10 10 07 7D 12
SU: 02 E0 30 7F 1C 95 01 DE D2 68

RS: E0 2C 00 67 10 70 07 7D 12
SU: 02 E0 30 3B 1C 9B 01 DE D2 68

RS: E0 2B 60 07 11 38 06 7C 11
SU: 02 E0 2F F3 1C A0 01 9E 51 68

RS: E0 2B 41 07 12 08 06 7C 11
SU: 02 E0 2F AF 1C A5 01 9E 51 68

RS: E0 2B 22 07 12 18 06 79 10
SU: 02 E0 2F 6B 1C A6 01 9C D0 68

RS: E0 2B 04 27 12 48 07 78 10
SU: 02 E0 2F 2A 1C A9 01 DC 50 68

RS: E0 2A 68 47 12 38 06 77 0F
SU: 02 E0 2E ED 1C A8 01 9B CF 68

RS: E0 2A 4C 07 12 68 07 79 0F
SU: 02 E0 2E AF 1C AB 01 DC CF 68

RS: E0 2A 2F 27 12 60 06 7A 0E
SU: 02 E0 2E 70 1C AA 01 9D 4E 68

RS: E0 2A 0F 07 13 10 07 7A 0E
SU: 02 E0 2E 29 1C AD 01 DD 4E 68

RS: E0 29 6C 47 12 70 06 7C 0E
SU: 02 E0 2D DE 1C AB 01 9E 4E 68

RS: E0 29 4B 27 13 08 06 7B 0D
SU: 02 E0 2D 95 1C AD 01 9D CD 68

RS: E0 29 2B 67 12 70 06 7B 0D
SU: 02 E0 2D 50 1C AB 01 9D CD 68

RS: E0 29 0A 67 12 70 06 7A 0D
SU: 02 E0 2D 07 1C AB 01 9D 4D 68

RS: E0 28 6D 27 12 78 07 7A 0D
SU: 02 E0 2C C7 1C AC 01 DD 4D 68

RS: E0 28 4E 47 12 78 07 7A 0D
SU: 02 E0 2C 83 1C AC 01 DD 4D 68

RS: E0 28 2F 67 12 60 06 7A 0D
SU: 02 E0 2C 40 1C AA 01 9D 4D 68

RS: E0 28 0C 47 13 10 07 7A 0D
SU: 02 E0 2B F3 1C AD 01 DD 4D 68

RS: E0 27 63 47 13 10 06 7C 0D
SU: 02 E0 2B 99 1C AD 01 9E 4D 68

RS: E0 27 3D 07 13 00 07 7D 0D
SU: 02 E0 2B 44 1C AC 01 DE CD 68

RS: E0 27 18 07 13 20 06 7D 0D
SU: 02 E0 2A F3 1C AE 01 9E CD 68

RS: E0 26 73 27 13 10 06 7D 0D
SU: 02 E0 2A A3 1C AD 01 9E CD 68

RS: E0 26 4D 07 13 30 07 7E 0D
SU: 02 E0 2A 4F 1C AF 01 DF 4D 68

RS: E0 26 24 67 13 10 07 7E 0D
SU: 02 E0 29 F7 1C AD 01 DF 4D 68

RS: E0 25 74 67 13 18 07 7E 0D
SU: 02 E0 29 8D 1C AE 01 DF 4D 68

RS: E0 25 47 07 13 38 06 7E 0D
SU: 02 E0 29 29 1C B0 01 9F 4D 68

RS: E0 25 1A
RS: (?!)E0 21 2F 67 14 70 06 02 0C
SU: 02 E0 24 94 1C BB 01 A1 4C 68

RS: E0 21 00 67 15 60 07 02 0B
SU: 02 E0 24 2D 1C C2 01 E1 4B 68

RS: E0 20 52 67 16 38 06 02 0B
SU: 02 E0 23 C8 1C C8 01 A1 4B 68

RS: E0 20 25 67 17 48 06 02 0B
SU: 02 E0 23 65 1C D1 01 A1 4B 68

RS: E0 1F 74 67 19 18 07 02 0A
SU: 02 E0 22 FA 1C DE 01 E1 4A 68

RS: E0 1F 3F 07 1A 70 06 02 0A
SU: 02 E0 22 84 1C EB 01 A1 4A 68

RS: E0 1F 0E 07 1C 60 06 02 09
SU: 02 E0 22 19 1C FA 01 A1 49 68

RS: E0 1E 5F 27 1E 30 06 02 08
SU: 02 E0 21 B2 1D 07 01 A1 48 68

RS: E0 1E 30 67 20 18 07 02 08
SU: 02 E0 21 4C 1D 16 01 E1 48 68

RS: E0 1E 00 07 21 40 07 02 06
SU: 02 E0 20 E1 1D 21 01 E1 46 68

RS: E0 1D 48 27 24 10 06 02 04
SU: 02 E0 20 67 1D 36 01 A1 44 68

RS: E0 1D 10 67 25 40 06 03 03
SU: 02 E0 1F ED 1D 41 01 A1 C3 68

RS: E0 1C 60 07 27 70 07 03 02
SU: 02 E0 1F 83 1D 54 01 E1 C2 68

RS: E0 1C 30 07 29 30 06 03 00
SU: 02 E0 1F 19 1D 60 01 A1 C0 68

RS: E0 1B 76 27 2B 18 07 03 7F
SU: 02 E0 1E 9B 1D 6E 01 E1 BF 68

RS: E0 1B 38 47 2D 28 07 04 7D
SU: 02 E0 1E 13 1D 7F 01 E2 3D 68

RS: E0 1B 00 27 2F 10 06 05 7C
SU: 02 E0 1D 98 1D 8E 01 A2 BC 68

RS: E0 1A 4B 27 30 30 07 05 7C
SU: 02 E0 1D 24 1D 98 01 E2 BC 68

RS: E0 1A 13 47 33 08 07 05 7B
SU: 02 E0 1C AA 1D AD 01 E2 BB 68

RS: E0 19 59 27 34 38 06 04 7C
SU: 02 E0 1C 2A 1D B8 01 A2 3C 68

RS: E0 19 1C 67 36 78 06 03 7D
SU: 02 E0 1B A5 1D CD 01 A1 BD 68

RS: E0 18 69 27 39 50 07 04 7E
SU: 02 E0 1B 34 1D E2 01 E2 3E 68

RS: E0 18 36 47 3C 20 06 05 00
SU: 02 E0 1A C5 1D F7 01 A2 C0 68

RS: E0 18 04 27 3F 20 06 05 01
SU: 02 E0 1A 57 1E 0F 01 A2 C1 68

RS: E0 17 49 47 42 20 07 04 03
SU: 02 E0 19 D6 1E 27 01 E2 43 68

RS: E0 17 15 67 45 70 07 03 04
SU: 02 E0 19 65 1E 44 01 E1 C4 68

RS: E0 16 65 67 49 08 07 05 05
SU: 02 E0 18 FC 1E 5E 01 E2 C5 68

RS: E0 16 36 67 4B 70 07 06 07
SU: 02 E0 18 95 1E 74 01 E3 47 68

RS: E0 16 06 47 4F 50 06 06 08
SU: 02 E0 18 2B 1E 93 01 A3 48 68

RS: E0 15 4C 47 52 78 06 04 09
SU: 02 E0 17 AC 1E AD 01 A2 49 68

RS: E0 15 16 27 55 70 06 03 0A
SU: 02 E0 17 35 1E C5 01 A1 CA 68

RS: E0 14 61 27 58 68 06 04 0B
SU: 02 E0 16 C1 1E DC 01 A2 4B 68

RS: E0 14 2F 07 5C 00 07 05 0B
SU: 02 E0 16 52 1E F6 01 E2 CB 68

RS: E0 13 77 07 5F 08 07 05 0C
SU: 02 E0 15 D8 1F 0E 01 E2 CC 68

RS: E0 13 34 67 62 00 07 05 09
SU: 02 E0 15 46 1F 26 01 E2 C9 68

RS: E0 12 76 67 64 40 07 06 07
SU: 02 E0 14 BE 1F 3A 01 E3 47 68

RS: E0 12 3E 07 67 48 06 07 05
SU: 02 E0 14 42 1F 53 01 A3 C5 68

RS: E0 12 00 27 69 58 06 07 03
SU: 02 E0 13 BB 1F 64 01 A3 C3 68

RS: E0 11 36 47 6B 70 06 07 01
SU: 02 E0 13 19 1F 75 01 A3 C1 68

RS: E0 10 75 27 6E 10 07 07 7E
SU: 02 E0 12 8A 1F 87 01 E3 BE 68

RS: E0 10 36 27 70 48 06 08 7E
SU: 02 E0 12 00 1F 9B 01 A4 3E 68

RS: E0 0F 75 67 72 78 07 08 7E
SU: 02 E0 11 73 1F AE 01 E4 3E 68

RS: E0 0F 2C 67 75 40 07 09 7B
SU: 02 E0 10 D2 1F C2 01 E4 BB 68

RS: E0 0E 6A 27 76 78 07 09 7C
SU: 02 E0 10 41 1F CE 01 E4 BC 68

RS: E0 0E 30 47 79 38 06 09 7C
SU: 02 E0 0F C2 1F E2 01 A4 BC 68

RS: E0 0D 70 27 7B 20 06 09 7C
SU: 02 E0 0F 35 1F F1 01 A4 BC 68

RS: E0 0D 28 07 7C 48 06 0B 7E
SU: 02 E0 0E 97 1F FB 01 A5 BE 68

RS: E0 0C 68 47 7E 00 06 0B 7E
SU: 02 E0 0E 0C 20 07 01 A5 BE 68

RS: E0 0C 2F 27 7E 20 06 0B 7E
SU: 02 E0 0D 8E 20 09 01 A5 BE 68

RS: A0 0B 6E 67 7F 20 06 0B 7E
[USB Packet - Out of range packet (all zeros)]
SU: 02 80 00 00 00 00 00 00 00 00

RS: A0 0A 64 28 01 48 06 0B 7E

RS: A0 09 62 48 03 70 06 0B 7E

RS: A0 08 50 08 06 48 06 0B 7E

RS: 80 00 00 00 00 00 00 00 00



: Re: WaxBee project
: bernard November 06, 2013, 06:34:32 AM
Yeah, sorry, it is difficult for me to keep track of everybody and everything they did.

When you see messages like "(?!)" it means an error.

So the 19200 baud appears to be the good speed (not 38400).

Have you tried using 19200 baud with the normal template?


: Re: WaxBee project
: SONB November 07, 2013, 08:48:30 PM
Sorry for the late answer.
The normal template for Intuos 2 works only with 19200 baud (with random clicks, but it works). The template for Intuos 5 doesn't work at all, no reaction from the tablet, no matter at which speed.


: Re: WaxBee project
: bernard November 07, 2013, 09:08:43 PM
Sit tight. I suspect there is an older variant of the GD tablet that works at lower speed and is different enough that the driver needs tweaking to overcome random clicks and y jumps. I see your version is 1.x instead of 2.0 , so that might explain it.

Another forum member with the same tablet as yours is about to send me some investigation data. Hopefully I will pinpoint the issues and make adjustments to Waxbee.


: Re: WaxBee project
: SONB November 08, 2013, 12:39:31 PM
Ah, very good. Please tell me if I can help collecting some investigation data.


: Re: WaxBee project
: bernard November 08, 2013, 04:27:10 PM
In the Linux driver, I see that they pick 19200 baud if the version is smaller than 2.0 (instead of 38400) -- this confirms that there is really two version of the GD running a different speed. (I was not 100% sure up to this point).

There is no obvious code that interprets the serial data differently based on the version. But I am not done looking. There is also a special piece of logic that ignores packets that does not fit certain criteria and another one that interprets the pressure differently when the packet is not from a pen. I have to compare WaxBee logic vs. Linux code logic and also match with the serial data coming out of the GD 1.x tablets.


: Re: WaxBee project
: SONB November 09, 2013, 03:58:55 AM
I'm glad to see you being optimistic about our "special" 1.x tablets  :) It looks like you have a plan.
I would be happy to help, but I'm scared to dive into the source code  ???


: Re: WaxBee project
: bernard November 09, 2013, 04:25:58 AM
Here's the "masterplan"  8) :  Analyze the raw data to hopefully find how to interpret it differently for the version 1.x.  If that fails, then analyze the "glitches" and build a "high-pass" filter (something really simple) to "cut off" (skip) glitches.  The last will remove extreme cases but sometimes we cannot make the difference between a glitch and a real stroke. So I am hoping to find the solid solution before trying to filter it out.   

You might get lucky with lazynezumi which is doing that type of filtering already and a few members are using it.


: Re: WaxBee project
: SONB November 11, 2013, 11:44:31 PM
Hmm... lazynezumi didn't make a change. I'm not even sure it works correctly on Win8 with Sketchbook  ???

I guess I'll just wait and hope that you'll find a solution.


: Re: WaxBee project
: bernard December 10, 2013, 02:23:03 PM
New version 0.15a fixes a regression that was halting the CPU for 50ms every second or so.  The net effect is little stops in the pointer movements.  It didn't affect the positions (so curves are not affected) but could affect all "time-related" tools, like airbrushes.


Sorry, the copyright must be in the template.
Please notify this forum's administrator that this site is missing the copyright message for SMF so they can rectify the situation. Display of copyright is a legal requirement. For more information on this please visit the Simple Machines website.