Loading...

Latest News/Updates

Valentine’s Day edc spinner

Chocolates and flowers are so cliche! ┬á So I’ve made a valentine’s edition of my hand spinners ­čÖé

[…]

January 26th, 2017|

Introducing new “brushed gold” hand spinner

My fidget hand spinners are a huge success, so I’ve been spending more and more time designing and refining them.

Newest addition is “European Brushed Gold” finish spinner.

Just like brushed aluminum and walnut spinners, it’s finish […]

January 22nd, 2017|

2017 New Year Laser Cut “Rooster” Sunglasses

2017 is just around the corner, and you might have seen some funky “New Year” glasses that are quite popular this time of year. I’ve decided to make my own and share the design.

[…]

December 31st, 2016|

Arduino programming: Advanced Servos

For a while now I wanted to share what I learned in programming Arduino and AVR micro-controllers in general.  Most of the topics I want to discuss are above basics.  There are already plenty of basic tutorials online, so no need to reinvent bicycle.

However don’t be discouraged by “advanced” title.┬áI will attempt to explain it in terms even a very beginner programmer can understand.

Let’s start with servos. I only started to play with servos about a month ago, and found how fun controlling them can be. But also challenging.

I won’t go into details about servo types, specs, uses, etc. but I do want to mention a few things about ways to control them.

There are essentially 3 ways to have full control of a servo.

You can do it directly with Arduino or similar AVR microprocessor using PWM pins or a Servo library that allows you to use even non-PWM pins.
An external PWM expansion board like Adafruit’s 16 channel servo controller
A dedicated “smart” 32 channel servo controller board (i.e. RTRobot)

In this topic I will talk about first option, however let me talk just a little bit about options 2 and 3.

An external PWM controller is just an extension of Arduino’s own PWM ports. ┬áThese are usually controlled via I2C bus and can be chained together to control a huge number of servos. ┬áThese are great but a little more difficult to control and will rely on your micro-controller’s CPU.

A dedicated servo controller board usually have it’s own microprocessor (ARM), in many cases more powerful than Arduino. ┬áThese are fantastic boards, that can store servo movement macros that can be initiated by Arduino serial commands. If you are building a robot like hexapod, you can pretty much program movement sequences into controller’s memory and offload your Arduino to do other tasks. ┬áSome even come with PS2 wireless controller capabilities!

But if you only have a handful of servos to control, doing it directly from AVR is probably the best choice.

[…]

December 19th, 2016|