Error message

  • User warning: The following module is missing from the file system: date_ical. For information about how to fix this, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1184 of /home/woodin7/public_html/jayoyster/includes/bootstrap.inc).
  • User warning: The following module is missing from the file system: entity. For information about how to fix this, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1184 of /home/woodin7/public_html/jayoyster/includes/bootstrap.inc).
  • User warning: The following module is missing from the file system: file_entity. For information about how to fix this, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1184 of /home/woodin7/public_html/jayoyster/includes/bootstrap.inc).
  • User warning: The following module is missing from the file system: wysiwyg. For information about how to fix this, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1184 of /home/woodin7/public_html/jayoyster/includes/bootstrap.inc).
  • User warning: The following module is missing from the file system: standard. For information about how to fix this, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1184 of /home/woodin7/public_html/jayoyster/includes/bootstrap.inc).
  • Deprecated function: Optional parameter $path declared before required parameter $langcode is implicitly treated as a required parameter in include_once() (line 1442 of /home/woodin7/public_html/jayoyster/includes/bootstrap.inc).
  • Warning: include_once(/home/woodin7/public_html/jayoyster/themes/engines/phptemplate/phptemplate.engine): Failed to open stream: No such file or directory in include_once() (line 209 of /home/woodin7/public_html/jayoyster/includes/theme.inc).
  • Warning: include_once(): Failed opening '/home/woodin7/public_html/jayoyster/themes/engines/phptemplate/phptemplate.engine' for inclusion (include_path='.:/opt/cpanel/ea-php81/root/usr/share/pear') in include_once() (line 209 of /home/woodin7/public_html/jayoyster/includes/theme.inc).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 187 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 189 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 187 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 189 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 187 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 189 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 187 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 189 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 187 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 189 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 187 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 189 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 187 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 189 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 187 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 189 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Deprecated function: dirname(): Passing null to parameter #1 ($path) of type string is deprecated in drupal_get_path() (line 2970 of /home/woodin7/public_html/jayoyster/includes/common.inc).
  • Deprecated function: dirname(): Passing null to parameter #1 ($path) of type string is deprecated in drupal_get_path() (line 2970 of /home/woodin7/public_html/jayoyster/includes/common.inc).
  • Deprecated function: dirname(): Passing null to parameter #1 ($path) of type string is deprecated in drupal_get_path() (line 2970 of /home/woodin7/public_html/jayoyster/includes/common.inc).
  • Deprecated function: dirname(): Passing null to parameter #1 ($path) of type string is deprecated in drupal_get_path() (line 2970 of /home/woodin7/public_html/jayoyster/includes/common.inc).
  • Deprecated function: dirname(): Passing null to parameter #1 ($path) of type string is deprecated in drupal_get_path() (line 2970 of /home/woodin7/public_html/jayoyster/includes/common.inc).
  • Deprecated function: dirname(): Passing null to parameter #1 ($path) of type string is deprecated in drupal_get_path() (line 2970 of /home/woodin7/public_html/jayoyster/includes/common.inc).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 187 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 189 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 187 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 189 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 187 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 189 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 187 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).
  • Warning: Trying to access array offset on value of type bool in refresh_node_load() (line 189 of /home/woodin7/public_html/jayoyster/sites/all/modules/refresh/refresh.module).

An Introduction

My name is Jay Oyster. By trade, I'm a manager in the IT industry, but by inclination, I'm a woodworker. This site began as a place for me to share my projects, my ideas about design, and my commentary on the world of woodworking.

Updates/What's Going On?

  • Posted on: Fri, 2024-10-11 13:37
  • By: Jay Oyster
Start to our vegetable garden - new in June 2024

Well, I'm going to keep this short, because I just want to assure everyone that I'm still here. I'm just struggling to keep using this website. I have a choice. I can either tear it down and rebuild it with some other technology, or I can limp along with it as is. The thing is, I really like the way this website is now. I don't want to try to recreate it, even though the underlying technology has moved on . . . quite a long way . . .from where it was when I built it.  So, even though writing and posting is a pain here, I still like the form.  So a couple updates:

Lighthouse update: Touchscreen interface

  • Posted on: Tue, 2023-08-29 17:20
  • By: Jay Oyster

It’s been a while, huh? The last time I put out an update, I had finished getting the clock and the screen attached to the microprocessor board. Prior to that, I had hooked up the two sound boards and wired some basic speakers in place. This time, I’m going to describe how the touchscreen user interface is laid out. This was a long, iterative process, but I’m just going to describe the features as it ended up. (perhaps with a couple of asides about other things I tried in certain areas.)

 

Sample of the python-driven touchscreen interface running on the M4 board

Whisky review: Bruichladdich - The Classic Laddie

  • Posted on: Tue, 2023-08-29 12:47
  • By: Jay Oyster
Tonight, working on my website while we're getting pelted with rain out of feeder bands from hurricane Idalia. Opted for a classic. Tonight it's The Classic Laddie.
 
Bruichladdich Unpeated Single Malt Scotch
50%ABV, NCF, NC, No age statement. This was bottled May 2020. Strong alcohol on the nose. pink rubber eraser. granola. petrichor. salted ham. seaweed. looong finish. candy cane.
 
Using my 0-100% personal taste history rating system: 89
 
Stay safe everyone.
 

Lighthouse update: Adding Screen and Coding

  • Posted on: Fri, 2023-05-19 11:34
  • By: Jay Oyster

OK, to reiterate where we are in the build of this Smart Weather Lighthouse build, up to this point I had configured the sound files and sound boards to play when triggered, and powered on and loaded Circuitpython on the Metro MX  board. Up next, I'll go through how I got the 4.7" touchscreen attached and operating. And then talk about getting data back to the Metro board using the OpenWeather API, and finally, attaching the clock.

  • Configuring the sound boards, speakers and audio sample files - DONE
  • Setting up the MX board with Circuitpython and activating wifi and basic code - DONE
  • Attaching the touchscreen driver board and touchscreen to the Metro MX board - This update
  • Initializing the Openweathermap API calls for local weather data - This update
  • Attaching the realtime clock board to the Metro MX - This update
  • Building the basic touchscreen user interface
  • Wiring the lighthouse lights and motor to the Metro MX board
  • Triggering sound effects with the Metro MX Board
  • Building the wooden lighthouse base Installing the electronics into the base

Screen used: 4.3" 40-pin TFT Display - 480x272 with Touchscreen

Lighthouse update: Soundboards and MX Board Setup

  • Posted on: Wed, 2023-05-17 14:09
  • By: Jay Oyster

So far, I've described the overall idea for the smart weather lighthouse, and what the various systems of the build will be, but let me lay out the stages to this build . . . since it is a bit complicated. These are the steps I went through to pull it together:

  • Configuring the sound boards, speakers and audio sample files
  • Setting up the MX board with Circuitpython and activating wifi and basic code
  • Attaching the touchscreen driver board and touchscreen to the MX board
  • Initializing the Openweathermap API calls for local weather data
  • Attaching the realtime clock board to the MX
  • Building the basic touchscreen user interface
  • Wiring the lighthouse lights and motor to the MX board
  • Triggering sound effects with the MX Board
  • Building the wooden lighthouse base
  • Installing the electronics into the base

I have to say that I couldn't have pulled together all of the electonics and coding without the excellent support of the Adafruit projects and learning pages.

Adafruit Soundboard FX board with headers and speaker terminals

Challenge Coin Display Stand

Challenge coin display stand in poplar with walnut stain
This is not a complicated project, but I found it rewarding.  Last year, my sister asked if I could make a challenge coin display. Now, I had no idea what a 'challenge coin' was, so I had to do some research. She gave me a starting point. She had seen such a display on the TV show 'Criminal Minds'. She gave me a season and episode number, so I went out and bought that episode on Amazon Prime. (It wasn't available on any of the streaming services I have.)  In Season 7, Episode 18,  a challenge coin plays an important role in the plot, and display is shown on someone's desk at 42:25 into the show. Challenge coins are used, often by military units or for particular military milestones, to indicate membership in a rare group that has accomplished something difficult. They're also used by some other groups as a sign of membership, such as industry or affiliations.  My sister and her husband had acquired a few over the years related to fan conventions, and they wanted some way to display them.The example shown in the episode is a single board with slots on top for each coin, in a single row. I gather that would not be large enough for the number of coins they have. So they asked for a tiered stand.

I started off as I have typically done lately by opening up a gridded notebook and making some drawings. I needed to understand the typical sizes of these coins, and how many could be places in a certain area. I understand the coins are made by several companies and are usually of very high quality, including fine metals, engraving, enameling, and while many are round, some are odd shapes. So I needed to accomodate a variety of potential coin types.

Most coins are between and 3 and 4 mm in thickness, and around 4.5 to 6 cm in diameter.  (1.75" - 2.0")

I opted for a simple board tray with multiple row slots for the coins, and a riser mounted at the back to lift it to create tiers. Overall, it was going to be about 12" wide, 6" deep, and about 2 1/2" tall. (30cm x 15cm x 6cm)

StartDate: 
Thursday, September 1, 2022 to Saturday, December 10, 2022
Finished project?: 
Yes

Pages