We have moved to a new Sailfish OS Forum. Please start new discussions there.

[TheOtherHalfs] Is it possible to stack OtherHalfs? [answered]

asked 2013-12-26 23:11:50 +0200

LaruX gravatar image

updated 2013-12-29 10:49:59 +0200

Is it possible to stack otherhalfs? Definition of the i2C allows it, so are there any other limitations?

What possibilities/use cases you can see for stacked otherhalfs?

edit retag flag offensive reopen delete

The question has been closed for the following reason "the question is answered, an answer was accepted" by LaruX
close date 2014-01-12 23:09:36.721098


probably not, but that would be really good... the closest people get is to make a cover around the phone+TOH

AL13N ( 2013-12-26 23:13:23 +0200 )edit

Added "skunkworks" tag as this seems what @Stskeeps intended.

pnuu ( 2013-12-27 00:19:18 +0200 )edit

3 Answers

Sort by » oldest newest most voted

answered 2013-12-27 00:13:55 +0200

simosagi gravatar image

So far only two OHs have been published and they are obviously non-stackable :)

Most OH will be of the same type, i.e. basically 'smart' back-covers.
However, I do see the possibility for a class of 'stackable OHs', which are not covers but frames that are 'sandwiched' between device and back-cover.

For instance, the mythical hardware keyboard could have this shape, an 'extra-battery OH' could be just a frame to allow a thicker battery, and a 'dock OH' could be a frame that basically just extends the internal power+i2c contacts to an external strip on the bottom device edge.

edit flag offensive delete publish link more


Thank you for your excellent answer!

LaruX ( 2013-12-27 00:26:48 +0200 )edit

IHMO the middle frames would be too thick to fit on the back of the phone AND on the inside of TOH. if the back covers were more skewed in design (in both phone and TOH) then this would be feasible.

AL13N ( 2013-12-27 00:27:35 +0200 )edit

answered 2013-12-27 00:25:53 +0200

Yes, I guess from a technical POV; wait for the TheOtherHalf documentation to be published to be fully confirmed.

This isn't skunkworks as it's clearly possible within less than 6 month time frame and hence belongs in the here and now :)

edit flag offensive delete publish link more

answered 2014-01-03 21:08:43 +0200

zeta gravatar image

updated 2014-01-03 23:58:52 +0200

AL13N gravatar image

It would be possible, but several things needs to be taken care of. Here the list of what comes to my mind, I can forget something or be wrong, don't hesitate to correct me.

On the mechanical side, it needs to have both the thing that clip to the phone, and the holes like in the phone for the next one to clip into. Doing so might require the other half to be quite thick, which would lead to a ticker phone. Maybe a design can be found to be thin enough and strong at the same time to hold everything.

Electrically, the I2C bus allows to have several chips on the same bus, bus they can't have the same address. That's the reason why most I2C chips have address selection pins (tied to ground or power to change the address). If several other half are stacked, then you need one of these solution:

  • each of the stacked other half has a different address by default
  • give a way to change the I2C address of the other half, so that the user can change it so that only one OH has a given address.

By the way, a single OH can also embed several chips (like a matrix keyboard decoder + a PWM output extender to control backlight). As it is by design it is easy to have differents address on a given OH, but makes it more complex to have several OH (as this leads to more addresses uses). The interrupts line would also need to be shared (only one input availlable on the Jolla), so when an interrupt is trigger, the phone would need to check all other halfs to see which one emitted it. Lastly, being the only one on a bus means you can use it a 100%. If there are several other half, then they need to share the bandwidth, and some other half may not work perfectly with a limited bandwidth.

Finally, on the software side, from comments on talk.maemo.org, it has been found that when OH is clipped, an eeprom at a specific address on I2C is read. This probably means (to be verified when OH developer guide will be available) that the software expects this eeprom to contain data like what this other half is, and what program/driver does the phone needs to run/load to use it (like on beagle bone capes). Having several other halves stacked would need to change this behavior as it would then need to read one eeprom per OH (with needs to be at different addresses), or having the user to do this by hand (asking the main I2C chip on the stackable OH that have no eeprom still allows to find out if the OH is there or no, by looking at the acknowledge bit, so it may be a one time only user action).

So there would be a lot of work needed but can probably be done. However this is not something I expect to see from a third party manufacturer, only from tinkerers.

If someone has other information about this or can spot errors, please comment and I will correct this message.

edit flag offensive delete publish link more

Question tools



Asked: 2013-12-26 23:11:50 +0200

Seen: 448 times

Last updated: Jan 03 '14