I have just received the next batch of reset board PCB’s. Should have some boards built and stock replenished very shortly!
If your Original Zeno will no longer charge it is probably time to change your battery out. A standard cordless phone battery works like a champ but there is a little soldering involved as the connectors are different. If this is something you are uncomfortable performing I am happy to provide this service for $20. I will try to get a step by step instruction on the replacement up soon. Contact me here if you would like your battery replaced.
The Zeno reset board is now available for $48 assembled. This board will reset Original Zeno, Zeno Mini and ZenoMD tips to 240 counts. Tips are loaded with custom eeprom data, not copies of new unused tip data! Avon Zeno and Zeno Hotspot cannot be reset and I have no plans to explore these devices any further.
For more information contact me here. I will respond within a day but possibly two. If not resend your message and ensure your email address is correct.
This board scavenges power from USB with a mini-B connector. Either a wall wart or powered USB port is required to operate the Zeno Reset Board.
For those interested in resetting original Zeno and Zeno Mini tips, it can be a bit of a pain attaching the mini-clips on the Bus Pirate cable to the pins of the tip… If you like, I can make you a cable. The price will be $18.00. Drop me a line here to get information on how you can purchase a cable. Please send a picture of your Bus Pirate and specify what Zeno you have in the email. Thank you.
Was jacking around with the Zeno again recently and figured out (as far as I can tell) how to get the most counts or uses possible onto a Zeno tip. I started by comparing the tip EEPROM data of the 60, 90 & 150 count tips. Of the three data sets bytes 2, 12, 49, 65 & 66 were the only ones that changed from tip to tip. After studying these changes I eventually found a pattern and was able to put together some formulas for creating your own custom count tip. But really, who wants less than the maximum amount? For the method I worked out, the tip count must be in multiples of 15. Not saying the Zeno cares, but for the pattern I observed the tip count must be a multiple of 15.
I use TeraTerm for resetting my Zeno tips. For those that dont want to use TeraTerm but need the EEPROM data, open the TeraTerm macro and extract the data you need. For those that do want the macro, here it is: 240 Count Macro for use with TeraTerm
Byte 2 = Desired Count + 5
Byte 12 = 54 + (( Count – 60 )/15)
Byte 49 = 178 – ((( Count – 60 ) / 15 ) * 16 )
Byte 65 = Count + 4
Byte 66 = 131 – Count
The Zeno tips contain a 256 byte I2C EEPROM. The highest number that any single byte can hold is 0xFF or 255. At first I tried to max the tip out to 255 uses. But this forced the data at bytes 2 & 65 to roll over zero when using the formulas. The Zeno did not like that at all. Keeping the tip count value at a multiple of 15 the next step down was 240. This kept our data below oxFF and the Zeno was happy. All other bytes in the EEPROM are the same throughout the various count tips offered by Zeno. Interestingly, I have found that the Zeno could care less about anything past byte 66. So the new 240 count macro writes
all zeros 0xFF after byte 66.
I ran across someone selling Zeno tip resets today on Ebay. It never occurred to me that someone might take this information and try to make money off of it. But I am not surprised. I suppose there are people who would like their tip reset but do not have the means. So, if you would like yours reset I will do it for free. Or if you prefer, you can purchase on ebay. The original tip auction is here. The mini tip auction is here.My auction will always be the cheapest listed. I tried to list an auction where all the proceeds went to a charity and that eliminated the Ebay fees but it did not eliminate the Paypal fees. So, there has to be a charge on the auction.
All proceeds will go to exploring other Zeno devices. Specifically the newer Zeno Hotspot.
Drop me a line here to get your tip refilled for free or if you want to spend money, search ebay for a Zeno Refill.
Please understand that this will void any and all warranties you have with your Zeno.
Finally got around to making a halfway decent tip extender for the Zeno. This extender can be used for sniffing the bus and resetting tips. The Sullins card edge connectors are a bit of a pain to get ahold of. They run a little over $4 a piece with a min qty of 10. Sullins will give samples, which is how I got mine. The best PN for this board would be EMC05DRYN-S13 rather than the EMC05DREN that I used. Alternatively you could use a double row .100″ header with the pins bent over, which is what I have been using up to this point.
On a different note, I loaded the 90 count tip data into at 60 count tip and the Zeno powered up without any issues or flashing error codes. I did not actually sit and go through 90 uses but I think it is safe to say that any lower count tip can be transformed into a higher count tip.
Our reset Zeno tips have been working just fine for over a year now without any ill effects. There has been no noticeable change in the performance of the tip.
I would recommend that you backup your tip’s EEPROM before trying to reset it. That way you will have a backup in the event the macro’s below do not work. If you have a brand new tip I would advise you dump its contents before any uses. You can dump your tips contents with the following command at the “I2C>” prompt: [0xA1 r:127] To verify that your tip is indeed a 128 byte EEPROM send: [0xA1 r:255] and verify the contents start repeating at the 128 byte mark.
I have updated the macros to work with Bus Pirate firmware v5.10. With the old 60 count macro on newer BP firmware there seemed to be an issue with turning on the pull-ups before the power supplies, although I never fully investigated it. Also, the macros will not auto run TeraTerm. You must load the macro after you are already connected to the Bus Pirate. Thanks to Ben McClosky for the 90 count tip data dump!
Ever wonder if Zeno tips could be reset or hacked? I have. I find it hard to believe that a 45 count tip or 60 count tip (or whatever tip) is degraded beyond use after the face value count has been consumed. And at ~25 bucks a pop for a 60 use tip, it was at least worth looking into.
***WARNING: REUSE TIPS AT YOUR OWN PERIL***
Cracking open the Zeno revealed a Cypress cy8c27443 microcontroller with the I2C pins routed straight to the tip. Inside the tip is a 128 byte I2C eeprom, four 22 ohm resistors in parallel (heat source), a zener, a thermistor and one other resistor. If I can get to it I will post a schematic **POSTED**. So, with the arrival of my new Bus Pirate v3a by Ian Lesnet I began sniffing the bus. And as it turns out, the Zeno merely increments/decrements a couple of bytes in the tip’s eeprom to signal a use. Shortly after starting a treatment, the uC writes the following: 0×00 at address 64,
More to come:
I will be building a tip extender / breakout board for future tip resets and bus sniffing. I will also be looking more into an issue I was having with getting a tip to show full count when only writing to the money bytes at address 64 thru 66. Which very well may have been operator error with the BP as I fumbled around. To get around the issue I just wrote to the entire address range (see macro below).
;This is a quick and dirty TeraTerm macro for resetting a 60 count Zeno tip.
;with Ian Lesnet’s Bus Pirate.
;Adjust your .ini file for proper Bus Pirate serial port settings.
;Requires TeraTerm version 4.27 or later
;Only tested with Bus Pirate Firmware v3.0
MyPort = 5
;Bus Mode Menu
send “m” 13
wait ‘(1) >’
send “4″ 13
wait ‘(1) >’
send “1″ 13
wait ‘(1) >’
send “2″ 13
send “p” 13
wait ‘(1) >’
send “2″ 13
wait ‘Pull-up resistors ON’
;Power Supplies On
send “W” 13
wait ‘POWER SUPPLIES ON’
;Let I2C EEPROM Initialize
;Write Data to EEPROM
send “[0xA0, 0, 0x08, 0x00, 0x41, 0x04, 0x97, 0x04, 0xC4, 0x04]” 13
send “[0xA0, 8, 0x97, 0x09, 0x1B, 0x00, 0x36, 0x03, 0x00, 0x64]” 13
send “[0xA0, 16, 0x0A, 0xF0, 0x96, 0x1E, 0x0A, 0xA5, 0x1E, 0xB4]” 13
send “[0xA0, 24, 0x00, 0x78, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x0D]” 13
send “[0xA0, 32, 0xC8, 0xFE, 0x3E, 0x01, 0xC2, 0x64, 0x32, 0x0A]” 13
send “[0xA0, 40, 0x04, 0x4C, 0x02, 0xBC, 0x00, 0xE1, 0xFF, 0xF6]” 13
send “[0xA0, 48, 0x3C, 0xB2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]” 13
send “[0xA0, 56, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]” 13
send “[0xA0, 64, 0x00, 0x3E, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]” 13
send “[0xA0, 72, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]” 13
send “[0xA0, 80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]” 13
send “[0xA0, 88, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]” 13
send “[0xA0, 96, 0x54, 0x0A, 0x00, 0x01, 0x82, 0x44, 0x5F, 0xFF]” 13
send “[0xA0, 104,0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]” 13
send “[0xA0, 112,0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]” 13
send “[0xA0, 120,0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]” 13
;Bus Mode Menu
send “m” 13
wait ‘(1) >’