Drawbot pcb files / schematic

August 6th, 2011
by admin

Here are the v2.1 files for the drawbot Ive been working on.   (The files are below)  Special thanks to Laen from http://dorkbotpdx.org/wiki/pcb_order for the help learning to export gerbers and check them with GerbV.

 

This was inspired by trying to help a friend with some hardware issues with the Makeitlast contest #3.  It just turned into a project after all the work that went into it :)

 

Image from documentation soon to be posted

“Released under the Creative Commons Attribution-ShareAlike License (3.0)”

http://creativecommons.org/licenses/by-sa/3.0/us/

Thanks to Adafruit for getting me threw the legal jargon  for the stuff above.

confirmed working. :) THE POWER SUPPLY IS TIP POSITIVE ! there is no reverse current protection.

Hardware source

Schematic  I should mention just use 1uf ceramic caps I think I messed up their values in the schematic.

Board

Gerbers           to order pcbs (about 45$ for 3 boards)

Parts list  with digikey P/N where available

Board readme  This document pertains to an upcoming release of a new firmware and the DBC app. Key mappings are not the same as the firmware below. 10/14/11

quick assembly tips:

  • Don’t forget to connect the grounds above the LDO (seen in picture above)
  • Put sockets on the PIC, eprom , not the hbridges.
  • The led, the flat side is the bottom , if the pcb silk screen is right side up.  It is marked with a line.
  • PIC pin one faces up . eeprom pin one faces down.
  • Solder the ICSP right angle header from the bottom so the pin one indicator is visible as seen above .
  • The led will NOT light when power is applied to the (UN-programmed) board , it is not a power indicator but rather a debug led connected to an io pin , controlled by firmware.

 

Applications to use the drawbot

Picture Decoder by Colin Faulkingham  (MIT license see source code)

Drawbot control app v1 by Jayson Tautic for  v1.0 precompiled hex below

FIRMWARE DOWNLOADS

Github current version source

Current version 1.0  precompiled hex

 

The files below are an upgrade to the version 1.0 

They do not work properly with Drawbot control at this time.

PIC Firmware  first version 1.x

Pre-Compiled hex file (1.x )

 

 

 

pixels used below

Pixels used for Tautic logo below.

 

It is interesting to me, no one commented on the Right side , how the first line ends , it goes up (and over an extra pixel width each time) .

 

 

Second attempt at a circle. :)

 

 

 

 

 

First drawing. 24x18

 

Testing the EPROM

 

 

Quick pic of the logic comming out of the EPROM , reading page zero which is in its blank state (all 255)

 

And a quick readback after writing 1 to the first page.

 

Quick screen shot of v2.1 using my Logic Only showing one stepper output...

 

Here is a short demo of the v2 greenwire board half mounted and working. It has since been mounted to the wall with the motors 6 feet across


Fast Tube by Casper

 

 

Posted in Uncategorized | Comments (1)

Automated darkfall swimming mouse emulator

April 9th, 2011
by admin

If you don’t play Darkfall then you probably have no idea what this is.  In Darkfall they make you do things like ride a horse for a really long time to skill up the skill riding.  Pretty much every thing in the game can be done repetitively to make your character better.  This is /not/ fun .

You can ride a horse into a wall and go watch a movie but people always come and kill you and steal your horse.  Tons of people do this swimming into docks or walls so they dont randomly run into some one and get killed.

I used a TAUTIC PIC18f14k50 break out board , and the Microchip mouse in a circle demo to make a ‘mouse makes you swim in a circle’ program that does exactly what it says. It makes your mouse move to the right at a constant speed so you can run a swimming / diving / riding  etc macro on your favorite macro program and do it out in the middle of no where.  This means you can run a pretty effective macro and not worry about your town getting rolled and you dieing.

To use this with the TAUTIC PIC18f14k50 break out board   press the button labeled RA3 and hold it while inserting the USB cable.   This .hex file can be loaded into the breakout board using the bootloader it comes with and the accompanying bootloader pc side app found in the microchip applications library under the HID boodloader folder. Im sure if you buy one and ask him to load this firmware he would be happy to ship it ready to go.

When you plug it in it is seen as a mouse.  RA3 switch toggles the continuous mouse movement to the right on and off. Which keeps you swimming in a circle out in the middle of no where safe.

Ps dont worry, this is not usable for PVP, ie using it to run in circles while dueling. I intentionally coded it so its not going to give any advantage in this situation.   All this is useful for is afk macroing.

DOWNLOAD THE HEX FILE HERE

Posted in Uncategorized | Comments (0)

RCecu firmware Download (almost v1) †under construction†

March 30th, 2011
by admin

 

RCecu firmware v .75 CLICK HERE TO DOWNLOAD

It will have to be unzipped in the root directory due to its names size. ( c: )

 

Program flow diagram

Disregard previous schematics. I will post updated ones soon.

Parts list to come

Video (using my new camera from Digikey!  Wow this camera is nice Thank you again! )

Road demo
Fast Tube by Casper
      Console demo
Fast Tube by Casper

Using google documents with hyper terminal for speedy graphs.

Makeitlast contest for calibrating sensor tutorial.

 

All of the EEPROM code is in , few little things to work on still, like a quick press to the button writes a page of nothing if the logger is not on.  It should do nothing in this case.

I noticed a few projects with nearly the same schematic as this so I thought I would get the code up.

When I have had some coffee ,  I will put up some features here. And probably a video demo later this after noon.

 

Datalogging

  • half second intervals (RTCCalarm)
  • One button interface hold till led blinks to indicate logging, or quick press to terminate logging.
  • Interrupt driven logging.
  • Page writes
  • Scans for data on startup.   (searches for 255 in block zero of a page)  Doesnt lose data with loss of power.
  • Logs temperature

Temperature sensor

  • Grounding issue resolved , consistent   measurements now
  • Still needs calibrating

Turn signals

  • Blink on time with the half second bit of the RTCC
  • Although the mapping is off, they are finely tuned to the control I have

Brake signals

  • ECCP driven PWM capture
  • Also used for indication for logging

Shell commands (hyperterminal etc)

  • Various test and debug commands
  • Clear all used memory   (c)
  • Download Datas               (d)
  • Make fake datas               (m)                   Saves time since the logging rate is fixed.
  • Next address                    (n)
  • Previous address            (p)
  • current  Address             (a)

 

Limitations

  • A quick press to the button writes a page of nothing if the logger is not on
  • My pickit 3 doesnt like this board. My pickit2 works fine if the board isnt powered.  The problem is the Buss sense pin which is one of the ICSP pins.
  • If you turn the transmitter off , and have the servo battery on, and connect it to usb it hangs.   You should turn the logging off, then turn the servo battery off,  at the track. Then just plug into USB from 100% off . It will be powered from the USB and not power the receiver so its safe to download datas in the pit. It can run off of both at once no problem, if the transmitter is powered on.
  • This code utilizes only the first bank of memory. Half of the memory chips capacity is still brand new if the EEPROM endurance ever fades.
  • Ive got the wrong diodes right now. If your using the ones I have they are not correct.  I will post the right ones with the updated schematic. The diodes work but seem to stop at half battery power.

TOdo

  • Interrupt time outs on steering and throttle reading functions.  (Thanks @monpjc for the suggestion)
  • Fix above
  • Power saving , which hasnt even been considered yet, these cars have nice rechargeable batteries
  • Id like to see a simple Processing app , that is made specifically for this.
  • Couple lines of code so it doesnt download empty memory blocks between logs
  • Add line of code to stop logging when usb is detected incase some one leaves it on.

Posted in Uncategorized | Comments (0)

Round 2:

March 17th, 2011
by admin

I read the manual now , figured out every thing I had any trouble with (manual passes its test). Now Ive changed out all the generic parts for the ones I was originally using and fixed up the ground issue.  Its all in the details here. All the labels are proper , well unless I missed one.  The “to”s are in and properly labeled. It turns out if you read the manual it explains every thing in an easy to follow tutorial.  The searching isnt as bad as it first appeared also.  The manual shows some methods to speed things up considerably .

I am pretty impressed with this.

 

Ps I forgot the zero ohm resistors. There is a great explanation why to have them HeRe.

Almost ready to post a legitimate first revision.

Posted in Uncategorized | Comments (0)

Designspark PCB test drive.

March 17th, 2011
by admin

 

I woke up today and started working on fixing my ground issue.  But I wanted to show what 8 hours with a program I installed yesterday at like 5am got me.  I figured out every thing except how to make my ground and 3.3 symbols connect to the inner planes.  Still working on that.

Working with eagle was counter intuitive.  Tutorials brute forced me threw setup, and threw the counter intuitive interface (thank you sparkfun and adafruit)  but after a few weeks of using it I still find my self doing things like pressing delete to delete things and that just isnt how eagle works.  Of course this is only one very small example but thats not my goal here to rip on eagle.  It is powerful.

I decided to check out Designspark PCB 2.0 yesterday at 5 am.  I was caught off guard by the intuitiveness of the design.  For instance the tutorials to import Eagle files that you would expect to be nestled away in the web site is distributed with the program and is accessible from the help menu. This was actually so intuitive it caught me off guard and I spent a good 25 minutes searching the web for it.  Now please note I was making a point NOT to read instructions , quick start guides, tutorials,  or the forums . I wanted to see how easy to use it was , not test my researching abilities.

Within 2 minutes of finding the tutorial I was on my way. And when I press delete it deletes!!!    Shortly after my schematic and libraries were in and All was well.  So I deleted my files and started over from scratch.  Keep in mind the ONLY thing I read was the Importing eagle tutorial.

It took me no time at all to figure out the interface. Im already able to do more then I was in eagle.  Most every thing is intuitive and once you understand it from playing with it things come naturally.

This has some serious potential.  This is something I recommend trying and becoming involved in the development of.  This is a prime example of crowd sourcing working.

Here is a link to the official page for Designspark PCB 2.0 did I mention its free?

There is also a second post after reading the manual, which is very well written and explains every thing very well.

http://jeselectronics.com/?p=589

I think its worth noting because the fine details that Ive never gotten right in eagle are coming together well.  On even playing ground there really is no competition which app is easier , more intuitive.  Designspark PCB wins hands down.

 

Posted in Uncategorized | Comments (0)

Midimixer source.

March 15th, 2011
by admin

I was unable to rework the Microsd jack on my remaining boards. The Card detect line is mixed up in the code.  It reads the card fine if its inserted when its plugged in but removing it causes issues.  I sent out my working board thinking I had this fixed and I was wrong and now wont be able to fix it and test it.  I am planning on redesigning this board using eagle for the files , and using PIC18f46j50 and rotary encoders (lighted).

 

This code is rather embarrassing.  Ive been meaning to write some functions so it wasnt so inefficient in how it handles the pots .  But with the failed boards I will be holding off on rewriting it until I can afford another run of pcbs.  This is going to be a while so here it is.

Firmware, compiled firmware, schematic, pcb file using easy pcb.

The switches are a bit off in footprint . Also the resistors are a bit small they go in at an angle.  HIGHLY recommend using different micro sd jack then I did. That thing is hard to get assembled.  2 in 4 success rate  here.  Keep checking back I was planning on rewriting this and kicking off a git account with it but it will be a while before I can get to it now.  As embarrassing as the code may be , it works if the card just stays in all the time.

I made this so people could be inspired to make something and with MPLABx and other developments not to far off the relevance of this will be less.

Posted in Uncategorized | Comments (0)

Bread board tips

March 15th, 2011
by admin

One really common issue people have is making semi complex circuits on bread board and after its been working it stops suddenly.  This can be the single most devastating setbacks because often (at least when it happens to me) the problem is a bad connection inside the breadboard not a missing jumper. One of the most common reasons for this happening to me is using the wrong size jumpers.  When you bend up jumpers  they seem to get minds of their own and over time present errors like this.  Another way to have this happen a bunch is to make your own jumpers from wire that is still able to fit in the breadboard but slightly too large of AWG.  Another way is to bend the jumpers slightly to big or small which makes the wire go in at an angle and messes up the clip inside the breadboard.

There are a few ways to avoid this.  The first way is to get a large quantity of quality jumpers.  Then use the right jumpers to lay the circuit out.  As nice as the nice long jumpers are that are sold at my favorite electronics shops are (i use them too)  They are long.  On complicated circuits there will be tons of them and one will come loose.  So use the proper size jumper to go the distance you need to go .  Here is an example of this being done , on all but one jumper

Now im not trying to say this is perfect,  but I am saying that making excessively neat organized breadboards is the best way Ive found to minimize intermittent bad connections.  Breadboards are awesome but you have to be aware of their pitfalls especially those magnified by messy boards.

 

How to fix a board once it presents with these issues.

Start by jiggling wires that are not perfectly seated like above.  You might find things start and stop working when you jiggle the right one.

If you dont immediately find it that way get a meter and check power on each board, at the rails.  if this checks out , check at the chips vss vdd .

Check with a logic probe (about 10$) for a pulse on the clock lines if your using an external oscillator.

By this point if its not working your getting frustrated. Take a quick break, then come back and recheck EVERY THING starting with any thing you assumed was right.  Sometimes its something as small as a resistor that broke in half because it was not properly shaped to fit in the breadboard, or heavily used. Ive gone as far as to rebuild the part of the circuit  that is not working with emphasis on neatness.

Most of the test can be done really quickly to verify power , with a resistor and an led.  If the circuit has a PIC or Ucontroller  in it you can set up an i/o pin to light the led to verify the chip is starting up.  If none of these sheds light on the problem then I would try replacing difficult to test parts that might be fried, like the pic, the controller chips.

 

And here is an example of a messy board of mine with the exact problems im listing above , on the thick black power cable on the right. The grey tape on it is an attempt to stabilize the connection.  Laying out the circuit with proper jumpers , and then jumping the hardware with large jumpers will generally make it allot easier to locate this kind of problem.  I immediately jiggled the black power wire when it stopped working because it was the most obvious candidate and it immediately started working.

If you notice some of the red and black jumpers are too large of AWG and once I remove them this breadboard will not work reliably with proper sized jumpers.  Dont do this, it gets expensive .  Keep your jumpers straight. When you remove them use needle nose pliers to fix each one individually both the legs, and the body need to be as close to perfect as possible.  90 degree clean bend.  I go as far as to remove/insert them with needle nose to maintain the perfect shape they come with as long as possible.   Once you find a loose connection and get it working consider making a perfboard solder version. Scroll down at the link.  You will find jumper wire sets, and pcb board. Be extra aware of which board you get, some work like breadboards, some you have to solder the traces from a dot matrix.  Examine the copper and consider your layouts

@collin let me know if you are still having issues after checking this.  I suspect your problem will be solved following the steps above. If not I can look closer at it and see if i can find the problem.  I just glanced at it and didnt catch any blaring errors.

I think its your stepper leads.  I see a bit of solder on them and I would start my jiggling on them . hehe   If im right its your left board working the right is not , and its the motor leads. specifically the one between 15 and 20 on the left side of the controller chip, on the right board.

Posted in Uncategorized | Comments (3)

How to help Japan if your creative

March 14th, 2011
by admin

If you are artistic you should submit a Tshirt design for the threadless cause for japan at the following link.  100% net profits go to help Japan.  The site is experiencing higher then normal volume and may take a minute to load be patient the guys at threadless are working hard to  upgrade their hamsters er um servers.

 

http://causes.threadless.com/japanrelief/

Posted in Uncategorized | Comments (0)

Tautic PIC18f14k50 Breakout board revision 3

March 14th, 2011
by admin

Allot of improvements to the Tautic PIC18f14k50 breakout board have been made.  I encourage you to check the official post on it which also serves as an email notification for when they are ready. Just leave a comment at the bottom of the link to sign up.

Whats kind of unique here is the crowd sourcing done during development.   The end result is a well thought out , easy to use board that is remarkably affordable and tiny. It embodies why there is always a comment that there are super affordable , ultra capable options out there.

This is what I think of when I ponder the fabled Arduino killer.  Granted as Phillip Torrone has eloquently put in his article there is much more that goes into an ‘arduino killer’ then a nice board.  But Ive also seen Microchip making vast strides to act on the advice.  MPLABX for instance , linux support, the microstick,  combining  the individual software compliments into an easily manageable Applications Library. The list goes on and on.  Even their compiler options are being simplified. In effect  Im not saying this is an ‘Arduino killer’  but I see the gap narrowing quickly.

Posted in Uncategorized | Comments (0)

RCecu PCB

March 13th, 2011
by admin

I think I have this as small as it is going to get. This is just auto routed Ive been working on the basic layout and shrinking it down as much as I can.  Next I need to route it and make the traces the proper width.

 

I was subtle and think i prompted a great write up on why not to let Autoroute make your boards.

http://www.designspark.com/content/pcb-design-mixed-signal-circuits

The picture above is a prime example of what not to do .  This board is being made with the intention of using a 4 layer board and ground and power planes. Autoroute is making huge ground traces.  Read the article and see why this although mightwork some of the time wont work for mixed signal boards.

Posted in Uncategorized | Comments (0)