In the near future I want to 3D print a case for my PK2 programmer. That's for another post on another day.
I was searching thingiverse and found a interesting micro robot arm from user Holgero. It uses 9G micro servos so its not real strong but I've been looking for a simple robot arm to control with CHIPINO or Maximite and this looked like a great option. So I printed the components one by one as you can see in the picture to the lower right. I ordered a set of servos from EBAY and as soon as they arrive I can assemble the arm.
In the process of 3D printing these pieces on the Davinci 3D printer, I found that the "Excellent" setting worked the best. It uses a 0.2 level and 30% fill. A 50% fill is sometimes helpful but that is an advanced setting. The test of this came when I tried to print out the very small gear that drives the arm's gripper. I tried 0.2, 30% (Excellent), 0.2, 50% and 0.1, 50%. They are shown below.
0.2, 50% is on the left. 0.2, 30% is in the middle and 0.1, 50% is on the right. The 1% still needs to be trimmed but it had more stuff to trim than the other two. The 0.2, 30% in the middle should work fine but the 0.2, 50% has a better hole size to fit the servo shaft. There was a hole designed into the center for the servo screw but none of them printed it. Below are close-ups of the 0.2, 30% on the left and 0.2, 50% on the right. The 0.1 just wasn't worth the extra time or material. I frankly am convinced that the Excellent setting is the way to go for most prints.
I'm still running off the original cartridge that came with the printer. I've printed a lot of small stuff but I'm still amazed how long it has lasted. It originally said I have 120 m of 120 m max material so that doesn't make much sense since I started with 300 grams of material. But I've printed the whole robot arm and it still says 120 m so I'm not sure its accurate. I'll keep printing until it runs out. I ordered more colors and they arrived yesterday so I'm all set for plastic. Each color is 600 grams so twice as much as I've started with. I may try printing in two color by pausing the print, swapping cartridges and then finish with the second color. I'll see if that will work. I'm also looking at design software. Sketchup is popular but I've played with tinkercad in the past as well so I may try that now that I can actually print the result.
In the near future I want to 3D print a case for my PK2 programmer. That's for another post on another day.
I searched Thingiverse for a product I would use and also so I could test the print quality. I decided on a docking station for my iPhone 5. There were many to choose from but I settled on the one from user Shrotti. It looked like it had an access hole for the charge cable which many didn't so I downloaded it and printed it in Excellent mode
which is 0.2 layer and 30% fill. The results were amazing. The print took a couple hours but I didn't care. I loaded it up and walked away. The Davinci did the rest while I ate dinner and watched TV. The result is shown to the left.
The cable did fit and it was tight.
The design was well done. The dimensions of the cable hole were spot on. A little wiggling of the cable and it slipped into place. There were guides designed in to support it on the sides. My phone had a case but this one was designed for a non-case iPhone 5 or 5S. My son has a very thin case on his 5S and it fit on the dock fine. I charged my phone on it overnight and its already a useful print.
The quality at this level was very good. I tried to print a few things at the 0.1 level but so far its been more troublesome. The 0.2 seems to work fine. I'm having more fun than a kid at christmas with their new toys. I can actually see people buying two of these at the $499 price and printing in parallel. I'm currently printing two items side by side as I write this to see if that works as well. Some forum post stated that you could load two files at the same time and print them together so I'm testing that out.
I'm sure anybody who has a 3D printer is laughing at me over something they've known for a while that these things are not only useful but fun. But I figure I'm just helping out those that are still thinking about getting into this. I cannot recommend the Davinci enough. I did email them about the door not closing but still no answer back. I'm glad I didn't have any serious issues or I'd be getting a bit frustrated with no answer.
The Davinci 3D printer from XYZ Printing arrived and in less than 1 1/2 hours I had it setup and printed my first sample. To put it simply, this printer is awesome. I can see that the resolution of the print needs to be adjusted and this will take some time to learn the limits of this printer but the quality of the unit is really good and the setup was easy. I didn't even need to load any software to get the first print to run.
I created a new 3D printer page and added a step by step picture gallery of the setup. The instructions included were complete and everything went as expected. The one step it said to do was to connect the USB cable to the PC but I didn't see the need since I was going to print one of the samples that was already on the SD card built into the printer. After printing the key chain I then tried another sample which had the name "Sample" so we had no idea what it was. And after printing it we still have no idea what it is. Maybe a holder for a Starbucks cup of coffee?
The next step was to get the software installed on my PC. I am a Mac user but most of my Macs are still running Snow Leopard (10.6.8) but the software needs 64 bit and v10.8. I only have one that meets that need and its being used by my daughter. The requirements for Windows is more forgiving so I tried to use my netbook that I use for programming with Great Cow Basic. It's an Atom machine running XP. I downloaded the software since it doesn't have a CD slot. Then the fun began.
The download didn't like Internet Explorer. So I installed Chrome. With Chrome the XYZ software installed fine. I opened the software and a message stated I needed to update my graphic driver to run OPEN GL 2.1. Mine was apparently only running 1.1. It also looked very funky so it was clear the software wasn't going to work. After a lot of searching I found the Intel site with the driver I needed. It would not install from Chrome so I switched to Internet Explorer and that seemed to work. Then after it installed, I ran the XYZ software again and it said I was now running Open GL 1.4 not the 2.1 I needed. I noticed that the screen looked normal though so I clicked the X to bypass the message and the software seemed to load files fine.
So I loaded a small coin file from Thingiverse and it showed up on the screen but looked flat. I decided the flat look might be my 1.4 vs 2.1 problem so I printed it. And flat is what it printed. I then decided to print a file from the XYZ gallery at their site and found a bigger coin. It printed fine. So I went back to thingaverse and found a new coin and it printed much better but still not the resolution I got from the XYZ files. So that is where I leave it. I'll be playing with files to see what I need to do to get them to work before I design my own.
I've been shopping for a 3D printer for some time but just haven't found what I wanted until now. I didn't want to spend a lot cause I don't think I'll use it a lot but on occasion its nice to have that kind of tool to produce a prototype part or case for my electronic projects. The Makerbot was just too expensive for me and the numerous kits out there just looked like a headache to assemble. The printrbot or solidoodle were the two I was watching the most but both were down in the $499 range and had good reviews but both had some issues for me.
Printrbot started out as a kickstarter project with a low cost kit and then kept innovating to make more low cost versions. But in the process the price kept going up. The $499 version became $599 then $699 while a new low cost version was released. And I wasn't convinced they were getting better by using fishing line instead of gearing or cogged belts despite the positive reviews a model would get. And then only to see the price rise on that model in short time. So I stood by and watched.
Solidoodle looked quite interesting at $499 and it came in a nice metal frame so it seemed sturdy. But the extras quickly put it up to $699 so I had to decide what I really needed and what I didn't. Then they came out with a 2nd generation and then a 3rd and 4th. Each more expensive than the next. So what was wrong with the 2nd that the 3rd and 4th offered? And it never seemed complete with accessories available for extra cost.
Makibox was another that looked interesting at $200 but it was a kit and shipping was high plus it has a 6-10 week lead time plus shipping time. And then my time to put it together.
I just couldn't decide. Then I started seeing printers with LCD screens and SD card and cartridge filament and I decided I just had to start somewhere. So I was ready to start with the printrbot simple but when I went to the site the price had been raised $50. That was it. I was done with that option. So I went back to the solidoodle and somehow in the process of reviewing it I found the Davinci 3D printer from XYZ Systems.
Davinci has a large build area, 7.8"x7.8"x7.8" for $499 which is much bigger than units in the same price range. I could also get free shipping with my Amazon Prime. It included a completely sealed plastic case which cost extra on other competitors. Includes an LCD display. Includes an SD card storage of the build file so I can disconnect my computer while it builds. It had a lot of nice features for only $499. A similar unit from the other two was close to $1000 (as seen in the Amazon ads above). Reviews for it seem to be pretty good. So I decided to purchase one and do my own review while I learn 3D printing. It just fit what I was looking for. I haven't received it yet but I'll keep you up to date in future blog posts.
In my last blog I asked for help with finding a lower profile capacitor for my PK2 programmer. The 47uf 25v part I was using was 11 mm tall. I wanted it no larger than 7mm tall but preferred to keep it the same diameter but couldn't find one that fit the requirements. On a tip from a reader I decided to try a 6.3 mm x 7mm cap that was on Digikey's online catalog under part number P834-ND. I measured it up and it was gonna be close so I ordered some. The order came quick as it usually does from Digikey and the results are in.
The cap is a success. It fits in the location without interfering with the neighboring resistor. The height is perfect as it remains one of the tallest parts on the board but no higher than the PIC18F2550 in a socket. So now I can get to work on a top and bottom plastic shield to encase the programmer.
I also had mentioned that the spacing for the inductor L1 was off, but I realized I hadn't bend the leads tight enough. If I bent them straight down off the plastic casing then the leads fit perfectly in the board. So the PK2 design is complete. Next step is the plastic case.
I finally found some time to build up one of the new PICkit 2 clone boards I had made at ITEAD studio. It was almost a month ago that I posted about receiving the boards. They had been sitting on my desk begging to be tested but I was so busy with other projects, including my latest Kickstarter, that I had to keep putting it off. The good news is the test was successful. The board worked as expected. One minor issue involved the L1 inductor. The spacing was off just a bit so the lead had to be bent back a little. I used a different inductor on the previous design and didn't double check the spacing on the new one. So I'll just adjust it on the next version.
The smaller type B connector is a leaded design rather than the typical surface mount. I used leaded so it could be easily soldered as a kit. But the leads on the connector are so short and so close together I would say its only slightly easier to solder than surface mount. I made the change based on several comments from people that they preferred the smaller connector vs the original larger type A. I made the change but I'm not sure its any better. I'll probably offer both versions on the website so you can choose your own option.
I'd like to design a nice plastic case even if its just a top and bottom with open sides. The biggest hang-up is the 47uf 25v cap. I have searched all over for a low profile version but the shortest I can find is the 11mm tall version without going to a very large diameter. I may have to switch to a tantalum cap but that will be far more expensive which I don't want. If you know of a low profile (7mm or less) with a 5mm diameter, let me know via email. I would appreciate it. With the new lower profile USB connector, the cap stands up like an antenna. I thought about laying it down but there isn't any room on the board for that without moving everything up. So I'll just keep searching.
My first book; Programming PIC Microcontrollers with PICBASIC was written about using the PICBASIC and PICBASIC Pro Compiler from microEngineering Labs. It's a BASIC compiler for Microchip PIC MCU's if you aren't familiar with it. I've been using the compiler since it was first released. Along the way I asked many times for a free version so I could use it in books and reference for readers, even if the version was limited to one device. They listened and would occasionally throw me a bone. At first I had a version that only worked with the PIC16F84A but that didn't last. Then eventually a sample version was released and I used that in my book "Programming PICs in BASIC" which is my second book to use PICBASIC. Then a few years back they released the new PBP3 version and the sample version became a 15 day evaluation version which I hate. Beginner's need more time and 15 days is not enough to evaluate a compiler.
Well, the good news is the PBP3 Student Edition is now a free download. You have to go through their purchasing process but in the end no credit card is needed just a registration and you get an email with the download link and the registration key to enable it. The Student version has two limitations, its for non-commercial use and it only supports the 12F683, 16F688, 16F690, 16F88, 16F886, 16F1937, 18F25K20, 18F25K22 and 18F2550 but thats it. It doesn't expire and doesn't limit you to memory size. Its a full blown compiler to learn programming with.
Now the non commercial limit shouldn't be a big deal since most beginner's or hobbyists are only learning anyway. But if you were to come up with some great design, the Gold Version of PBP3 is $279.95 and gives you full commercial use. And that should pay for itself in the first batch of sales. And your code will build without issue cause the Student Version and Gold version use the same syntax, just a lot more parts supported.
The list of parts may look familiar. They are the same list I use in all my elproducts.com influenced designs such as the CHIPAXE and CHIPINO modules. There are even a few extra. The list gives you a part in 8 pin, 14 pin, 18 pin, 20 pin, 28 pin and 40 pin package. Plus you get a couple larger memory 18F parts. So to say this is limiting is not really understanding what they gave us.
So I tip my hat to the guys at microEngineering Labs for doing this. I plan to include it in future articles and possibly more books. And the MCStudio IDE that installs with it is a great IDE as well. I cover how to install it and use it with the PICkit 2 in my Programming PICs in BASIC book so it fits well with my Build Your Own PICkit 2 project. When I started out, a cheap programmer was $200 and a compiler was in the thousands. So to see how far this has come to make it easier and cheaper for the hobbyist/hacker/maker/basement engineer is just amazing. So enjoy the new PBP3. And tell them I sent you.
If you are a returning reader of this blog, then you will probably notice the updated style of the website. I wanted to make it cleaner looking and change some of the coloring to be more appealing. It also allowed me to move things around a little. Not a big change but I really like it. Hope you do too.
I was asked by a reader if the PICKit 2 firmware configuration settings were available. This is for the Build Your Own PICkit 2 project on my site. The firmware that gets programmed into the PIC18F2550 at the heart of the PICkit 2 is a .hex file that has the configuration settings encoded in. I plan to expand on my Understanding Hex Files page to add an explanation for how this is done but for now I figured I would just add the configuration settings on the PICkit 2 page.
The settings are shown in the upper right hand corner of the picture above. I captured this from the PICkit 2 software. So I took an existing PICkit 2 clone and connected it to a CHIPINO module. Then installed a PIC18F2550 into the CHIPINO socket. The PICkit 2 sensed the PIC18F2550. Then I loaded the
If you click on the blue Configuration word shown in the picture above, a new screen will pop up with even more detail. I show that expanded screen shot on the Build Your Own PICkit 2 page (which is what I added recently per this post). Hopefully this will help anybody else that may need those settings when trying to build their own PICkit 2.
Another one of my Kickstarter campaigns, this time the Maximite BBX BASIC Language Computer, recently completed and was successful. I knew this would be a tough one so I ran it for 60 days instead of the normal 30. The project is based on the open source Maximite Computer design by Geoff Graham. My main goal was to create a beginner's book on programming in the old fashion BASIC language that I learned programming with and see if there was enough interest in the idea. I needed 100 backers to basically break-even on the project and 100 is what I got.
The Maximite is a great platform for the book and no computer is needed if you have the Maximite. It is the computer. There are existing Maximite boards and kits available but I wanted a complete package with a plastic or wood case to protect the electronics from young hands but also allow access to the Arduino headers and Electrical ports for expansion. These I/O features allow me the chance to introduce embedded style programming as well.
Thankfully the project was successful and now I'm working with some of the suppliers to deliver the rewards and the biggest task is finishing the book/manual. In it I introduce programming at the entry level and then expand it out with a several key projects. If this goes over well then I can follow-up with more project style books. I'm looking at open sourcing a lot of the info so others can share in the fun.
Some may say this is a waste of time because there is Arduino and Raspberry PI that can do a lot more. But typically "Lot More" also means "Lot More" complicated. And since I'm all about the beginner, I feel starting with the BASIC language is still one of the best paths to success. There are also a lot of people trying to recreate this BASIC style programming on the Raspberry PI so why not have a dedicated option.
I also know there are a lot of "old timers" like me who still appreciate the old style BASIC programming and the Maximite BBX brings that back with a modern twist. I already have a separate website setup for the Maximite BBX which I plan to link in to this site's menu and then expand it for the future. Stay tuned for more info about the BBX in the future.
When programming a Microchip PIC you will need to setup the configuration settings. These are the settings that control which oscillator to use, internal or external, high speed (>4Mhz) or low speed (<4 mhz). The MCLR reset pin can be an external reset pin or a standard input pin. The watchdog timer can be enabled or disabled. Low voltage programming (which a lot people get caught by) can be turned on or off.
All these and more are in the configuration settings.
Most devices have default settings and then the compiler you are using will probably have some default settings as well. The Great Cow Basic compiler I like to play with, has default settings based on the speed you are running and what device you are programming. In the end the assembly file produced will have a line that starts with __CONFIG ... and then all the settings. Sometimes this will occur on multiple lines. But in the end all that data ends up in the .hex file you program the Microchip PIC device with.
When you load the .hex file into the PICkit 2 programmer software, it will automatically load the configuration settings from the .hex file. You can then manually change them if you want. Some programmers default to manual setting but most have the option to read them from the .hex file.
Configuration settings can be some of the most confusing parts of programming Microchip PICs for a beginner and that's why I like the way the Great Cow Basic compiler handles all that for you. To really understand all the configuration settings for a device you have to read the data sheet and I won't go into that this time, I'll save that for another blog post. The more complicated the device is the more configuration settings it will have. So that's why its typically not the best move for a beginner to start out with the latest and greatest Microchip PIC device. Its why I recommend the PIC16F690 or the PIC12F683 which I used in a couple of my books. The PIC16F886 is also fairly simple when is comes to the Configuration setup.
So don't be intimidated by the Config settings, just learn the basics before you program. I plan to add a section to my website on this topic in the future. Until then if you have a question about programming or config settings shoot me the question through my contact form and I'll try to help you out.
Advertise here for only $25 per month. 170x50 pixel add with graphics (similar to Howtronics above).
Contact us at our contact form for more detail.
Visit previous blog posts in the archives below.
Chuck has been programming with PIC Microcontrollers since there were only five devices. Now there are over 700 and growing. He also has a lot of fun 3D printing designs using his Davinci 3D printer and TinkerCad software. In this series of blog posts and occasional videos on his YouTube Channel he tries to help you get started with electronics and 3D printing.