Skip to main content

Posts

Showing posts from April, 2017
A fully functional JDAM paintball board installed in a customer's Angel. Each JDAM was tailored to the customer's specifications. Each board would come loaded with a custom splash screen and various other pre-programmed settings. Here you can see a reflective eye installed into the breech of the Angel courtesy of my local machinist. 
PCB Layout software: Originally I began designing parts in Cadsoft Eagle, but a friend of mine who was working on a project for the FAU marine robotics club demonstrated a much easier way of creating part footprints in a program called Copper Connection. It took some getting used to, but once I learned the interface I uninstalled Eagle alltogether. Copper Connection allows for multiple layers and exports designs in the same way Eagle does. Link to Copper Connection Site:  https://www.expresspcb.com/CopperConnection/ Essentially what you are looking at is an Arduino Pro-Mini. The JDAM features an ATMEL ATMEGA328p-au running at 16Mhz and powered by 5 Volts. The main board has the following features: 3 hardware debounced push buttons for accessing the menu and making adjustments 1 hardware debounced OMRON D2F lever switch to act as a trigger input (also used for menu input) 1 2-position dip switch which controls the tournament settings lock, and the eye logic mode. 1 FTDI p...
The Sketch: Below is the finalized sketch which runs on all production JDAM boards which were manufactured during 2015. Please use and edit the sketch freely.  #include <EEPROM.h> #include <SPI.h> #include <Wire.h> #include <digitalWriteFast.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define trip_count_address 0 #define dwell_address 2 #define mode_index_address 4 #define ROF_address 6 #define eye_sensativity_address 8 #define solenoidPin 2 #define triggerPin 9 #define lockPin 5 #define button1Pin 6 #define button2Pin 7 #define button3Pin 8       // 1.5M ohm resistor to anode of collector, 100 ohm resistor to anode of ir led #define eyePin 0           // 100k ohm resistor to vcc and 10k ohm resistor to gnd needed on board for voltage divider #define eye_logic_pin 15 #define ledPin 16 boolean screen_state = 0;      //scre...
Original Design: The WDP Angel LCD was, in it's time, one of the most advanced paintball markers on the market. WDP was the primary manufacturer and designers like Ken Rice were probably responsible for many of the design features that I sought to mimic. The Angel was highly popular among professional paintball athletes in the NPPL and PSP as well as weekend warriors, like myself. The above animation is quite old and has been kicking around the web for over a decade, but it does show all the parts in the Angel LCD working in symphony. The trigger is pulled by the user, a signal is sent to a PIC microcontroller, located in the handle/frame, which interprets the input and sends an output signal with the correct voltage and amperage to the SMC solenoid housed in the body of the marker (blue component, upper left of the picture). The solenoid controls the flow of regulated air to the markers pneumatic air ram. The ram moves a spun brass hammer back and forth; when in the forward mo...
When I was in college, I was always interested in the relationship between the software I had written and the hardware provided to me in various electronics labs. At FAU our focus was primarily on learning how to program the TI MSP430 family of microprocessors. I remember spending weeks learning the instruction set for the MSP430 so that I would be able to pass my assembly language exams. We covered the normal ABET required algorithms, which were interesting, but I really wanted my microprocessor to do something useful. One night I was finishing an assignment in the FAU electronics lab and one of the TA's for my class handed me an Arduino Micro and explained to me that the language was very similar to C/C++ and that I should be able to pick it up very easily. He was right. At the time I was working on a replica Enigma cipher machine and I needed a way to spin the rotors so that my plain text could be encrypted to cipher text. I remember staying up really late that night learni...