EDIT: KiCad now offers pre-compiled official binaries, I recommend using them.

Earlier today I shared compilation instructions for KiCad on Mac OS X.

Most people are probably more interested in just getting the binaries and using them so here they are.

Click here to download KiCad revision 5247 (2014-10-31: Halloween edition!).

I built this version using my instructions. To install it, just de-compress the ZIP file and drag the KiCad.app package to your Applications folder.

You will also need to download the standard component library. Open a terminal and type:

$ cd ~/Library/Application\ Support/
$ git clone https://github.com/KiCad/kicad-library.git kicad
$ cd kicad && touch template/kicad.pro

Please let me know in the comments if you find this package helpful. I think it will not be long before the KiCad project has official binaries. In the meantime, I will update them if needed.

EDIT: KiCad now offers pre-compiled official binaries, I recommend using them.


  • If you are looking for a quick way to get KiCad running, please refer to my newer post with pre-compiled binaries.
  • If the pre-compiled package does not work for you or if you would like to learn how to compile it yourself, keep reading!

I have known for a while now that I needed to learn KiCad. Most open-source projects are now using it (very simple ones to highly complex like the HackRF), it is supposedly quite stable, very capable and the community is growing quicker every week.

On a recent plane ride, I spent several hours watching the excellent KiCad series by Contextual Electronics, hosted by Chris Gammell who is co-host on the most excellent TheAmpHour podcast.

The first videos felt somewhat out of order and you have to hold your breath to put the pieces together but once you are passed Series 1 to 3 everything starts to make sense. I found the videos to be a great balance of speed and density (that is they are very dense and very little time is wasted on easy stuff).

Installing KiCad on a Mac

To start practising I only needed a working installation of KiCad. In the past I have toyed with KiCad in an Ubuntu virtual machine. As much as I love Linux, this is not quite as convenient as using KiCad directly in my Mac and so I spent some time looking for Mac OS binaries yesterday.

Wayne And Layne had announced in March that they would be distributing regular OS X builds. From messages on the Kicad Devel list, I understand that they had to do a lot of work on the code base to get it to run nicely on OS X. Fortunately it seems that work has led to some great progress.

I searched the web for recent KiCad binaries but could not find any. I believe this will change very soon but until then, or if you like to live the bleeding edge, I hope you will find those compilation instructions useful.

Read more

On October 11 2014, I gave a presentation at the Pacificon HAM Radio Convention on the Minima HF Transceiver. I was extremely happy to see a lot of interest for the project and I am now publishing the slides and the handout that I gave to the attendees (sorry I had not printed enough!).

Building the Minima - Pacificon 2014 from Thomas Sarlandie

If you missed the presentation, you can listen to an audio recording:

Read more

Although my Orange Pebble has not arrived yet, I had to start digging around the SDK. As always the first step is to install it on your computer.

Orange Pebble

The official approach might seem a little complicated to some developers and is not available on Windows. In this post, I suggest using Vagrant to set-up a development virtual machine. You will be ready in a few minutes and it works on every platforms.

Read more

I am publishing today The Four Hour to Git and GitHub Training. Is is available under the CC-BY-SA license to anyone who would like to organize a Git/GitHub training at work/school/user-group/etc.

Developers training on GIT @cticdakar par Thomas Sarlandie (@sarfata). With @peopleinput @seysoo @samaevent @afriqueitnews @esmt & others! — Yann Le Beux (@YannLeBeux)

Git is an awesome tool and I have not met a developer who went through the learning curve and regreted it. Combined with GitHub (or a similar service), it is even more helpful and everyone should learn how to use it.

I think in most developer groups (user-groups, companies, schools, etc) there is at least one developer who has some experience with Git. Taking the time to show to his/her fellows how to jump into Git is often the best way to get them started but most do not have the time to prepare a full training.

With those slides, available under the Creative Commons license, I hope that many developers will take the time to organize a small training for their friends and colleagues so that everyone joins the fun!

Read more

About two weeks ago, I met the people of Jokko Labs here in Dakar, and they mentioned they had a 3D printer but currently lacked time and resources to use it. Of course I volunteered, and yesterday I picked up a beautiful FoldaRap which is a foldable version of the famous RepRap: a 3D printer than can reproduce itself (mostly).

FoldaRap is a design by the french (cocorico!) designer Emmanuel Gilloz and if you are interested, he is running a crowdfunding campaign to make a new batch of them. This printer can be folded for easy transport and is really compact. It can still print objects as big as 140x140x140mm.

For 600€, I am really impressed with the quality of the prints - If you want to get started, this might be the moment you were waiting for!

FoldaRap a foldable 3D printer

It took me a few hours to get my first prints out. Here are my notes and tips for anyone else starting in 3d printing.

Read more

I am pursuing my work with the Senegalese startup scene through CETIC. After my first presentation on resources planning, we met today to speak of basic agile practices.

A few companies in the room (Intek and Seysoo) have been implementing Scrum for a few months now so after my slides we had a great in-depth look at the tools they use to implement Scrum (Icescrum, Balsamiq and DokuWiki mainly).

My goal today was to extract the most important (IMHO) practices of agile methodologies that can be applied individually or together to improve the performance and well-being of project teams. I split those practices into two: practices for the developers, practices for the entire team.

Slides after the break!

Read more

Yesterday night, I did a presentation at Mobile Monday Dakar on what I have learnt in six years in the mobile industry in France.

The big themes were:

  • Technological transformations and their impact on our business

    In six years, we saw: the iPhone, unlimited data plans, Android, iPad, HTML5, etc. Those technological changes also brought a lot of changes in the way mobile services are built: from finding the perfect way to say something in 160 characters (SMS) to designing gorgeous interface that combine beautiful artwork with finely tuned user-experience.

  • How the ecosystem evolved

    While it sometimes can look very stable and rigid from the perspective of a small startup, the mobile ecosystem is a living being that has evolved a lot. In 2006 carriers were the big monsters that everyone feared but with whom everyone had to deal with, in 2012 the new pilars are the device manufacturers and content owners have taken a well-deserved place in between them.

  • The notion of mobile strategy

    A few years ago, the options were very limited and jumping on the mobile wagon was pretty straightforward: J2ME or mobile websites were the only options until 2008. Between 2008 and 2012, the number of options has quickly increased and now a company has to decide between going native, html5 or hybrid; building for one phone or all the platforms and whether they should address tablets. Making the right choice requires a well defined target audience and a careful look at the features that are being built.

A big thank you to the Mobile Monday Dakar team for inviting me! And thanks everyone for showing up - this was a very interesting evening!

Slides available after the break (in french).

Read more

This is something I fight for every single day. Not kidding.

XKCD 1179 - Write dates as YYYY-MM-DD

Source: http://xkcd.com/1179/

This is called ISO-8601.

I have started working with startups in Senegal, sharing some of what I have learnt in my 6 years as CTO of Backelite. This is the first set of slide I am making public: on resource planning.

Resource planning is very important for small service companies: you have lots of projects, with priorities that change every week and you need to find ways to deliver in time, make sure everyone is always busy and also try to do everything in normal hours.

This is a very basic introduction but I wished someone had given this to me six years ago.

Read more

As some of you know, I am spending a bit of time (six months) in Senegal. Last week, Orange Senegal ran a promotion: their 3G Internet usb key was available for 10000 FCFA (~15€/$20), including one week of unlimited data access. I already have Internet access through my phone but I thought this would be a fun new toy, especially if I could get it working on the Raspberry Pi as well.

Picture of Orange 3G modem

Huawei is one of those huge chinese companies who are changing the face of Telcom but we almost never hear about them. They provide everything from software to run a mobile network to cheap phones and 3g devices.

It turns out this little device is quite amazing: Internet access works on the Mac but also on Linux, I can use it to send and receive SMS and you can even configure it to act as a USB ethernet card and access its embedded web server… quite amazing for $20!

A nice bonus is that the key I got is not sim-locked so I can use it with any network (if yours is locked and you happen to google ‘huawei + the model of your key’, it’s hard to find anything but unlocking instructions…).

Read more

Let’s learn something useful today! I have always been interested in data vizualization and my recent addictions to data analysis is pushing me to try new things.

One very notable API that I have never got to play with yet is the Google Maps API (actually I have used it a lot on iOS but never in JavaScript).

Turns out I have the perfect problem to go with it: having trekked around the globe my wife and I have the pleasure of being invited to weddings all around the world. We try to go as often as we can.

The list for 2013 has been growing very rapidly and it seems it would be quite a challenge to attend all of them. The goal of this little exercise is to:

  • Display all the weddings that we have been invited to on a map;
  • Show the trips required to go from one to the other (assuming we do nothing in between);
  • Let the user interact with the visualization: click on weddings to get more information.

Google Maps visualization of a list of weddings

Let’s build this together.

Read more

Although I have decided to blog mostly in English, I am writing this post about the french intervention in Mali in french to share my two cents with fellow french people.

La falaise de Bandiagara au pays Dogon

Depuis une semaine et l’annonce d’une intervention armée de la France au Mali j’entend plusieurs voix se lever et dénoncer une guerre qui ne serait justifiée que par les intérêts nucléaires français.

Read more

Setting up a VPN server with Amazon EC2 is a great way to protect your privacy. You can turn the server on when you need it, shut it down when you dont. All your traffic will go through your VPN and go out on the internet from your EC2 box so that you are in a really secure environment.

Amazon lets you use a free instance for a year that will be perfect for our purpose. And with the help of this post, it should not take more that 5 minutes!

Read more

I recently attended the Defcon conference which is well know to be the most hostile network in the world. One common advice is to hide all your devices.

Of course, you know I could not spend a week without the Internet, so I finally looked into securing my computer which I should have done a long time ago. In this post, I want to share some recommandations on how to really secure your mac computer and protect your privacy when surfing online.

We will go through setting up the MacOS firewall and a VPN to an amazon EC2 box. This is still quite technical so if you have never opened a terminal this is probably not for you might still want to read the next paragraph to understand the risks and have some basic ideas of how to protect yourself.

Every script described here is published on my github as the Voodoo Privacy project.

Read more

About CTO101

CTO101 is a series of guidelines for entrepreneurs who have great ideas but have not found yet the CTO that will help their company grow. It is all about giving you the tools you need to work effectively with freelance developers, hosters and 3rd party tools.

What is SCM?

Source Code Management (or SCM) is the combination of a processes and tools that allow a company to effectively manage the source code for different projects.

In a nutshell, SCM allows you to:

  • Share source code between developers and let several developers work on the same projects at the same time;
  • Protect your source code by keeping a complete history of all files and very frequent backups;
  • Track versions so that you can work on a new version of an application, and still keep the current version source code to write and publish bugfixes.

Read more

Trees, houses and bushes were passing by as our tuk-tuk pulled by a small motorcycle rushed down the unpaved street of Cambodia. I had only been gone for a few weeks but already my mind was rushing to find a new project to work on. This is when it happened.

How the idea came up is probably not that important. It was probably something that had been running unnoticed in my mind. The peace of the moment gave it an opportunity to materialize in my head. What does matter is: How could I find out whether this was the idea?

One thing I have learnt working with creative people is that a good idea does not just show up. It takes time, it takes energy, you need to work at it. And slowly, as you go, the idea matures, transforms and becomes way more than the initial grain of sand.

What I am really working on is growing ideas. And after having watched the video and read the book, I knew exactly what to do with this idea: Build a Minimum-Viable-Product and get feedback. This is the story of the first iteration on a product called C-Light, a connected lamp, my contribution to the Internet of Things.

Read more

Switching to small batch

I tend to have tons of great ideas of stuff to do, but quite sadly most of them just end up in a huge mental stack that never seems to go down. The more ideas I have, the more frustrated I get that nothing actually gets done. The luckiest ones get my attention for a few days, but no matter how much time I spend, they never leave the state of great ideas that I just did not finish.

Those symptoms are not unlike the problems that a lot of companies face: they spend a lot of time working on new features, on a new process that will revolutionize how work is done but often nothing gets out of that work: no code is rolled in production or the slides end up in the trash of an executive that will never have time to approve them. When dealing with products, agile practices encourage small iterations and frequent releases. In a company, lean practices recommend working in very small batch that follow a complete design-develop-test cycle. It occured to me recently, that those principles could very well be applied to my own personal projects: building this website for example.

Read more

Copyright Thomas Sarlandie 2013, 2014
See About page for more copyright information (CC-BY-SA).