Monthly Archives: July 2016

New 12 V micro metal gearmotors

via Pololu Blog

Our micro metal gearmotors are now available in 12 V versions! These high-power motors have long-life carbon brushes (HPCB) and offer the same performance as the 6 V HPCB motors at their respective nominal voltages; the only difference is that the 12 V motor draws half the current at twice the voltage.

The new 12 V gearmotors are available across our usual range of 11 gear ratios and in single- and dual-shaft versions. Along with our existing selection of micro metal gearmotors, this brings the total number of unique options available to 107:

Motor Type Stall
@ Rated Voltage
@ Rated Voltage
Stall Torque
@ Rated Voltage

(Gearbox Only)

(Gearbox & Motor)
12 V high-power,
carbon brushes
800 mA 6000 RPM 2 oz-in 5:1 HPCB 12V 5:1 HPCB 12V dual-shaft
3000 RPM 4 oz-in 10:1 HPCB 12V 10:1 HPCB 12V dual-shaft
1000 RPM 9 oz-in 30:1 HPCB 12V 30:1 HPCB 12V dual-shaft
625 RPM 15 oz-in 50:1 HPCB 12V 50:1 HPCB 12V dual-shaft
400 RPM 22 oz-in 75:1 HPCB 12V 75:1 HPCB 12V dual-shaft
320 RPM 30 oz-in 100:1 HPCB 12V 100:1 HPCB 12V dual-shaft
200 RPM 40 oz-in 150:1 HPCB 12V 150:1 HPCB 12V dual-shaft
140 RPM 50 oz-in 210:1 HPCB 12V 210:1 HPCB 12V dual-shaft
120 RPM 60 oz-in 250:1 HPCB 12V 250:1 HPCB 12V dual-shaft
100 RPM 70 oz-in 298:1 HPCB 12V 298:1 HPCB 12V dual-shaft
32 RPM 125 oz-in 1000:1 HPCB 12V 1000:1 HPCB 12V dual-shaft
6 V high-power,
carbon brushes
1600 mA 6000 RPM 2 oz-in 5:1 HPCB 6V 5:1 HPCB 6V dual-shaft
3000 RPM 4 oz-in 10:1 HPCB 6V 10:1 HPCB 6V dual-shaft
1000 RPM 9 oz-in 30:1 HPCB 6V 30:1 HPCB 6V dual-shaft
625 RPM 15 oz-in 50:1 HPCB 6V 50:1 HPCB 6V dual-shaft
400 RPM 22 oz-in 75:1 HPCB 6V 75:1 HPCB 6V dual-shaft
320 RPM 30 oz-in 100:1 HPCB 6V 100:1 HPCB 6V dual-shaft
200 RPM 40 oz-in 150:1 HPCB 6V 150:1 HPCB 6V dual-shaft
140 RPM 50 oz-in 210:1 HPCB 6V 210:1 HPCB 6V dual-shaft
120 RPM 60 oz-in 250:1 HPCB 6V 250:1 HPCB 6V dual-shaft
100 RPM 70 oz-in 298:1 HPCB 6V 298:1 HPCB 6V dual-shaft
32 RPM 125 oz-in 1000:1 HPCB 6V 1000:1 HPCB 6V dual-shaft
6 V high-power

(same specs as
6V HPCB above)
1600 mA 6000 RPM 2 oz-in 5:1 HP 6V 5:1 HP 6V dual-shaft
3000 RPM 4 oz-in 10:1 HP 6V 10:1 HP 6V dual-shaft
1000 RPM 9 oz-in 30:1 HP 6V 30:1 HP 6V dual-shaft
625 RPM 15 oz-in 50:1 HP 6V 50:1 HP 6V dual-shaft
400 RPM 22 oz-in 75:1 HP 6V 75:1 HP 6V dual-shaft
320 RPM 30 oz-in 100:1 HP 6V 100:1 HP 6V dual-shaft
200 RPM 40 oz-in 150:1 HP 6V 150:1 HP 6V dual-shaft
140 RPM 50 oz-in 210:1 HP 6V 210:1 HP 6V dual-shaft
120 RPM 60 oz-in 250:1 HP 6V 250:1 HP 6V dual-shaft
100 RPM 70 oz-in 298:1 HP 6V 298:1 HP 6V dual-shaft
32 RPM 125 oz-in 1000:1 HP 6V 1000:1 HP 6V dual-shaft
6 V medium-power
700 mA 4400 RPM 1.5 oz-in 5:1 MP 6V dual-shaft
2200 RPM 3 oz-in 10:1 MP 6V 10:1 MP 6V dual-shaft
730 RPM 8 oz-in 30:1 MP 6V 30:1 MP 6V dual-shaft
420 RPM 12 oz-in 50:1 MP 6V 50:1 MP 6V dual-shaft
290 RPM 17 oz-in 75:1 MP 6V 75:1 MP 6V dual-shaft
220 RPM 21 oz-in 100:1 MP 6V 100:1 MP 6V dual-shaft
150 RPM 28 oz-in 150:1 MP 6V 150:1 MP 6V dual-shaft
100 RPM 36 oz-in 210:1 MP 6V dual-shaft
90 RPM 41 oz-in 250:1 MP 6V dual-shaft
75 RPM 46 oz-in 298:1 MP 6V 298:1 MP 6V dual-shaft
22 RPM 80 oz-in 1000:1 MP 6V 1000:1 MP 6V dual-shaft
6 V low-power
360 mA 2500 RPM 1 oz-in 5:1 LP 6V 5:1 LP 6V dual-shaft
1300 RPM 2 oz-in 10:1 LP 6V 10:1 LP 6V dual-shaft
440 RPM 4 oz-in 30:1 LP 6V 30:1 LP 6V dual-shaft
250 RPM 7 oz-in 50:1 LP 6V 50:1 LP 6V dual-shaft
170 RPM 9 oz-in 75:1 LP 6V 75:1 LP 6V dual-shaft
120 RPM 12 oz-in 100:1 LP 6V 100:1 LP 6V dual-shaft
85 RPM 17 oz-in 150:1 LP 6V 150:1 LP 6V dual-shaft
60 RPM 27 oz-in 210:1 LP 6V 210:1 LP 6V dual-shaft
50 RPM 32 oz-in 250:1 LP 6V 250:1 LP 6V dual-shaft
45 RPM 40 oz-in 298:1 LP 6V 298:1 LP 6V dual-shaft
14 RPM 70 oz-in 1000:1 LP 6V 1000:1 LP 6V dual-shaft

Get your DDR on with an Arduino dance pad

via Arduino Blog

Alex of the YouTube channel “Super Make Something” is a huge fan of Dance Dance Revolution (DDR), and still has to play the game whenever he steps foot into an arcade. However, with the number of arcades slowly declining, the Maker has decided to bring that experience into his living room with a USB DDR dance pad.

And yes, you could always buy a metal dance pad but rather than spend $300, why not build your own? That is exactly what Alex has done using some easy-to-find materials: a 35″ x 35” slab of plywood for the base, four 1” x 35” pieces of wood for the border, five 11” x 11” pieces of MDF for the stationary panels, four 9″ x 9” pieces of cardboard for the riser panels, 12 metal button contacts out of aluminum, four 11” x 11” MDF button pads, acrylic sheets for the dance surface, and plenty of paint and graphics for the finishing touch.

The dance pad itself is based on pull-up resistors and an Arduino Leonardo, which is housed inside a 3D-printed enclosure. The Arduino includes an ATmega32U4 chip that can be programmed to act as a USB input device. The working principle here is that the MCU sends out a keystroke every time a button panel is stepped on. Alex provides a more in-depth breakdown of how it works in the video below! Meanwhile, the Arduino code can be downloaded here.

App note: Limiting inrush current

via Dangerous Prototypes


Aimtec’s app note on inrush current on power converters and their solution. Link here

Inrush currents can be problematic in circuits that utilize overload protection devices such as fuses and circuit breakers. The selection of overcurrent protection devices is made more complicated when high inrush currents are present. False overload conditions can trigger unwanted protection events.

Updating the ClockTHREE Jr. Software

via WyoLum Blog

One of my first tasks here at Wyolum was updating the old ClockTHREE Jr. software for Arduino 1.6.9, the newest version. I focused specifically on updating the file specified in the original tutorial for reprogramming the ClockTHREE Jr., ClockTHREE_04.ino. At first, when I tried compiling the sketch, the number of error messages that popped up frightened me. It was just a sea of blaring orange text, informing me on the multitude of errors spanning a variety of different documents. The task seemed to be very daunting, and I did not know if I would be able to complete this task. However, after I had gotten over my initial shock, i decided to be brave and actually read the error messages, rather than judge the difficulty of the task by their quantity. This act turned out to be immensely helpful, as after my analysis, I discovered that there were only 6 documents that needed to be changed, as opposed to my crazy original assumption of 20 or 25. Furthermore, there seemed to be one term that resonated throughout the error messages: “const.” With these 2 helpful facts in mind, I got to work. Below is a detailed analysis of what I did to the 6 documents:

  1. In the original file itself, ClockTHREE_04.ino, I included the english_v3.h file, uncommented the line that let the ClockTHREE Jr. account for Daylights Savings Time, and most importantly, changed “prog” in the line “PROGREM prog_uint32_t DST[] = {“ to a “const.”
  2. In the next document I changed, english_v3.h, I simply added a const after the “uint8/32_t” in the lines with WORDS[] PROGMEM, DISPLAYS[] PROGMEM, MINUTE_LEDS[] PROGMEM, and MINUTES_HACKS[] PROGMEM.
  3. The next file I had to change took me away from the ClockTHREE Jr. file and into the CHRONOGRAM2 file, where I had to update the english2_v1.h file. In this file, I changed “prog_char” to “const_char” in the lines with HOUR_WORDS[], HOUR_SEQ[], MINUTE_WORDS[], and MINUTE_SEQ[].
  4. In the files font.cpp and mem_font.cpp, I respectively changed “PROGMEM static char prog_char font8x8[] = {” to “PROGREM static const char font8x8[] = {“ and “static prog_char font8x7[] PROGMEM = {“ to “static const char font8x7[] PROGMEM = {.“
  5. In the final document I changed, DateStrings.cpp, I added a “const” to:
      1. char monthShortNames_P[] PROGMEM = “ErrJanFebMarAprMayJunJulAugSepOctNovDec”;
      2. char dayStr0[] PROGMEM = “Err”;
      3. char dayStr1[] PROGMEM = “Sunday”;
      4. char dayStr2[] PROGMEM = “Monday”;
      5. char dayStr3[] PROGMEM = “Tuesday”;
      6. char dayStr4[] PROGMEM = “Wednesday”;
      7. char dayStr5[] PROGMEM = “Thursday”;
      8. char dayStr6[] PROGMEM = “Friday”;
      9. char dayStr7[] PROGMEM = “Saturday”;
      10. PGM_P dayNames_P[] PROGMEM = { dayStr0,dayStr1,dayStr2,dayStr3,dayStr4,dayStr5,dayStr6,dayStr7};
      11. char dayShortNames_P[] PROGMEM = “ErrSunMonTueWedThrFriSat”;
      12. char monthStr1[] PROGMEM = “January”;
      13. char monthStr2[] PROGMEM = “February”;
      14. char monthStr3[] PROGMEM = “March”;
      15. char monthStr4[] PROGMEM = “April”;
      16. char monthStr5[] PROGMEM = “May”;
      17. char monthStr6[] PROGMEM = “June”;
      18. char monthStr7[] PROGMEM = “July”;
      19. char monthStr8[] PROGMEM = “August”;
      20. char monthStr9[] PROGMEM = “September”;
      21. char monthStr10[] PROGMEM = “October”;
      22. char monthStr11[] PROGMEM = “November”;
      23. char monthStr12[] PROGMEM = “December”;
      24. PGM_P monthNames_P[] PROGMEM =

After saving all of my changes, I compiled the code in Arduino 1.6.9, and to my utter delight, it worked!

App note: System design guidelines for the TM4C129x family of Tiva C series microcontrollers

via Dangerous Prototypes


System design guidelines from Texas Instruments for the TM4C129x Tiva C series microcontrollers, app note here (PDF!):

The Tiva™ C series TM4C129x microcontrollers are highly-integrated system-on-chip (SOC) devices with extensive interface and processing capabilities. Consequently, there are many factors to consider when creating a schematic and designing a circuit board. By following the recommendations in this design guide, you will increase your confidence that the board will work successfully the first time it is powered it up.

Reaction tester

via Dangerous Prototypes


Reaction tester project from Vagrearg:

The single gate-type NAND version was put onto a PCB and tested. It works like a charm. There were only 74AC00 chips available at the time, but they are just about the same as HC chips. You can get the design files, which are made with KiCad. The layout is kept as symmetrical as possible and the A/B buttons are next to the LEDs. Power is supplied using three AA batteries in a standard battery-holder and the PCB is stuck onto the battery-holder with double-sided sticky tape.

Full details at Vagrearg project page.