Freudian slip?

I had to laugh at myself. Instead of “git stash pop” I typed in “git stash poop” 🙂

Piconomix FW Library (px-fwlib) 0.10.0 released

Summary:

  • Upgrade to Doxygen 1.9.2
  • Update and ordering of Doxygen documentation (inspect px-fwlib/doc directory)
  • Massive clean up effort to make coding style and naming convention consistent
  • First class citizen support for Arduino Uno, ATmega328P-XMINI, ATmega328PB-XMINI and ST Nucleo64-L053R8
  • Rename “px_defines.h” to “px_defs.h”
  • Major upgrade from px_dbg to px_log module (with optional VT100 color text support)
  • New utility modules: px_ascii, px_btn, px_dbg_ft, px_sbuf (do yourself a favour and have a peek at these)
  • New device drivers: px_max31855, px_lis3dh
  • Upgrade px_log_fs to mark records as archived, for example after a record has been succesfully uploaded to an internet server
  • Harmonised px_gpio function names, e.g. px_gpio_pin_set_hi() changed to px_gpio_out_set_hi()
  • Experimental px_gfx window object system (work in progress)
  • More than a year’s worth of bug fixes and tweaks

An early Christmas present. Happy Holidays!

P.S. Sincere apologies for changing APIs and breaking existing code bases! I hope that most of it is easy to fix with search&replace.
P.S.S. Smoke testing was performed on all of the examples and apps but if you find a bug, please let me know.
P.S.S.S. Love it or hate it? Either way, feedback is much appreciated 🙂

Ikigai

PX-HER0 board on Crowd Supply

It has been a long journey, but the day has finally arrived. My PX-HER0 board campaign is live on Crowd Supply. Click HERE

Greek word of the year: meraki

I found this gem yesterday in a school cafeteria:

meraki [may-rah-kee] (adjective)

This is a word that modern Greeks often use to describe doing something with soul, creativity, or love — when you put “something of yourself” into what you’re doing, whatever it may be. Meraki is often used to describe cooking or preparing a meal, but it can also mean arranging a room, choosing decorations, or setting an elegant table.

Source: https://www.npr.org/templates/story/story.php?storyId=4457805

Piconomix FW Library featured on hackaday.com

I finally enjoyed my 15 minutes of fame when an article called “Arduino Gets a Command Line Interface” by Bryan Cockfield was published on Hackaday on 10 Nov 2018. I am extremely grateful for all of the kind words, comments, stars and GitHub repository forks that it generated. This open source project has been a work of love for more than a decade and it is great to get the feedback that people like it and that it matters. In the process I have learned to be a better internet citizen: the simple act of saying thanks or giving someone’s creation a good rating goes a very long way. Who says there’s no such thing as “free energy”? 🙂

Full disclosure. Did you see the movie “Field of Dreams” starring the great Kevin Costner? Particularly the quote: “build it and they will come”? I wish it worked like that, but in the real world it does not work out quite that way. There are a gazillion open source projects and products out there, all competing for your attention. I submitted a tip to Hackaday and it got accepted after it passed their stringent criteria. You need to let other people know about your project without “shilling” in the process.

As always, I hope you have a grand day!

Design Logic 2001 contest runner-up

Yep, that’s me, proud runner up in the Atmel Design Logic 2001 contest! It was a long, long time ago and the world was much, much smaller. Here is the link to the PALM III PDA winning entry.

Circuit Cellar issue 137 December 2001, page 36:

To put it in context, here are all three pages for prosperity:

Logging temperature with Maxim DS18B20 1-Wire sensor

My 12 year old son needed to manually log temperature for 12 hours as part of a school science assignment. I saw this as a great opportunity to demonstrate my incredible engineering skills assist him as a responsible and caring parent.

Yes I know, with an Arduino the job would probably be finished in 5 minutes flat, but where’s the fun in that?! Besides, I’m old-school and stubborn 🙂 I whipped out my ATmega328P  Scorpion Board and crafted a portable 1-Wire bit bang C module and DS18B20 driver (project download link).

Here is a screenshot of the CLI running on the board:

And here is the data graphed over 24 hours. The sensor was resting outside on a brick window sill, which explains why it does not reflect the actual ambient temperature well.

Test&debug your embedded C module with Excel and Visual Studio

For a while now I’ve had a mental itch that needed to be scratched and finally found some time to do something about it. I had a function called rtc_date_time_to_sec_since_y2k() to convert date&time to seconds since Y2K, but I did not have one in the reverse direction… until now 🙂

Here is the best solution that I could find, but I wanted something simpler that I understood well and it only needed to work from 2000 to 2099 (I’m a firm believer in the KISS principle).

First I used an Excel Spreadsheet to have a broad overview of the algorithm:

Finally I created a test project for my RTC C module in the free (as in beer) Visual Studio Community Edition 2017. It tests the whole space (every second from 2000-01-01 00:00:00 to 2099-12-31 23:59:59) and took only 10 minutes on an Intel Core i7-6700 CPU @ 3.40GHz. Running the same test on an 8-bit Atmel AVR @ 7.37 MHz would take (a projected) 25 days!

I use a “defines.h“, “compiler.h” and “pgm_P.h” to make my embedded C modules portable.