Please login or register.

Login with username, password and session length

Author Topic: XTB series firmware  (Read 2644 times)

JeffVolp

  • Moderator
  • Hero Member
  • *
  • Helpful Post Rating: 124
  • Posts: 2307
    • XTB Home Page
XTB series firmware
« on: June 01, 2025, 11:58:50 PM »

With just over a dozen of the XTB-523 left now, I'm contemplating releasing the PIC firmware for all units.  All schematics and parts lists have been online for years.  With also the firmware owners should be able to maintain their units into the future.  Is there any interest in the source code, or just the final binary file?

Jeff
Logged
X-10 automation since the BSR days

bkenobi

  • PI Expert
  • Hero Member
  • ******
  • Helpful Post Rating: 24
  • Posts: 2091
Re: XTB series firmware
« Reply #1 on: June 02, 2025, 11:06:10 AM »

Unless the source is significantly more difficult to share than just the binary, having both available seems like a good option to have.  I can't see myself modifying mine, there is probably at least someone out there that would like to see under the hood.  If you are releasing the code, does that mean you don't intend to support or release any future updates?  I don't know what sales look like but imagine X10 doesn't move much product these days so supporting products would be similar.

JeffVolp

  • Moderator
  • Hero Member
  • *
  • Helpful Post Rating: 124
  • Posts: 2307
    • XTB Home Page
Re: XTB series firmware
« Reply #2 on: June 02, 2025, 05:14:29 PM »

I can provide both files, but you will need Microchip's MPLAB to modify the source code.  I used version 8.76.  There is some setup that must be done before compiling, but I don't remember the details anymore.

In the coming weeks I will upload the final versions of both source and binary files, and will link them off the Firmware page.  I will not be supporting any future changes to this firmware, but I will continue to supply replacement or spare PICs for the foreseeable future.

Jeff

Logged
X-10 automation since the BSR days

toasterking

  • Hero Member
  • *****
  • Helpful Post Rating: 12
  • Posts: 352
  • We adore chaos because we love to produce order.
Re: XTB series firmware
« Reply #3 on: June 07, 2025, 05:37:54 PM »

Jeff,

I think it's incredibly generous of you to share the binaries and source code as open source.  I've always been curious about how the firmware works, though I don't expect to understand a lot of it.  If you are releasing it anyway, I would love to look through it.  I've already added the rest of the XTB series documentation to my hoard in case it ever disappears from the Web.  ;D

It's been a thrill just experimenting with and using your products, and I still use the XTB-IIR, XTBM Pro, and XTB-232 all the time.  I see them as essentials to any medium- to large-sized X10 installation.  They are more stable, efficient, and feature-complete than any other equipment in their class.  You've supported, and manufactured, these products for far longer after discontinuing them in earnest than any company whose main goal is profit ever would.  You've also made tweaks every time you've found any shortcoming that affects <1% of the user base, and spent far more time helping customers (and non-customers) with their systems than could have been economical for you.  It's been clear from the beginning that this is a labor of love that you put your heart and soul into, and I will always be grateful that we have had you and the XTB series to lean on for help with so many aspects of this hobby.  I can't see anyone else putting in as much effort as you have, but I would love to see these products live on for as long as they possibly can, even if you're not working on them anymore.
Logged

JeffVolp

  • Moderator
  • Hero Member
  • *
  • Helpful Post Rating: 124
  • Posts: 2307
    • XTB Home Page
Re: XTB series firmware
« Reply #4 on: June 11, 2025, 12:40:51 AM »

Thank you very much for the feedback.  Yes, it was definitely a labor of love for well over decade.  Total was 5573 units.  Subtracting the units I kept for myself and the as yet unsold XTB-523's, there are about 5550 units out there.  I figure I assembled well over 5000 myself.  Sales peaked October through March, and I spent the remaining months developing firmware.  I remember the XTBM-Pro took 2 summers for the firmware development.

This is on my to-do list, but there are a few other tasks that have superceeded it.  Here is a teaser:

  https://jvde.us/firmware/xtbr_114.asm

Eventually I will upload the final firmware versions of all devices both in binary and source code.

Jeff

« Last Edit: June 11, 2025, 12:43:32 AM by JeffVolp »
Logged
X-10 automation since the BSR days

bkenobi

  • PI Expert
  • Hero Member
  • ******
  • Helpful Post Rating: 24
  • Posts: 2091
Re: XTB series firmware
« Reply #5 on: June 11, 2025, 09:49:13 AM »

That is about 10x more units than i expected. Very impressive and proof that if you make a quality product (far better than OEM) users will buy it.

I recall there was an upgrade for the XTBM to a pro model. Was that a firmware update only or did hardware on board change too?  I would have upgraded but since the XTB-IIR made everything so stable i never needed to.

JeffVolp

  • Moderator
  • Hero Member
  • *
  • Helpful Post Rating: 124
  • Posts: 2307
    • XTB Home Page
Re: XTB series firmware
« Reply #6 on: June 11, 2025, 11:13:05 AM »

I recall there was an upgrade for the XTBM to a pro model. Was that a firmware update only or did hardware on board change too?  I would have upgraded but since the XTB-IIR made everything so stable i never needed to.

The original PCB did not support the Pro because that uses a different PIC.  That was not yet available when I designed the XTBM.  It was supposed to be backward compatible with the original PIC, but accessing some of the "guts" required a different pinout.  I revised the PCB in 2011 to support the new PIC.  If you have one of the later PCBs, it can be updated to a Pro, but requires some hardware changes - added switches, resistors, and the backlit LCD.

Drilling holes for the switches in the front panel is almost impossible without a jig, and I no longer have that.  Last year someone wanted to build a Pro for himself, and then planned to make another bunch available for sale.  He bought my left over components and everything needed to build another 10 units.  I shipped him my jig to drill the front panels.  But after that he just disappeared, and has never answered any of my emails since.

For years I offered to upgrade a XTBM to a Pro for just over the price difference between the two.

BTW, there were about 1650 XTB-IIR's made.

Jeff
Logged
X-10 automation since the BSR days

JeffVolp

  • Moderator
  • Hero Member
  • *
  • Helpful Post Rating: 124
  • Posts: 2307
    • XTB Home Page
Re: XTB series firmware
« Reply #7 on: June 11, 2025, 01:01:22 PM »

I've already added the rest of the XTB series documentation to my hoard in case it ever disappears from the Web. 

I renewed the website for another three years in February 2024, so it will remain available into 2027.  I don't know about after that.

Jeff
Logged
X-10 automation since the BSR days

toasterking

  • Hero Member
  • *****
  • Helpful Post Rating: 12
  • Posts: 352
  • We adore chaos because we love to produce order.
Re: XTB series firmware
« Reply #8 on: June 15, 2025, 09:51:02 AM »

Here is a teaser:
I started with BASIC in 1988 and have used higher-level languages since then.  I have never gone the opposite way and worked with assembly.  But your source is so insanely well-commented that I think it would make a good study guide, even though you're working close to the metal and I can tell your code is very optimized.  I am actually really excited about this!

BTW, were all the remarks already in the code from 2019, or did you recently spruce it up for our benefit?
Logged

JeffVolp

  • Moderator
  • Hero Member
  • *
  • Helpful Post Rating: 124
  • Posts: 2307
    • XTB Home Page
Re: XTB series firmware
« Reply #9 on: Today at 01:10:50 AM »

Here is a teaser:
I started with BASIC in 1988 and have used higher-level languages since then.  I have never gone the opposite way and worked with assembly.  But your source is so insanely well-commented that I think it would make a good study guide, even though you're working close to the metal and I can tell your code is very optimized.  I am actually really excited about this!

BTW, were all the remarks already in the code from 2019, or did you recently spruce it up for our benefit?

I started with Fortran, and then assembly because I built my own computer before they were commercially available.  I wrote an unbeatable tic-tac-toe program that was stored on paper tape.  Nobody wanted to play it because it always won, so I had to make the first move random to give the player a chance.  After that I did a lot of compiled basic, but stayed mostly with assembly code.  In basic I wrote a lunar lander program using the actual LEM specifications and orbital dynamics.  It was tough to land successfully.

Regarding the XTB assembly code, I counted clock cycles for the critical timing loops, so yes it is optimized.  And no it was not spruced up for publication.  This is how all of them are commented.

This is still on my to do list.  My immediate task involves swapping the battery bank for my emergency solar system.  The battery warning indicator I designed a year ago started beeping a few days ago, indicating that one of the batteries in the 48V system did not match the others anymore.  This time of year there are a lot of short charge/discharge cycles due to the A/C system.  Watching with a meter showed one of the gel cells had significantly higher resistance than the others.  I installed them back in September 2021, so they have gone through over 1300 complete charge/discharge cycles.

I went lead acid back then because lithium was way more expensive.  But now they are almost the same price.  The problem is my charge controller doesn't directly support lithium batteries, but can be programmed to do so.  I didn't have the necessary cable or program, and that controller is no longer sold.  I ordered a cable for one that looks similar, and I hope the program for that one will also work with the old controller.  I should find out in a couple of days.

Jeff
« Last Edit: Today at 01:16:55 AM by JeffVolp »
Logged
X-10 automation since the BSR days
 

X10.com | About X10 | X10 Security Systems | Cameras| Package Deals
© Copyright 2014-2016 X10.com All rights reserved.