A sneak peek into Kite v2

A project log for Kite : Open Hardware Android Smartphone

Make & 3D print your own phone with sensors, displays, electronics, batteries and antennas. Customize Android and do exactly your thing!

shree-kumarShree Kumar 05/09/2018 at 05:285 Comments

Before reading this post, I highly recommend reading "Design of Kite Open Mobile Platform".

Kite v2 is the upcoming design of Kite.  We are crowdfunding for it on KICKSTARTER  (do look at that page for a quick pitch, but without too many tech details) 

Let’s look at the desirable properties of Kite v2; this is on top of everything that holds for Kite v1:

In short, Kite v2 takes a good design, and aims takes it to the next level.

Design of Kite v2

Let’s start with a block diagram treatment of the design being considered for Kite v2:

Compared to Kite v1, the Core board design has a few major changes.  Let’s run through them.

We get connectors for audio & standard buttons right on the Core.  This is part of the “soldering free” promise for the minimal phone on Kite v2. Pushing the connectors to the core has an interesting side effect: it makes the expansion board truly optional! Any user who doesn’t need the extra electronics can skip it (everyone will still get it as part of the kit, though). We think that the first assembly of a KitePhone for most users will not include the expansion!

Kite now includes add a “smart” battery component.  This component integrates a fuel gauge (and protection circuitry) and a Li-poly cell.  To get an accurate estimate of the state of charge (battery percentage), the fuel gauge is programmed with the characteristics of the cell.  If a user wishes to change the cell, it’s possible to do that.  To get accurate fuel gauging, however, the fuel gauge needs to be reprogrammed. 

Finally, it’s not enough for display & camera connectors to be “generic” (Kite v1).  We need them to be “forward compatible”.  That way, we can upgrade KiteBoard to v3 in the future, while hopefully keeping the same peripherals (hopefully the camera too, but everything else will work 100%).

Kite v2 will include a camera board.  Like the display, an intermediate board is the key to making the connector independent of the actual camera. The camera board is expected to be much simpler than the display board, and extremely compact.

We can reasonably expect to have more displays & cameras over a period of time. To accommodate this, we may need to implement a simple way to detect the peripherals.  Simplest way to do that may be a simple I2C EEPROM on the peripheral boards.

Implementation of Kite v2

Implementation hasn't started yet (depends on crowdfunding), but we are at an advanced stage of design.  Here's what we know...

Kite v2 will be based on KiteBoard v2. KiteBoard v2 will be based on Snapdragon 450 (was Snapdragon 625, but we had to change it) - bringing an across-the-board improvement performance in all areas: 

Support for two independent displays will make things very interesting. A few combinations would be interesting:

The camera on Kite v2 will be much better – around 12 MP with faster auto-focus.  Support for two cameras will make things interesting too.  The camera module in the kit will be usable on both interfaces. 

We are close to finalizing how the “smart” battery must be implemented.  Two parts to this:

You are probably wondering why we need that fuel gauge. Globalization is great.  But for many things, it makes sense to source local.  Batteries are almost at the top of that list.  We want to enable everyone in a reasonable way to use their own batteries.  Many off-the-shelf batteries could be used with Kite – including 18650 Li-Ion batteries.

There are two aspects to getting an off-the-shelf battery to work great for users:

We already know how to do (1).  Using a common fuel gauge helps any user do (2), using tools that are made available by the vendor of the fuel gauge – TI, in this case. A tool to tune a fuel gauge costs around 300$ US.  That’s a great deal for anyone looking to build a custom device of any type…  For common batteries like the 18650, we will provide the fuel gauge profiles ourselves, so everyone does not need to do that.

Additional Periperals for Kite v2

Kite is a “DIY Modular Smartphone” platform.  The selling point of modular smartphones are the lots of “promised” plug & play possibilities.  So, where does Kite stand?

Kite v2 represents a generic design.  With the Raspberry Pi compatible HAT connector on the expansion board, we allow everyone to easily add custom electronics.  Sensors, displays, buttons, actuators, other peripherals are all easy to add.  Users who can do basic circuits are empowered to spin their own expansion board – which opens up exciting possibilities for everyone.  The battery design is very generic too. The antennas were already generic, even in Kite v1.

That leaves the focus on display & camera.  Let’s tackle the easier one first – the camera.   When most people think “camera”, they think “pretty pictures”.  That isn’t necessarily the case.  There are other camera possibilities too, such as:

The USB 3.0 category of cameras are likely to be easy to interface by users/developers themselves – possibly aided by the vendors of those cameras.  However, the other two (and the “pretty picture” cameras) will depend on the proprietary camera interface.  Interfacing such cameras does require a lot of work & expertise. 

Due to the nature of the CSI interface, it will unfortunately remain closed in Kite v2.  We could implement camera-centric requirements – if there is enough demand.  We don’t need to second guess what special cameras our users need, as we rely on our users to tell us what they think is important.  We then assess feasibility & costs.  If an interested group is happy with those, we implement & deliver the feature.  Essentially, the feature becomes a “group buy”.

What about the display, then?  Well, the display interface will be an open interface that we will document.  Interfacing a display is a lot of work - but way less than anything required for a camera.  The number of people who know how to interface displays certainly out-numbers those who can do cameras, at-least in a 100:1 ratio, if not more.  So, the open display interface will be very useful for people.  I imagine that there will be at-least two types of users:

We can make available many types of displays of various size.  Just like the camera, we do this based on demand, feasibility & costs.  Here's a bit of proof - an 8 inch display panel with touch, running with Kite v1. The touch panel is the separate black frame: (trivia: the battery is 6000 mAh LiPoly, and note the wires running from the display board - it's hand wired, zoom in to see them! display is 720p resolution)

Let me state this again, very clearly : With Kite's design, making displays & cameras available as standard peripherals is a market & cost problem, not a technology hurdle. 

I can also imagine (assuming that this project gets successfully funded on Kickstarter), that hackers will take a great liking to the open display interface.  Why so? With our documentation, this elite class will start looking at spare displays available for common phones, and see if they can be made to work with Kite.  Some reverse engineering with an oscilloscope will be required, to figure out which pins are what on the proprietary connector(s) on those displays modules.  If the Linux kernel sources of those common phone are available (yeah, GPL v2, but not every vendor complies), then the necessary software information for bring-up is already in place.  You won’t need a datasheet of the display panel to do the rest… Same goes for the touch panel.  This will be great tidings for everyone concerned.  Next steps: Create a new display adapter board, and ensure both the display & touch work.  Change the case to hold the display (modifiable 3D designs make this a snap).  And go for glory…  Or, sell it on Tindie!  This is not mere theory; I see at-least one MIPI display interfaced on hackaday already: the iPhone 4/4S display.  With Kite available to everyone, that number is sure to go north very quickly...

Here's an openness summary of what we are aiming with Kite v2. Open enough for you ?

A note on the "open hardware" aspect, though.  We will be open source, but fully IP compliant at the same time.  Meaning that partner/vendor/silicon datasheets will be open only if they allow opening it.  We expect our software & documentation to cover the closed parts in a reasonable & helpful way. There will be software blobs for various closed pieces, as is common in Android: GPU, modem, WiFi/BT, camera, sensors (maybe).

In many ways, I can argue that Kite v2 empowers folks interested in the mobile world, in a way much similar to what the Raspberry Pi does in its segment (19 million Pis a couple of weeks back, congrats guys!). Kite v2 gets high-tech into the hands of makers, students, professionals/researchers, startups, educators and discerning consumers, prosumers and even activists (right-to-repair, freedom from various locks, open app ecosystems...).  Kite is the swiss-army knife of mobile computing.  It's an empowering vision for a potentially large user community, who have no access to great technology that is already in everyone's hands!

The Hackaday Prize 2018 contest was announced many days ago.  It took me a few days to convince myself that this project is a good candidate for it.  “Build hope. Design the future” - those lines do apply to this project. Not just in what we do – but in what we allow everyone to do.  When that realization dawned on me, I submitted Kite as my entry to the “Open Hardware Design Challenge”.


honzapatCZ wrote 01/02/2019 at 09:23 point

Where did you guys found that much about hardware development for android ?

  Are you sure? yes | no

speakeasysky wrote 05/23/2018 at 00:37 point

does this mean we will get usb 3.0 with no blobs? Let me know when we can have no blobs on the rest of a phone. Idk why vendors are so weird about some registers and drivers and microcode. It's suspiciously they're all in on it. Since they all have electron microscopes. (Duh)

  Are you sure? yes | no

Shree Kumar wrote 05/23/2018 at 04:11 point

@speakeasysky  USB 3.0 part doesn't have blobs, as fat as I know. Binary blobs are for modem, GPS, GPU, WiFi/BT, camera, audio and maybe sensors.

  Are you sure? yes | no

Joao Ribeiro wrote 05/11/2018 at 11:02 point

Question, and an important one for me at that, will this have or does already have an SDK?

  Are you sure? yes | no

Shree Kumar wrote 05/11/2018 at 16:09 point

Kite v2 will have an SDK. The SDK will be related to hardware access that is non-standard in Android.  The SDK may include parts similar to Android Things.

Question: what do you want in the SDK, @Joao Ribeiro ?

  Are you sure? yes | no