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:
- Minimal phone model must be not require soldering, must be very quick to assemble & disassemble.
- Swapping custom hardware in & out must be easy
- Make a powerful, and more generic kit
- Maximize "open"ness
- Maximize local sourcing possibilities
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:
- Faster octa-core ARM Cortex A53 at 1.8 GHz
- Adreno 506 GPU
- 2 GB LPDDR3 RAM at faster speed
- Faster LTE
- WiFi ac!
- BT 4.2
- USB 3.0
- Two independent displays
- Two cameras
Support for two independent displays will make things very interesting. A few combinations would be interesting:
- 2 LCD displays! The same display module will be usable on both connectors…
- LCD Display + HDMI option. HDMI could mirror the LCD screen, or show something independent.
- Dual head HDMI desktop with Kite!
- Stereo screen of some sort. There is no firm plan for this yet. This will be driven by community requirements.
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:
- Get a customized LiPoly fuel cell of 3000 mAh capacity. Get the shape customized to suit the phone design.
- Use a fuel gauge from a well known vendor – e.g. TI. We can use such a fuel gauge, calibrate & program this to the 3000 mAh LiPoly cell.
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:
- Configure the charger (in the KiteBoard) with parameters that are appropriate & safe for the battery
- Keep track of the state-of-charge of the battery – important to show users the percentage of charge in the battery.
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:
- Cameras that capture raw images for special purposes – e.g. dedicated barcode scanning modules (these generally include special illumination techniques, commonly a laser LED)
- HDMI Input. Idea is to make a HDMI output from another camera, laptop, desktop or anywhere else look like.. a camera feed! This will sure to result in many great use cases!
- Many other special purpose cameras exist, and work over USB 3.0.
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:
- Folks who make a new display work for themselves. A hobbyist/maker doing this is likely to share their results, making them usable for everyone. A professional/startup is less likely to do the same. This category of users may not need much help, given our documentation.
- Users who “want” a display with a certain specification.
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”.