About achmorrison

Physics professor by day - maker by night

Chess Clock 2.0 using an Adafruit MacroPad

by MACE

I built a better chess clock. It’s no surprise that my first attempt (see http://blog.workshop88.com/2021/07/30/making-a-chess-clock-with-a-circuit-playground-express-user-interface-decisions/), while functional, was difficult to use. The buttons are tiny, you need a lot of prior knowledge to use it, etc. My wife refused to use it.

Just in the nick of time, I received the Adabox 019. It contained a keyboard circuit, keys, keycaps, OLED display, rotary encoder, encoder knob and housing — some assembly required. Adafruit promotes this product as a way to send commands through a USB port to the foreground program running on a computer. There is also a MIDI use case.

The included demo code interprets key presses based on a menu of items that are specific to a given program. You can have multiple menus for multiple programs. You switch between menus using the rotary encoder. Each menu can set the neopixels under the keys to visually group keys by functionality. Here’s an example menu I did for Inkscape.

Inkscape-MacroPad-Menu

Key 1 (upper left) resizes the document to match the selection
Key 2 is for Trace Bitmap
Keys 4-8 are for manipulating layers

It worked, but this use case for the MacroPad wasn’t satisfying. For me, a keystroke on the pad isn’t any better than just using the shortcut keys on the full keyboard. I soon started to hunt for a bigger itch that needed a bigger scratch.

The first one I came up with was to use the example menu framework to simplify my use of various Linux terminal commands. The ls command, for example, has dozens of options. The combination of dashes, case sensitivity, non-mnemonic codes, etc. makes the command tedious to type — especially if you need to use many different options in various combinations. Not to mention that the meanings of the options are different depending of the flavor of Linux!

Here’s the menu I wrote for the terminal on MacOS. I took better care on this menu to color code the keys. The yellow keys are for formatting options, the green key is for recursion, Key4 isn’t enabled, the red keys are for sort order and the purple keys are groups of file extensions. Pushing the rotary key enters the “ls ” command itself.

With an open terminal window, the MacroPad connected and my custom menu selected, I can use the keys to easily form the command that lists “code” files with units, long dates, sorted by size, in reverse order:

<Rotary><Key1><Key2><Key5><Key7><Key12> #These are the key presses

ls -h -T -r -S *.py *.sh *.sed #This is what gets typed at the prompt
-rw-r--r-- 1 appleadmin staff 75B Jul 9 09:40:36 2021 mymoduletest.py
-rw-r--r-- 1 appleadmin staff 72B Oct 19 09:59:35 2020 timezones.py
-rw-r--r-- 1 appleadmin staff 59B Mar 30 16:17:28 2021 getSkyCharts.py
-rw-r--r-- 1 appleadmin staff 58B Apr 2 16:39:43 2021 mymod.py
-rwxr-xr-x 1 appleadmin staff 46B Mar 31 06:38:26 2020 rhi.sh*
-rw-r--r-- 1 appleadmin staff 24B Aug 2 21:47:36 2021 goPad.sh

It works well.

Finally, having just finished my 2-Player+ Chess Clock, I made version V2.0 using the MacroPad. This time, I have a display screen to properly prompt for input and display time remaining, a rotary encoder with an “ENTER” feature for numeric value input and a physical, color-coded button for each player to push.

Here’s the result in action.

Where do Workshop 88 members live?

We have members that live all throughout the Western suburbs of Chicago, but most of our members live somewhere in DuPage county. Most of our members live within a 30 minute drive to downtown Glen Ellyn.

Some of our members live a lot closer, though! We have members in Wheaton, Lombard, Carol Stream, and Glendale Heights. Those who live further out include members living in Elmhurst, Addison, Lisle, Naperville, Westmont, and Oak Brook.

Our members all have access to all the makerspace tools, like the woodworking, metalworking, CNC equipment, 3D printers, the laser cutter, and the electronics shop. More importantly, though, our members belong to a community of makers who are all interested in becoming better at making, building, and crafting.

What are you looking to make at Workshop 88? Open house is every Thursday from 7:00-9:00pm.

Maker Meeting Short Take – Schlieren imaging!

Check out the latest in our series of outtakes from Workshop 88 Maker Meetings here:

See the rest of the discussion in the original video

The reason behind using the Schlieren system was to find out what we could see while blowing over the top of a plastic pop (soda) bottle. There was quite a bit of discussion and suggestions for experimentation in the original Maker Meeting video.


Workshop 88 is a makerspace in Glen Ellyn Illinois. We are more than a workshop, we are a growing community of creative talented people who aspire to learn and share knowledge, experiences, and projects.

Join us! To become a member join at Workshop88 or you can help us continue to share our projects and activities by supporting us via Patreon.

Never miss a tip or project! Follow our blog at www.Workshop88.com, subscribe to Workshop88’s YouTube channel, like us on Facebook, follow us Twitter and join or support our maker community by contributing to Workshop88 on Patreon!

To find out about upcoming events follow Workshop88 on Meetup.
Have a question? email us at info@Workshop88.com

Maker Meeting March 23, 2021 – ESP8266, Arduinos, and a Dalek

Check out the March 23, 2021 Workshop 88 Maker Meeting here:

ESP8266 interfaced with a keypad

Peter shared the following information about using the Arduino keypad library with the ESP8266after the recording:

There is a pretty good tutorial at https://diyi0t.com/keypad-arduino-esp8266-esp32/

There were two questions I was not able to answer, but I’ve done some more investigation:

  1. If you register a callback function that is invoked when a key is pressed or released, is that based on interrupts?   No.   It ties into the non-blocking getKey() function which is already being called each time through the loop.   If a callback is registered, it will be called by getKey() when appropriate.
  2. Does multi-key support mean that it buffers up a sequence of characters, or does it mean you can press multiple keys (chords) at the same time?   Despite my wrong guess last night, it’s the latter.   The getKeys() function will return a list of up 10 keys that are pressed or released, even if a second (or later) key is pressed before the first ones are released.   Apparently, they do the right magic with pull-ups and only driving one line at a time so that they can do this without diodes on the switches.

Other items shared!

After Peter’s presentation, Jim shared with us how he uses an ESP8266 to control an Arduino. Very cool! At the end, Dave shared with us his progress working on a Dalek build project – including some very nice resin casting!


Workshop 88 is a makerspace in Glen Ellyn Illinois. We are more than a workshop, we are a growing community of creative talented people who aspire to learn and share knowledge, experiences, and projects.

Join us! To become a member join at Workshop88 or you can help us continue to share our projects and activities by supporting us via Patreon.

Never miss a tip or project! Follow our blog at www.Workshop88.com, subscribe to Workshop88’s YouTube channel, like us on Facebook, follow us Twitter and join or support our maker community by contributing to Workshop88 on Patreon!

To find out about upcoming events follow Workshop88 on Meetup.
Have a question? email us at info@Workshop88.com

Maker Meeting March 16, 2021

Check out the March 16, 2021 Workshop 88 Maker Meeting here:

Things We’ve Made

3D printed for everyday use. A place for everything and everything in it’s place. (Organizers)

Vase Mode – extra thin walls

Modular Tool Caddy

Replacement Parts – Repairs around the house by Peter

Thingiverse Links

Power Strip Project (Slide Deck)

An approach to problem solving

Designing 3D printed parts to help supplement a situation.


Workshop 88 is a makerspace in Glen Ellyn Illinois. We are more than a workshop, we are a growing community of creative talented people who aspire to learn and share knowledge, experiences, and projects.

Join us! To become a member join at Workshop88 or you can help us continue to share our projects and activities by supporting us via Patreon.

Never miss a tip or project! Follow our blog at www.Workshop88.com, subscribe to Workshop88’s YouTube channel, like us on Facebook, follow us Twitter and join or support our maker community by contributing to Workshop88 on Patreon!

To find out about upcoming events follow Workshop88 on Meetup.
Have a question? email us at info@Workshop88.com

Maker Meeting March 9, 2021

Check out the March 9, 2021 Workshop 88 Maker Meeting here:

HackADay

Basic (Code) in 10 lines or less contest

Scott’s project overview of his contribution to contest.

Mandelbrot

Must see to enjoy. It’s mesmerizing.

TinkerCad Follow Up

  • Logos
  • Shapes Collection

Around the House Repairs

Bob showed what he 3d Printed to replace a broken part around the house. Next week, bring examples of things you made (instead of bought) and used around the house.

Misc Discussions

Acetone Smoothing of 3D Prints

Ferrofluid (https://en.wikipedia.org/wiki/Ferrofluid)

MandelBulb (https://en.wikipedia.org/wiki/Mandelbulb) Ryan Bliss (Digital Blasphemy)

3D Printer Hardware


Workshop 88 is a makerspace in Glen Ellyn Illinois. We are more than a workshop, we are a growing community of creative talented people who aspire to learn and share knowledge, experiences, and projects.

Join us! To become a member join at Workshop88 or you can help us continue to share our projects and activities by supporting us via Patreon.

Never miss a tip or project! Follow our blog at www.Workshop88.com, subscribe to Workshop88’s YouTube channel, like us on Facebook, follow us Twitter and join or support our maker community by contributing to Workshop88 on Patreon!

To find out about upcoming events follow Workshop88 on Meetup.
Have a question? email us at info@Workshop88.com

Maker Meeting March 2, 2021

What Every Maker Needs to Know About Rechargeable Lithium-Ion Batteries

Check out the March 2, 2021 Workshop 88 Maker Meeting here:

Introduction

If your next project involves portable electronics, this is what you need to know about batteries. Here are slides from Bob Van Valzah’s presentation on rechargeable lithium-ion batteries.

Lithium-Ion Battery (PDF Presentation Slides) from video above

Rechargeable Focus

Portable projects running on single-use batteries don’t face some of the complexities you run into with rechargeable batteries. Lithium-ion batteries can burn your project to a cinder if they’re mistreated.

Cautionary Tales

Basics

You’ll need to know the vast range of sizes available for lithium-ion batteries. Manufacturers use units like mAh milliamp hour and Watt hour to describe their batteries.

Comparison with Other Rechargeable Batteries

Lithium-ion batteries outperform all other battery technologies in power density and energy density. Moreover, they can be designed to cover a huge range of power and energy densities.

Charging, Discharging, and Temperature

Voltage, current, capacity, and temperature are all related as a battery charges and discharges. Curves are presented to show the relationships.

What’s Inside a Cell?

Lithium-ion batteries don’t behave like other batteries and are downright counterintuitive in many ways. Understanding just a bit about them at the level of molecular physics and chemistry helps explain some of the mysteries.

Battery Packs

When your project needs more voltage, current, or capacity than a single cell can provide, you need a battery pack of many cells. You can make your own pack or buy them pre-made. Or 3d print adapters for commercial battery packs:

The Ubiquitous 18650

By far the most common lithium-ion cell in battery packs is the “18650.” Every maker should know why they have that name and be aware of the pitfalls of buying them.

Safety

It’s easy to make mistakes in designing and building your project that end up “mistreating” a lithium-ion battery. In particular, there are many ways to go wrong building serial strings of batteries in the quest for more voltage. Protection circuitry or “brains” watch for and avoid the most common forms of electrical mistreatment. In extreme environments like the surface of Mars at night, batteries must be kept warm.

Battery Voltage Monitoring

If your project has a user interface, the user might want to know how much charge is left in the battery. We show typical circuitry for an MCU to read the battery voltage, along with the charge and discharge curves.

MCU Project Integration

You could charge your batteries by removing them from the project, but that’s often impractical. Modest-sized projects can be charged via USB and built-in charging circuitry. It only takes a two chips if you want to do this yourself.

Battery Holder MCUs

A nice alternative to DIY integration for many MCU-based projects is to use a “battery holder” MCU. Several varieties are available on AliExpress. In addition to holding the battery, these boards provide USB charging, a USB serial interface for programming, and a power switch.

Not Quite Lithium-Ion

Lithium-ion batteries are well suited to personal electronics where small size, light weight, and long runtimes are prized. But other chemistries are better suited to solar, marine, and other applications.

Mistakes and Summary

I learned a lot from the projects I’ve done with lithium-ion batteries. You can easily avoid some of the mistakes I made. Slides summarize the key knowledge points about lithium-ion batteries and advice for makers.

Chargers and Interconnects

Jim Williams describes more details of lithium-ion battery charging and how he built a generic LiPo charger. It uses a current meter from a cheap “Charger Doctor” and a TP4056 chip. Jim replaced the fixed current programming resistor with a pot for setting the optimal charging current for the battery at hand. He used HF Alumiweld to fabricate a custom heatsink and managed to fit the whole project into a palm-sized case.


Workshop 88 is a makerspace in Glen Ellyn Illinois. We are more than a workshop, we are a growing community of creative talented people who aspire to learn and share knowledge, experiences, and projects.

Join us! To become a member join at Workshop88 or you can help us continue to share our projects and activities by supporting us via Patreon.

Never miss a tip or project! Follow our blog at www.Workshop88.com, subscribe to Workshop88’s YouTube channel, like us on Facebook, follow us Twitter and join or support our maker community by contributing to Workshop88 on Patreon!

To find out about upcoming events follow Workshop88 on Meetup.
Have a question? email us at info@Workshop88.com

Maker Meeting February 23, 2021

3D PRINTING – Slicers

Slicer – the software that generates the G-Code that is sent to the 3D printer.

Check out the February 23, 2021 Workshop 88 Maker Meeting here:

Introduction

The 3D Printing process involves

  1. obtaining an .stl file (custom design or downloaded)
  2. preparing that file for the specific 3D printer to be used (slicer software)
    1. Tonight’s focus is G-Code
  3. 3D printing

Slicer Clarification

There are many old web links that still work. But that doesn’t mean it’s the most current version of software. The Prusa Printer software is based on the open source Slic3r. But the latest edition (as of this writing) of Prusa Slicer Software is available on the Prusa3D.com website and it is called PrusaSlicer 2.3.

Slic3r.org – opensource, last release (2018-05-10)

Versions from Prusa (still free and OpenSource): Slic3r Prusa Edition, PrusaSlicer 2.0

Automated Bed Level Hardware Add-On

Demo of BLTouch including what is required for installation on an Ender 3 printer.

Moving from Slic3rPE to PrusaSlicer 2.3.0

  • have a working example
  • compare G-Codes
  • import what you can

Moving from MakerBot Desktop to PrusaSlicer 2.3.0

  • custom settings
  • build on success
  • know what you need and your machine can handle

General Discussion/Mentions

Bed Weld product for adhering 3D printed objects to bed while printing.

Additional Links


Workshop 88 is a makerspace in Glen Ellyn Illinois. We are more than a workshop, we are a growing community of creative talented people who aspire to learn and share knowledge, experiences, and projects.

Join us! To become a member join at Workshop88 or you can help us continue to share our projects and activities by supporting us via Patreon.

Never miss a tip or project! Follow our blog at www.Workshop88.com, subscribe to Workshop88’s YouTube channel, like us on Facebook, follow us Twitter and join or support our maker community by contributing to Workshop88 on Patreon!

To find out about upcoming events follow Workshop88 on Meetup.
Have a question? email us at info@Workshop88.com

Maker Meeting February 16, 2021

Open-Source CAM / CNC Software

Check out the February 16, 2021 Workshop 88 Maker Meeting here:

Special Guest

This week we had a great conversation with our special guest, Brad Collette, one of the core developers on FreeCAD – focusing on Path Workbench.

Sliptonic

General Discussion/Mentions

Additional Links


Workshop 88 is a makerspace in Glen Ellyn Illinois. We are more than a workshop, we are a growing community of creative talented people who aspire to learn and share knowledge, experiences, and projects.

Join us! To become a member join at Workshop88 or you can help us continue to share our projects and activities by supporting us via Patreon.

Never miss a tip or project! Follow our blog at www.Workshop88.com, subscribe to Workshop88’s YouTube channel, like us on Facebook, follow us Twitter and join or support our maker community by contributing to Workshop88 on Patreon!

To find out about upcoming events follow Workshop88 on Meetup.
Have a question? email us at info@Workshop88.com