Monthly Archives: July 2016

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.

Pi Zero POV

via Dangerous Prototypes


Francesco over at Garage Tech posted a detailed how-to on building a Raspberry Pi Zero POV setup to display text from a file using an LED:

The most important part of getting the Pi Zero POV to run smoothly is given by how do you fix the payload of this spinning rocket onto the CD. Placing the Pi Zero in the right place will make so that when turning, the whole setup will have as little as possible vibrations. The rule of thumb we followed was to drill two 3 mm holes on opposite sides of the central hole of the CD and so that they would sit on one of the disk diameters.

Full details at Garage Tech homepage.

Independence Day weekend sale

via Pololu Blog

In celebration of Independence Day (July 4th), we are discounting selected products by up to 25% and offering an upgrade to the next best price break for everything else in our store. Please note that we will be closed Monday, so orders will not ship until Tuesday, July 5.

For more information, including all the discount coupon codes, see the sale page.

Happy 4th of July!