Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request]: Expose an I2C interface for Heltec Mesh Node T114 #4605

Closed
todd-herbert opened this issue Sep 1, 2024 · 17 comments · Fixed by #4745
Closed

[Feature Request]: Expose an I2C interface for Heltec Mesh Node T114 #4605

todd-herbert opened this issue Sep 1, 2024 · 17 comments · Fixed by #4745
Labels
enhancement New feature or request

Comments

@todd-herbert
Copy link
Contributor

todd-herbert commented Sep 1, 2024

Platform

NRF52

Description

(Opened on behalf of LupusWorax on the Meshtastic Discord server. I don't myself have this device)

The one I2C interface currently used by Heltec Mesh Node T114 is connect directly to the PCF8563TS RTC (?)
The pins (P0.26 and P0.27) are not exposed via the headers or the jumper connectors.
If I understand it correctly, the NRF52840 datasheet suggests it should be possible to define a second I2C bus.

Could we create a second I2C bus, mapped to the device's header pins? Are there any technical reasons why this wouldn't be possible or would be unwise?

@todd-herbert todd-herbert added the enhancement New feature or request label Sep 1, 2024
@lyusupov
Copy link

lyusupov commented Sep 1, 2024

The one I2C interface currently used by Heltec Mesh Node T114 is connect directly to the PCF8563TS RTC (?)

image image

@todd-herbert
Copy link
Contributor Author

Ah I had a funny feeling I'd heard that the RTC was actually populated on the boards that were being shipped. If it's not, it might be an option to just remap the pins for the first I2C bus? Although there could be an argument for leaving that first I2C bus where Heltec has defined it too, in case that RTC does get included in future revisions?

@lyusupov
Copy link

lyusupov commented Sep 1, 2024

Heltec have borrowed mapping for most of nRF52840 GPIO pins from LilyGO T-Echo to ease porting of the firmware.
RTC and FLASH are using the same GPIOs as the T-Echo does.
Heltec just decided to save some money on the components that they think are not in use.

@thebentern
Copy link
Contributor

I don't myself have this device

Can you request a couple in the budget room? Probably any of the other Heltec Vision Master hardware missing in your inventory as well.

@lyusupov
Copy link

Ah I had a funny feeling I'd heard that the RTC was actually populated on the boards that were being shipped.

The board delivered to me yesterday has neither RTC nor SPI FLASH.

image

@HarukiToreda
Copy link
Contributor

ed to me yesterday has neither RTC nor SPI FLASH.

According to Heltec, these are installed upon request when you place the order.

@todd-herbert
Copy link
Contributor Author

I'm definitely going to attempt to set up a second I2C bus next week when my T114 arrives. If it turns out to be straightforward, it could be good future proofing. Otherwise, one user reported already that remapping the first bus works fine.

@lyusupov
Copy link

lyusupov commented Sep 14, 2024

According to Heltec, these are installed upon request when you place the order.

Nether Heltec own Store nor AliExpress source give an option for RTC and/or SPI Flash:

Heltec online Store



Heltec Store on AliEXpress

@todd-herbert
Copy link
Contributor Author

todd-herbert commented Sep 14, 2024

I realize that there is currently no option available when purchasing through the store. @HarukiToreda has spoken directly with Heltec staff though. If I understood correctly, the components can be populated at customer's request. It just strikes me as good future proofing to explore leaving a set of I2C pins routed to that pad, so long as it doesn't end up causing a hassle. I haven't looked into the option yet but will when my hardware arrives this week. If there is a technical reason that this a bad idea though (which it quite possible, I'm no expert!) then it probably would be wiser to just remap the existing bus instead.

If we do get a confirmation from Heltec that they have no intention to ever populate these for general sale, it would also make sense to remap the bus.

Or maybe I'm over-thinking this all?

@HarukiToreda
Copy link
Contributor

future proofing is certainly a good idea, currently there is no use for flash on an nrf board, but having the ability to request it once it is needed will make developing new features possible. I agree with @todd-herbert

@lyusupov
Copy link

If I understood correctly, the components can be populated at customer's request.

It is not a very smart behavior to interpret words "... can be populated at customer's request ..." to a certain product's batch of few hundred units been already manufactured and packaged for retail sales purpose. Nobody is ready to send them back to factory in order to solder few extra components on the double sided PCB.

Words "... can be populated at customer's request ..." have a chance to be applied to a new batch of this product to be manufactured in the future, provided that

  • the customer is ready to pay for the full batch or
  • the customer can guarantee that this specific batch has a potential to be sold out by Heltec within a reasonable time frame.

@HarukiToreda
Copy link
Contributor

If I understood correctly, the components can be populated at customer's request.

It is not a very smart behavior to interpret words "... can be populated at customer's request ..." to a certain product's batch of few hundred units been already manufactured and packaged for retail sales purpose. Nobody is ready to send them back to factory in order to solder few extra components on the double sided PCB.

Words "... can be populated at customer's request ..." have a chance to be applied to a new batch of this product to be manufactured in the future, provided that

  • the customer is ready to pay for the full batch or
  • the customer can guarantee that this specific batch has a potential to be sold out by Heltec within a reasonable time frame.

Heltec is notorious for making various iterations to their devices when they first come out, this has been seen on all previous boards they've released, from personal experience i can say with certainty that preparing for possible additions listed on their schematic diagram is the way to go. Just because your current boards do not have it does not mean they won't in future ones.

Not doing so will cause various version of boards in the meshtastic firmware that can be avoided, see as an example Heltec V3/v2, tracker v1.0/1.1. Vision master E290 V1.0

If they don't add the chips, nothing is lost, but if they do add them, users may already be using other devices attached that may break on future firmware updates.

@todd-herbert
Copy link
Contributor Author

todd-herbert commented Sep 14, 2024

If they don't add the chips, nothing is lost, but if they do add them, users may already be using other devices attached that may break on future firmware updates.

That was all I was thinking too, although to be fair if we did have to reconfigure for a scenario like this at some point, it probably wouldn't be a breaking change that splits a hardware variant.
At least, hopefully.

I remember talk to Mark Birss on Discord too and he did suggest that if a board revision does come out, there could certainly be other changes which could force a variant split.

Just thinking out loud!

@lupusworax
Copy link

Thanks @ todd Herbert for the test Firmware file. I2C seems to work accordingly
1726075673889
.

@todd-herbert
Copy link
Contributor Author

Oh yeah, I built that a week or two ago, right? Was definitely just a quick test at that stage. Good to see there weren't any other issues lurking though.

@todd-herbert
Copy link
Contributor Author

todd-herbert commented Sep 23, 2024

@lupusworax just be aware that the pin mapping has changed slightly from that test build

  • SCL P0.13
  • SDA P0.16

I'll make sure to follow this one up with some docs in the near future. Wait until we know the future of the device?

@lupusworax
Copy link

@lupusworax just be aware that the pin mapping has changed slightly from that test build

  • SCL P0.13
  • SDA P0.16

I'll make sure to follow this one up with some docs in the near future. Wait until we know the future of the device?

Got it Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants