Wednesday, April 12, 2017

Computa Pranksta USB Mouse & Keyboard Device User Manual


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: 22 Apr 2017
Update History (newest on TOP):
-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.

***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)


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


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)***

Monday, November 21, 2016

MAX5481 10-bit Digital Potentiometer Arduino Code


Subscribe by Email! (via FeedBurner)
By Gabriel Staples
Written: 21 Nov 2016
Last Updated: 21 Nov 2016

Here is a sample code I wrote a couple years ago to command and control a MAX5481 digital potentiometer using SPI commands, including storing commands in the chip's on-board EEPROM (to save the last value written), or not.

In this example you have to type commands into the Arduino Serial Monitor to set the digital potentiometer. I then interpret your serial command you typed, then I send it to the MAX5481 via its defined serial SPI API.

The circuit and hookup is described in full in my comments at the top of my code. If you have any questions please post a comment below and I'll be sure to try and get back to you.


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

Tuesday, November 8, 2016

Eagle PCB CAD - How to copy a part from one schematic to another


Subscribe by Email! (via FeedBurner)
Gabriel Staples
8 Nov 2016

Learning EagleCAD? Here's how to copy a part from one schematic or board layout to another.
  1. Open up an Eagle Control Panel, and the board and schematic you are working on.
  2. Open up a *second* Eagle Control Panel, and the board and schematic you want to copy from.
  3. Use the group tool to make a selection of a part to copy.
  4. Click the copy tool, then ctrl + right click to copy the *grouped* selection to the clipboard. Press Esc now to not paste it anywhere in this project. 
    1. Note that you *must* use the group tool followed by ctrl + right click even if only copying a single object, since that's the only way to get it to your PC's clipboard.
  5. Go back to the schematic you'd like to paste into, and click the "paste" tool. Left-click anywhere to paste what's in the clipboard. 


Helpful References:
...among many others.

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