Some Observations on the Mobile Market in India

Living in India has given me a new perspective on a lot of things. Professionally, I’m constantly learning a lot just by seeing how differently people use their phones, and how different the market and ecosystem around mobile is here.

Intex? Karbonn? Spice Mobile? Oppo?

The biggest eye opener has been seeing the number of India-focused brands here in the smartphone market.

In the US, there are global brands like Apple, Samsung, HTC, Motorola, and LG and then a spread of other smaller brands. Here’s IDC’s list of the top smartphone vendors in India last year:

  1. Samsung
  2. Micromax
  3. Intex
  4. Lava
  5. Xiaomi

The market is also full of up & comers like Spice Mobile, and Karbonn, & other Chinese manufacturers like Oppo among many others I probably haven’t heard of.

Windows Phone is still a factor here, and I do still see Blackberrys from time-to-time, though they don’t rank in any public market reports I can see.

And feature phones – J2ME, basic phones… still big in India, too.

I’m Developing Android First

Most of the smartphones sold in India run Android. Android has a 90+% market share in India. Nothing else really is worth talking about, when you’re talking about smartphones.

So, while I personally am a dedicated iOS user, professionally in India, our teams think Android first. This is not the case for our US development teams, where both platforms have roughly equal priority and resources.

In the U.S., Fred Wilson’s 2010 call for Android first was bad advice then (and probably still is now), but the realities of emerging markets like India means doing exactly that. It’s literally the only game in town that matters.

Price is King, But Technology Matters

India is a price sensitive market. Obvious, right? But what I’ve found living here and talking to coworkers is that it isn’t just price that matters, but affordable value. From Ben Thompson’s excellent blog, Stratechery, talking about Xiaomi’s (and others’) rapidly growing customer base in India & China:

These customers are not conservative, or even pragmatists: they are enthusiasts and visionaries who simply don’t have very much money. The proper way to reach them, then, is not to sell them trickle-down technology: they will see right through that, and dismiss it out of hand. Rather, the solution to is develop new business models – indeed, in the case of Xiaomi, a new company – that is built from the ground-up to serve their specific needs.

This, too, is a powerful opportunity: there are far, far more potential customers in developing countries than there are in developed ones, but just because they don’t have much money does not mean they are technological laggards. Indeed, many of these customers are even more advanced when it comes to being mobile first because of the lack of a PC legacy, and they will embrace a brand that lets them live on the cutting edge.

Specs and feature bullets are still huge here, and not just because so many people in India work in the technology sector.

Android is Different Here

That central point, that people want tech but simply can’t afford the flagship devices, means that manufacturers need to find creative ways to manage cost while still offering an overall solid device. This creates subtle differences in user experience that go beyond the speed or feel of the device.

For example, Rs. 10,000 (~$160) is a common marketing cutoff for “inexpensive” smartphones (all phones are sold unlocked and contract free here).1

So, I decided to pick up a Micromax Canvas A1, which cost me about Rs. 4800 (~$75) fully unlocked, got a SIM for it, and have been using it as my ‘free time’ phone when I don’t need work email or iMessage.

It’s not a bad device – performance is fine – and because it’s an Android One device, it runs the latest version of Android. It does have some limitations that impact how we need to develop apps.

First, it’s a 3G phone – no LTE or HSPA+ etc. Even though LTE is coming online here in the cities, the state of the networks, plagued by inconsistent coverage, make this a less significant limitation. App developers already need to think about bandwidth as a precious resource. I’m used to seeing my iPhone on 2G/Edge networks regularly, and I’m not alone judging from our user reports.

The bigger surprise was the limited internal storage. I always found Android fans’ focus on SD card slots odd, but now that I’m running a phone with just 2 Gigs of internal flash memory, I suddenly understand. I went to download an app yesterday and got an error that I was out of space. And all I had on the phone were about 10 reasonably sized apps (the biggest was Facebook, at 150 MB(!). Android does let you move apps and some data to the SD card, so moving apps (when you can2) is the only way to continue installing new apps without deleting other apps.

There are even more subtle issues, some of which are detailed in this blog post at NextBigWhat. It’s a good summary of some of the challenges if you want to target the broadest swath of Indian mobile users.

Of course, you do get what you pay for. While things like Twitter and Facebook run fine, the screen isn’t as nice as the flagship phones. My main gripe, though? The horribly inferior camera.

Photo taken on my Canvas A1:

Canvas A1 Sidewalk Shot

Photo taken on my iPhone 6:

iPhone 6 Sidewalk Shot

No contest, IMHO.

I’m still learning a lot about India, and writing software for Indians (and the world outside the U.S. more broadly – Cricket, rugby, & F1 are global sports). We’re getting close to a few new releases at work, so I’m sure I’ll have more to learn and share soon. And there’s still other things – missed call marketing, the SMS market in India 3, and so much more.

  1. Contrast that to a flagship Samsung Galaxy S6 Edge, which runs for about Rs. 53,000 (~$833), or an 64GB iPhone 6 which runs around Rs. 56,000 (~$880), though on sale at Amazon for Rs. 43,499 (~$684.49) right now.

  2. So, I have an SD card installed, but not all apps allow themselves to be moved to the card (it’s a developer choice to allow this). Why wouldn’t apps allow this? Because moving to the SD card disables things like the app’s widgets. So… you need to focus on app distribution size, then you have to think about the user experience when the app is on the SD card, and parts of your app just stop working. Bottom line: not convinced SD cards are that useful, and rumor has it that Google is moving away from them anyway…

  3. Every company seems to send free text messages for everything. Seriously.

OK, I’m convinced… Must have headphones for heavy travelers

I can’t believe I’m recommending this, being a Bose-hater for most of my adult life, but the Bose QuietComfort 25 Headphones are now my favorite travel accessory. Overpriced, yes. Average-ish sound quality, sure. But the noise canceling is uncanny. Flip the switch and the silence is surprising. Unlike most other noise canceling headphones I’ve tried, these don’t give me a headache. I’ve used them on a few long haul flights at this point (17-20 hours in the air each trip) and they’re comfortable enough that I sleep with them on.

The Sony noise canceling headphones I used to own would give me a headache on a cross country flight. They were so annoying (and others I tried so poor at canceling noise), that I switched entirely to passive noise cancelation, using IEMs that just blocked sound.

That worked well enough, but on these long flights, enough noise gets through that my music needs to be loud enough that the music ends up giving me a headache after 5-6 hours in the air.

So, consider me a convert. If you have to fly as much as I have had to recently, these are worth the investment.

They work really well in the office, too. I’ll still use my PSB M4U 1 there, because the sound quality is better and I have an office with a door. 🙂

Moov: Fitness coaching, not just tracking

41WGe2Sns+L._SL250_We’re flooded with fitness oriented wearable devices from the step/activity trackers like the Fitbit and Up to smartwatches like, of course, the Apple Watch. Some phones even have dedicated activity tracking chips.

The sad reality, though, is that most of devices are basically the same. They do step tracking. A few add some extra dimensions of motion capture, or have some additional functionality like sleep tracking, or online tools for food tracking. They’re all about quantifying your day and they’re mostly passive companions. You may get a short vibration when you hit some goals, but that’s kind of it.

There are exceptions, and one of them is Moov. A few years back, I preordered it based on a tweet from a friend and one feature I hadn’t seen before: it pairs with dedicated smartphone apps to provide live feedback during workouts.

So far, they have dedicated apps for Running/Walking, for Cardio Boxing, Swimming, and the trendy 7-minute workout (with Cycling on the way).

I’ve been using the Running app as I come back from my shin splints injury. As I run, the app provides feedback on my balance, stride frequency, and posture, making sure I’m landing without too much force or jarring of my leg. So far, the runs feel better on my legs when using the app, and it’s been good about keeping me from running to fast or too aggressively (it talks to you to stay within a certain stride frequency). It’s simple, but very useful.

I also tried the 7-minute workout app for the first time today. The workout is based on the workout the NY Times covered in The Scientific 7-minute workout. It’s not the exact same workout, instead using a simpler set of exercises with multiple reps. It did feel good this morning – the muscles I don’t workout regularly were slightly sore, and the app’s feedback and rep counter worked well.

Every time I use this device, I’m impressed. I’m surprised it doesn’t get more buzz, to be honest. It’s way more useful than any other fitness tracker I’ve tried. Totally recommended.

An iPad, a Mac, and a

I found myself watching some players on this weekend playing Vainglory. It’s pretty much the only game I play these days and has been for months.

This was the first time that I could remember actually watching Twitch streams naturally – not checking it out because it was in the news or whatever. I actually found it helpful to my gameplay, and it was mildly entertaining. Most of you are probably rolling your eyes now, but you can kind of think of this like watching the Golf Channel. If you’re a golfer, you’ll watch because it makes you better. If you’re not a golfer, it’s the most boring thing on your TV.

That’s a big part of Twitch – hanging out, learning from, and socializing with people who take a specific game (or gaming) as seriously as you do.

What’s interesting about Vainglory is that it’s an iOS game. On Twitch, a big part of the experience is watching people play the game. So, they’re streaming live from their iPad (usually with other video, e.g. a webcam looking at them) on screen too.

So, the question is how people stream from the iPad. Today, I snuck in an hour here and there to try and get it setup.

I was prepared to write a nice post with sample videos and screenshots of how I was able to successfully stream and record Vainglory from my iPad, but sadly none of the attempts were good enough to share.

At this point, my conclusion is that streaming from an iPad using a Mac is frustrating and unnecessarily complicated. It involves installing a device driver from Github (to capture audio), running either an Airplay server or routing video through Quicktime, and installing a broadcasting app that’s sparse on the on-boarding.

I gather that the situation is lot better on the Windows side of the world, but I’m amazed that Twitch is so popular considering how barebones the streaming software options are. Even the Windows options, while better, look to involve a few steps.

I’m surprised Twitch doesn’t invest directly in the stream creation experience. They do get Twitch support embedded directly in specific games – that seems to be their avenue of choice – but those integrations tend to be very specific to each game and lack the features that make the good Twitch streams interesting (PIP, the ability for player voiceovers, etc).

On the upside, I learned that Quicktime Player can record video (including sound) off of an iOS device with nothing more than the lightning cable that comes with the device. That’s going to come in handy.

Practicing RC flying with a simulator

One of my recent obsessions has been RC flying. So far, I’ve played with relatively cheap quadcopters and helicopters, but I’ve managed to crash every single one enough times to end up with a pile of damaged copters. So, I basically gave up on the hobby thinking I didn’t have the time (or budget) to really get into it. I felt like I either needed to spend to get an advanced quadcopter that auto-leveled and could correct for novice piloting, or really dedicate more time than I had to do the fly, crash, repair, charge cycle required to practice.

Recently, though, I discovered the world of foam board RC planes. These are planes built from cheap – like under $5 cheap – foam board using either custom plans or downloaded plans over the internet. Pre-made kits for the body of the planes can be found from places like Flite Test for under $40. These kits contain pre-cut or pre-scored foam board and the hardware required to connect to your electronics and servos. Flite Test has a great series of ‘swappable’ designs that make it easy to share batteries and electronics between several planes.

I found out about this via one of Flite Test’s videos featuring planes modeled after characters from Planes: Fire & Rescue, which happens to be my son’s current movie obsession. The models are amazing, and when they mentioned foam board, I had to see what it would take to build one with my son.

As I was trying to figure out if I could build one of these with my son, I discovered that I can now buy hardware that lets me practice RC flying using a flight simulator with a real RC transmitter. So, I could actually practice flying without all the crash, repair, charge steps in between flights.

I finally snuck in an hour to set this up at home and the results were awesome:

Aerofly RC 7 10th flight from sujal shah on Vimeo.

It’s hard to tell from the video, but I’m flying a simple RC plane in the simulator using a transmitter wirelessly. The sim is focused on RC flying, which is a little different than a typical flight simulator. The big difference is that the sim simulates operating the plane from the ground, not from inside the cockpit. This lets me practice the hardest aspect of this for me, which is maintaining an understanding of the spatial orientation of the plane and my controls. In other words, when the plane is flying toward me, I need to remember that pushing right on the stick will make the plane turn toward my left (because it’s facing me). That’s really hard for me, especially with my cheap quadcopters where identifying the “front” is tricky in flight.

That’s all the gear I needed to do this:

The connection process is pretty simple. Make sure the receiver is paired to your transmitter before you start connecting everything up. Then, the basic wiring pattern is the Single Line Converter (SLC) connects the receiver to the USB adapter on the computer side. Just connect channels 1-6 on the SLC (or as many channels as your equipment has) to the same channel output on the receiver using the included cables. The slot labeled S on the SLC should be connected to the USB adapter. Then just plug the USB adapter into the computer and fire up Aerofly. It will detect the USB connection and walk you through the setup process. It was pretty painless, though I recommend reading the instructions that come with the Ikarus stuff (for example, pay attention to connect + pin to + pin, – pin to – pin, etc. between the SLC and the receiver – the instructions contain the diagrams you need to make sure this is done right).

There were some gotchas in my particular setup: the Orange receiver doesn’t label the pins by channel number, but they turned out to be in order. Next, the Spektrum’s channel 6 isn’t in use by default. Aerofly likes all the channels to be calibrated, so I had to figure out how to enable that channel on my transmitter so I could finish the calibration without a warning message (it is a harmless error, but I was being picky).

Once that was done, I was able to get a plane up in the air, which I promptly crashed. I was thrilled, though, and am now just trying to do a simple racetrack around the airfield and then land. So far, I haven’t succeeded. 🙂

My favorite iPhone case

For the last two years, I didn’t use a case for my iPhone. I really love the look of the 5 & 5S, and didn’t want anything to cover it up. Of course, by the end of the year, the screens had dozens of fine (and one or two not-so-fine) scratches. Really annoying.

So, for the iPhone 6, I decided I’d keep an eye out for a case that I could live with. A few weeks ago, I ran across an ad for the Twelve South SurfacePad (Amazon link). It looked perfect: a minimalist case that looks great and could help simplify my wallet (a separate mission I’m focused on before our move to India).

I bought and received the case last week directly from Twelve South. So far, it’s been great. I’ve included a few photos below. It’s easily the best case I’ve seen for the iPhone 6.

The case attaches to the back of the iPhone using a special adhesive that can be reattached multiple times. It took a few tries to get it attached squarely.1 It feels secure.

I love having my license and primary credit card with the phone. I can basically lock my wallet up when I’m traveling, and I rarely need to pull it out otherwise.

It also looks great, and it seems like the leather is breaking in as Twelve South indicates in the booklet they include with the case.

There are two drawbacks with this case. First, the cover can be awkward in two situations. When taking photos, the cover needs to dangle or get folded in the stand mode so that it doesn’t block the lens. When trying to use the phone one handed or as a phone, the case needs to be flipped around to the back (think of the smart cover on the iPad), which makes me slightly nervous about having the cards exposed. They are quite snug in their slots, but as the leather softens, I worry about the slots loosening up. Hopefully the cards will stay securely in their slots.

The second drawback has to do with combining a wallet with the phone. This weekend, for example, I had to use my card outside at a parking kiosk. It was raining, so getting to my primary credit card meant pulling my phone out and exposing it to the elements. Manageable, but not ideal.

Those are both tradeoffs I can live with, though. I really love this case. It looks gorgeous and functions well for me. Recommended.

I included some photos below of the case on my iPhone 6. (photos taken with a Google Nexus 6).

New iPhone case: SurfacePad for iPhone 6
Front of the SurfacePad
New iPhone case: SurfacePad for iPhone 6
Back of the SurfacePad
New iPhone case: SurfacePad for iPhone 6
Inside of the SurfacePad

  1. Truth be told, it’s still not perfectly square, which I only noticed when taking the pictures. OCD sufferers, take note. 🙂

Yeah, I got nothing

(Note: This will likely only be of interest to my local friends and social network buddies. It’s a response to Concerning The Suburbs, Their Raison D’etre, And How It Is Reflected In Their Planned Public Spaces, prompted by a discussion on Twitter earlier today. If you’re curious, or want the context, go read that first.

So, I’ve been staring at that essay for a good 30 minutes trying to figure out what my thesis is here. So far, I got nothing. I’m struggling because there are two separate arguments being made, intertwined in ways that make them difficult to separate. Here goes my attempt to understand, then respond.)

My impression walking away from the conversation this morning was that Josh had set an unattainable standard by which to evaluate the impact of Blue Back Square on the town of West Hartford. The essay reinforces that impression.

In particular, this rankles:

Compare it to, say, Inman Square in Cambridge, Mass.: It would not do in BBS to have buses passing right through and stopping right in front of the Cheesecake Factory, if those buses ran a route that included, say, the local district court and jail, and nearby housing projects. Nor would it do to have upscale boutiques interspersed with dollar stores and appliance repair stores and bodegas, the way you might see in a secondary commercial center in Brooklyn, like 5th Avenue in Sunset Park, or even on Manhattan’s Upper East Side.

I’d quibble on the details here. I consider Blue Back to be part of West Hartford’s town center. In that scope, most of the objections of how Blue Back fosters economic exclusivity fall apart. Major bus lines run right through WH center and they go right into Hartford, past the court, even – take the 60-66. It’s not like that bus stop is prohibitively far, it’s two mini blocks east of BBS.

Businesses are not corner bodegas, but they’re mid-tier chains & indy businesses at the low end: CVS, Harry’s Pizza, Cosi, Gyro Palace, Moe’s, Subway, Ben & Jerry’s, etc. Sure, there are more upscale places, but there’s more variety than you’re allowing for.

But this is all debating the details.

If you’re arguing Blue Back could have a more economically diverse customer and visitor base, I don’t disagree with that. But I also think it’s hard to argue that it hasn’t brought in more economic diversity and created more unpredictable interaction than what was there before it. In that light, and measured against any development project in the state, I think it’s done a net positive for the area and for the town on the diversity front.

Held up to the ideal of something like Inman Square or Brooklyn, the products of organic and centuries long growth of two major American cities and their environs… well, sure, it’s not going to measure up in terms of economic diversity and retail/residential integration. But what does?

It would help to have an example of a development plan or project that provided the kind of new urbanism or whatever you’re calling this that you’re describing. I don’t know of any, especially any that have done a better job than BBS that didn’t already start in already dense construction.

And it would be nice to talk about what urban means, and what counts as “authentic urban” — I don’t agree with the narrow definition because I don’t think it’s historically valid (I also am not well educated on this topic to make the argument here… so, worthy of a conversation, I think, perhaps with others).

Why we stopped using Trello, even though we love it

I tweeted this earlier …

… which prompted a few people to ask, “Why’d you stop using Trello?”

The answer is pretty specific to us and our particular organizational inertia (such as it is for a small company like us), but here it is:

We liked Trello a lot, but we ended up switching to use Github issues. While it’s somewhat inferior to Trello, it had two features that made it compelling.

  1. We use Github for source control, and Trello really doesn’t integrate with that workflow at all. For example, we can manage Github issues from our commit messages, reference them, and comment on them in a place we already have to look.

  2. We use Campfire, and Trello didn’t have any integration with it. We could’ve built that, but Github already has it, and so laziness won the day.

In truth, Github issues is pretty nice, too, so it’s not like we’re giving up that much.

I did like Trello’s visibility and the visual metaphor. It also is a lovely app. The other great thing about it was that it was easy to throw it up on the screen and use during meetings. Github issues (or any bug tracker, really), is merely OK projected.

Anyway, all of this might be moot now. Someone did the work we didn’t want to do, and built a service that integrates Github & Trello. We may have to take a look at this. 🙂

I was on the radio

I was a guest on today’s episode of Where We Live on WNPR. The topic was on Connecticut Startup Culture. Give it a listen, and let the mocking commence (“Check it out, it’s awesome!” groan).

One thing we didn’t get to on the show (and, let’s be honest, there are probably a dozen conversations wrapped into this wax ball of a topic), was the demographic differences between CT and NYC or San Francisco. My sense is, and this is definitely anecdotal, that our mix of entrepreneurs in CT is probably a little older than the folks in those other cities. Probably doubly so in tech.

Before the show, I joked to Gitamba that the prototypical ramen diet isn’t really an option when you have a child at home. Accelerators like TechStars or Y Combinator target that frenetic pace and schedule. That makes sense for their programs, and there’s nothing wrong with that, but it might not be the only or best model for areas still building up their entrepreneur base and culture.

Anyway, just an extra thought on the way out the door of the station.

Sensors, LEDs & iPhones, oh my!

Over Christmas, I hacked together my first hardware/software project. It’s been a long time since I’ve picked up a soldering iron, let alone built something worthy of sharing. It turned out to be a fun little project.

Cause, effect, agency

I got the idea to do a project over Christmas while looking for toys for my son for Christmas. I wanted to find something that would teach him simple cause and effect relationships where he could cause something (e.g. clicking red & blue blocks together) that produced an observable effect (e.g. the blocks changing color to purple). I hoped that I could prime some interest in science. I also really wanted to instill a sense that he can make things happen for himself.

For a two year old, I basically came up empty.

But for a kid slightly older, we’re living in a golden age of hackable creativity. We have 3D printers that are slowly becoming affordable. The Internet makes finding (and sharing!) instructions on building everything from customized furniture to undersea robots easy. Open source and community based tools are getting cheaper and easier to use every year. Several businesses have grown up offering easy instructions and tutorials. (Come on, these look cool, don’t they?)

So, I decided I’d use the four-day Christmas long weekend to hack together a hardware prototype (with help from my wife’s nephew).

The project

For the project, I set out to build a simple thermometer & barometer that I could check from my iPhone. I also wanted it to have some visible indicator that would be fun to look at so my son could check it. As a beginner, I also wanted something I thought I could pull off.

My project centered around an Arduino microcontroller board. An Arduino is an inexpensive open source “electronics prototyping platform” that can be programmed using nearly any computer and a USB cable. Because it’s cheap and freely documented, people have hooked up dozens (if not hundreds) of sensors & other electronics to it.

I had an old kit laying around that I rediscovered after I returned to Fanzter and started working with our resident hardware hacker extraordinaire, Josh. I recommend starting with a starter kit if you’re just getting into electronics projects. You can get several decent options from Adafruit, MakerSHED, or Sparkfun. I have an older Sparkfun Inventor’s Kit, but any from these three vendors will do.

You should go through a few of the tutorials before trying the rest of this to get familiar with the basics of Arduino programming.

Here’s the full parts list:


In addition, if you want to get an app running on your iPhone, iPad, or iPod Touch, you’ll need to have a developer account with Apple.

The build out is really simple. The BLE shield snaps onto the Arduino board basically extending the pins and sockets on the Arduino through itself. Just make sure you line up all the pins and sockets. More details at RedBearLab if you want them.

For the LED matrix and the temperature sensor, there’s a little soldering involved. For both the soldering and the basic wiring setup, I followed the instructions in Adafruit’s tutorials:

Make sure you position the LED matrix correctly before soldering it. I got multiple warnings about that from people.

Here are the results of my soldering job:

Arduino project images

I’ll admit, I’m proud of how well that came out considering it was my first soldering project in 20 years.

Arduino project photo The only difference in my final wiring from the two tutorials is that I hooked the matrix CLK and DAT pins to the same rows containing the CLK and DAT lines from the Arduino to the temperature sensor. In the picture at left, those are the green and orange wires (Click through for a larger view). This works because they both speak a protocol called I2C and have different addresses. [1]

For power and ground, I used the breadboard instead of hooking the sensor or backpack directly to the Arduino board. This is standard, and what the kit tutorials encourage. Just thought I should mention it, since it’s not directly mentioned in the two Adafruit tutorials above.

The next step is programming the Arduino. Rather than walk you through all the details, here’s the source code. Feel free to fork the project and mess around. I’d appreciate any bug fixes if you have them. To use the source code, you’ll need to install the Arduino software & the Ino tool. I used Ino so that the github repository would have everything you need. To run the project, launch Terminal, then type ino build and then ino upload to get the project onto your Arduino. If you want to see the serial output, you can use ino serial -b 57600 to get that on your terminal screen.

I also have the iOS code available if you’d like to play with that. You’ll need to be comfortable with iOS development to use this. I may submit a version to the store if there’s enough interest. Let me know.

That’s it. The finished wiring looks like this:

Arduino project images

When lit up, it looks something like this (only 2 readings are displayed – normally there are 8):

The arduino end of this, the simple temperature station.

The iOS app is really simple:

Weekend hack: arduino weather station talking to iOS app via BLE. Boom.

Drag up to trigger a connect or disconnect. Eventually, I’ll add a pull down to trigger a temp refresh. Otherwise, it polls every minute.

Known issues

The code isn’t perfect and, as I get free time, I’m still cleaning up a few things. Here are some known issues:

  • Bluetooth reliability: For some reason, the iPhone doesn’t seem to disconnect and/or reconnect properly to the device. Pressing the reset button on the BLE shield usually fixes it, which makes me think there’s something wrong in my code.

  • Memory usage: So, the main challenge programming an Arduino is that the device only has about 2K of RAM for the sketch. Yes, that’s two kilobytes. It’s a challenging environment when I’m used to phones that have 256-512MB RAM (or more). My code is definitely not particularly optimized. The program did run out of memory regularly. I think it’s stable now, but it’s not as good as I think I can get it.

Next steps

I’m going to try and hook it up to a Raspberry Pi and put it in an weatherproof enclosure so I can leave it outside. My other goal is to change the LED Matrix to an LED strip like this so I can make it look like an actual thermometer.

I’ll update this with photos if I get that far.

Hope that helps someone out. It was a fun project, and I’m looking forward to working on this more.


1 I2C is a simple two-wire interface to hardware components. I2C allows the Arduino to control multiple devices over just two pins. The Wikipedia page has the gory details, but just know that each device has an address which has to be unique, and then you just wire them up in parallel. The LED Matrix backpack that Adafruit provides provides an I2C interface to the LED matrix, and the Bosch sensor comes on a board that also speaks I2C, so all the work is basically done for you.

That’s more detail than you probably need, but I thought it was neat.

Update: Two corrections above, both minor but notable. I accidentally described an Arduino as a microprocessor instead of microcontroller, but then Josh pointed out that it’s really a whole platform because the microcontroller is the specific chip at the heart of the Arduino. It’s a significant detail when you get more advanced because different versions of the Arduino might have different microcontrollers at the heart of the platform.

The other is how I described the I2C wiring in the footnote. The sensor and the LED matrix are wired in parallel, not series. I had a feeling that was the wrong word, but forgot to look that up. Minor detail, but again significant for deeper understanding.

Sorry about both of those. They’re fixed above.