Mohit Bhoite

taking over the world, one robot at a time

LED Sand Animation

A few weeks ago I came across a very cool project on adafruit. The project combined a LED matrix display along with a 3 axis accelerator to render an interactive sand grain animation. I had most of the parts available at hand except for the exact accelerometer. Luckly the code was flexible enough to work with a variety of accelerometers.

So I modified the code to work with ADXL362 instead of the LIS3DH.

I soldered the adxl362 breakout board directly underneath the M0 feather.

The wiring is very straightforward. The CharlieWing is connected to the M0 via the I2C pins, while the ADXL362 breakout board is connected to the SPI pins of the M0. Please note that for the ADXL362 Chip Select pin, I used pin 11 of the M0 instead of the default pin 10. The I2C library was for some reason interfering with the use of pin 10.

Here is the modified code to use ADXL362 in SPI mode with the CS line connected to pin 11 of the M0 feather. You’ll need to add ADXL362 library in your Arduino IDE for this to work.

Tented vias in Autodesk Eagle CAD

If you were to choose Eagle’s default DRC (Design Rule Checking) settings, you’ll end up with non-tented vias. In order for the solder mask to be applied over the vias, you’ll need to make a small change in your DRC file. Below you can see that with the default DRC settings, all the vias have a solder mask around them.


Open your DRC file by either clicking on the DRC icon or by choosing it from Tools>DRC. Select the Masks subsection. Here you’ll find the Limit setting. Change this to the drill diameter of your via. I usually set it to 20mils so that all vias with drill holes equal to or less than 20mils will be covered with solder mask. Anything bigger than 20mils will have a solder mask applied to them.


Below you can see that the drill holes with diameter 20 mils and below are tinted and the bigger ones have solder mask applied around them.




Things are very busy as always at Particle (formerly Spark IO) and we have been putting in crazy hours to get the Kickstarter project out the door. As the deadline approaches, one of my work colleagues created a countdown timer. This is one of those timer apps that sits on your desktop. I wondered, wouldn’t it be cool to build a physical one that is connected to the internet? That’s how the idea to build an internet connected seven segment display was born. I could have simply chosen to breadboard such a thing, which I did, but it wasn’t enough. I’ve been itching to build a free-form project much like the BEAM robots I used to build a decade ago. So I decided to take that approach and build this little guy. I call him the ‘SevenSeg’.



The construction primarily consists of the Photon without the headers as the base and then a combination of resistors and brass rods form the frame.



Solder Closeup

The schematic is very straight forward:

As I was programming this guy to display time and the countdown timer, I realized that I could actually give him personality by exhibiting emotions. Since he is connected to the internet, he is never out of sync!


Mini Kossel 3D Printer

I’ve been busy building the mini kossel 3D printer on and off for about a year now. Unlike the Desi 3D printer that I’d build entirely from scratch, this time I decided to splurge on some decent off the shelf parts. I really like this printer design, its clean, simple, fast and economical.

I collected all the parts over the course of couple of months at the beginning of this year (2014).

It still looks a little messy. Need to find a better solution for those unruly wires.


The controller is a RAMPs board combined with an Arduino Mega. The extruder is an all-metal bowden that I bought while I was visiting Shenzhen, China.


The hot-end is a MKV J-Head with 0.4mm nozzle.


The dimensions of the first print are off by about 0.6mm and the first layer is a little too squished, but I’ll be able to get that down with some fine tuning.

2014-12-24 23.11.33

One nice thing about this design is that it has an auto bed leveling mechanism which allows the printer to self calibrate before every new job. The original design uses an allen key connected to a limit switch to gently tap on different location on the print bed to self calibrate. I decided to try out a new design based  on Johann’s recent experiments on using force sensor underneath the bed and using the hot-end itself to tap on the bed.

The FSR sensors are currently held in place by tape while a felt pad provides support for the above glass bed. I still need to find a more permanent solution to this.


I’ll put up more detailed post on the build soon. In the meantime, calibrate, calibrate, calibrate.

Fractal Antenna for DTV

I think I was more excited about building this antenna than the prospect of watching television after staying away from it for over 5 years.


The fractal segments are made up of 3/64″ dia brass rods bought at Ace hardware. You can download the printable PDF template of the antenna here.


To make things easy during soldering, I taped the fractal segments together on a piece of cardboard with painter’s tape. I then soldered the 50 ohm coaxial cable to the centers. The ground shielding braid was a little tricky to solder but with a little bit of flux and a lot of heat, it managed to stick.


I hot glued the assembled antenna on to a 8″x9″ foam board. I bet the brass segments would look really nice on a piece of dark wood ply than on a foam board. Maybe next time.


I have been able to catch about 14 digital television channels (in Minneapolis) with this contraption.

Spark Core Neopixel App


I always find that it’s easier to take on a project to learn about something new than to just read about it. That’s how this iPhone app happened. It’s my first crude attempt at writing code in (ugly) objective-C. The app consists of a color-wheel to select the RGB values and a slider to set the brightness. You can find the project files for the xcode and the firmware app for the Spark Core on my GitHub repository.

The project uses the Adafruit’s 24 element neopixel ring and a Spark Core. The wiring is very straight forward. The ring requires a 5 VDC supply which is directly derived from the Core’s VIN pin (coming from the USB) and the data-in line to the ring is connected to Core’s D2 pin.

The ring, when naked, is very bright. So I decided to defuse it with a thick plastic cup.



Ice cube clock

I spent the weekend building the Ice Cube Clock kit from Adafruit. The tube is a little tricky to assembly, but overall, the kit was really fun to put together. I’m thinking of adding a Spark Core to sync the time with UTC on regular intervals.

Ice Cube Clock

Ice Cube Clock parts


Sunday in St. Paul

A new beginning at Spark

Began a new life at Spark Labs.

DAC Board

One of the boards that I recently designed had to use QFN packages and we were worried if our old pick and place machine would handle it. Surprisingly, they are easier to use than one may think. No solder bridges either.