Sunday, October 1, 2017

Arduino sine wave siren code using a lookup table in flash memory (PROGMEM)

ADVERTISEMENT:

Subscribe by Email! (via FeedBurner)
By Gabriel Staples
Posted: 30 Sept. 2017
Last Updated: 30 Sept. 2017

Related Articles:
Other Articles:
(*Articles containing or linking to source code are marked with an asterisk)
Demo Video: 



***Subscribe by Email! (via FeedBurner)***

Saturday, August 26, 2017

How to make a Linux Live USB with a 2nd, Windows-readable partition for storage

ADVERTISEMENT:

Subscribe by Email! (via FeedBurner)
This article is a "Notes to Self" article. That means I wrote it for my own personal reference and use, with myself as the target audience during drafting, but decided to post it here because I believe it is useful to others too, and I want to reach as many people as possible, not just me. 

Ever wanted to have a bootable Linux USB flash drive with a separate, Windows-readable partition for general file storage? Here's how.

By Gabriel Staples
Written: 26-27 May 2016
Posted online: 26 Aug 2017
Updated: 26 Aug 2017

The Gist of it/The super short version:
-for the experienced Linux user
  1. Use gparted on a Linux computer to make 2 FAT32 partitions on the thumb drive. The partition created first must be for storage, while the 2nd one must be for the Linux distro you are putting on the Live USB.
  2. Use UNetbootin on a Linux computer to install your iso file for the Live USB onto the 2nd partition you just made above.
  3. Done. You can now boot from the USB thumb drive, from its 2nd partition, while its 1st partition only is readable and usable by Windows still (as well as by Linux or Mac too of course).


***Subscribe by Email! (via FeedBurner)***

Wednesday, April 12, 2017

Computa Pranksta USB Mouse & Keyboard Device User Manual

ADVERTISEMENT:

Subscribe by Email! (via FeedBurner)

Computa Pranksta now available on Amazon
Click link above or image below to go to Amazon and purchase.

Computa Pranksta User Manual
For Device Version: v0.90.0 or later
By Gabriel Staples
Written: 12 Apr 2017
Last Updated: 17 July 2017
Update History (newest on TOP):
-20170717 - added YouTube video: "How to Use & Configure..."
-20170423 - bug section updated w/some info about Caps Lock Response Mode 10
-20170422 - now available for sale on Amazon! Purchase links added.
-20170421 - added images
-20170416 - added bug notes; minor additions
-20170412 - initial version

Congratulations on your purchase of the Computa Pranksta USB Mouse and Keyboard device. Don't have one yet? Click the link above to purchase it on Amazon. This device is great for playing tricks on your friends, or just for keeping your computer awake when giving presentations, watching movies, playing certain video games (like Real Flight RC simulator) or when you don't have admin rights to change screensaver and screen lock settings.

This devices does NOT require any software or special drivers on your PC. It simply tells the computer it is a standard Human Interface Device mouse and keyboard. If your computer tries to detect a new device and install a driver, don't worry about it--even if it says it "fails." The device will work anyway.


Video: How to Use & Configure the Computa Pranksta USB Keyboard & Mouse Prank Device



***Subscribe by Email! (via FeedBurner)***

Friday, March 31, 2017

Arduino (ATmega328) Direct Register Manipulation for Custom PWM Output (ex: 1us HIGH followed by 99us LOW --> 1% Duty Cycle at 10kHz)

ADVERTISEMENT:

Subscribe by Email! (via FeedBurner)
Here's a quick example of how to make a hardware-based 1us HIGH pulse followed by a 99us LOW pulse (ie: 100us period, or 10kHz, PWM with a 1% duty cycle), via direct timer register manipulation. I've left ample comments for you to read and follow. This example below is therefore quite easy to follow and learn from, but just as it took me dozens of hours originally to learn how to do all this stuff from scratch--and to learn about all the different PWM modes possible as described in the datasheet and elsewhere, expect to spend at least a few hours if you are truly going to read the references and dig into it enough to understand it yourself. Good luck and have fun!

References to Study:
  1. Secrets of Arduino PWM, by Ken Shirriff
  2. ATmega328 Datasheet (660 pg version from 11/2015)
  3. ATmega168/328-Arduino Pin Mapping

Here's some oscilloscope screenshots of the output on Pin 3 produced by an Arduino Nano running the code below.

Rising edge to rising edge: Δx = 100us


***Subscribe by Email! (via FeedBurner)***

Tuesday, January 10, 2017

Consulting Work

ADVERTISEMENT:

Subscribe by Email! (via FeedBurner)
Page Written: 10 Jan 2017
Last Updated: 10 Jan 2017

Gabriel Staples
Electric RC Aircraft Guy, LLC

  • Click here if you're looking for my Contact Me page.
  • Click here if you're looking for my About Me page.
  • Read here to be inspired:
  • If you're looking to hire me into your company full-time, see my introduction, resume, and LinkedIn profile on my About Me page, and contact me.

Otherwise, if you're looking for some private consulting and custom engineering work, you've come to the right place.

Bluetooth-enabled touch lamp
I am a custom electronics and embedded systems private consultant and developer. I design and build custom digital circuits, write code, and use micro-controllers to meet custom electronics needs.

If you are using an Arduino for your project, and want your engineers to be able to do the same, I am a perfect fit for the job, as this is my go-to tool of choice.

Projects I have completed are listed below.


***Subscribe by Email! (via FeedBurner)***