Now open source. Collaborators welcome.
I have come to the conclusion that I simply do not have enough time to finish the EAGLEView app by myself. So I have decided to release the app as open source so everyone can download the source and build it.
Also, people are welcome (more than welcome, in fact) to contribute to the project.
The app is not finished but lots of functionality is already in place. These features already work:
- Display schematic and board files. EAGLE version 6 or higher.
- Open .sch or .brd file from Dropbox
- Open files by clicking links to .sch, .brd or .zip files (the zip file will be extracted and scanned for .sch and .brd files)
- Pan and zoom
- Click component to see details
- Search for specific components by name or value
- Show/hide individual layers
- Support for multiple modules
There is also some stuff that is not yet implemented. Among these are:
- Ploygon pours. (At the moment, the entire polygon will be filled completely.)
- Need to speed up drawing routines to avoid flickering when redrawing.
- Support for multiple sheets
- Different shapes for SMD pads
- Get the zoom-to-fit working properly
- And other stuff – refer to the
The GitHub repo is here: https://github.com/jenswilly/ios-eagleview
I've made quite a lot of progress on my EAGLE Viewer for iOS. Firstly, it's not just iPad anymore – now all functionality is on iPhone too.
Secondly, it now displays both schematic and board files.
And a lot of other improvements:
- Popup showing component info when tapping an object
- Auto-diameter for pads
Here's a couple of screenshots:
There is still a lot of stuff remaining. I'm not looking forward to the "polygon pour" drawing routine. I can parse the draw the polygons fine, but I need to not fill the polygon where there are other signals, holes and keepouts. Tricky stuff...
Many a time I have found myself sitting at my workbench and desperately wished for a way of viewing the latest revision of an EAGLE schematic or board file on my iPad. But, alas, no such app exists in the App Store.
So I'm making my own. And it will be free on the App Store when it is finished, or course.
So far I can:
- Open schematic files from Dropbox
- Open schematic files directly or when they are contained in a zip archive from another app – Mail or Safari, for example
- Display the schematic (kinda the core feature, you might say). There is still some work to be done here before all shapes can be displayed properly.
- Pan and zoom using standard iOS gestures (pan, pinch)
The next features on the list are:
- Show/hide layers
- Component info popup on tap
- Displaying board files
If you guys have any wishes, feel free to post them in the comments.
Here's a screenshot of how it looks now:
My most recent project is an electronic to/from card for presents. A small device you can attach to presents showing "To" and "From" on a backlit 16 x 2 LCD display.
In order to save battery power, an accelerometer is used to detect motion and the LCD backlight is turned off after a couple of seconds with no motion and the MCU is put to sleep ("deep power-down", actually). When motion is detected, an interrupt is signalled by the accelerometer which wakes up the MCU which in turn turns on the LCD backlight.
The text shown on the LCD can be programmed using a USB connection and a Mac OS X application. The texts are stored in EEPROM.
There are two main design goals for this project:
- Make it cheap. These devices are meant to be attached to presents and then they are gone. Unless the recipient wants to use them, of course.
- Low power. The device should be able to run for a couple of days off two series-connected CR2032 batteries.
The low power consumption appears to be fairly easy to achieve: the LCD with backlight off, the accelerometer and the MCU in power-down mode all use very, very little power.
The low price, however, is more tricky. We'll see how it goes…
These are the main parts:
- MCU: LPC11U24 Arm Cortex M0
- Accelerometer: Freescale MMA8452Q I2C 3-axis accelerometer
- Display: Midas MCCOG21605C6W-BNMLWI 16 x 2 white-on-blue I2C display
The PCBs are designed in EAGLE and I will get them made at ITead. The top side will be hot-plate reflow soldered (mainly due to the 0.5 mm pitch QFN accelerometer) and the bottom side will then be hand-soldered.
Here's a rendering of the PCB courtesy of Mayhew Labs:
Until now I've been soldering SMD components by hand only (here's an image of my first hand-soldered SMD board). However, for my next project I will need to solder an MMA8452 accelerometer (datasheet) which is a 3 x 3 mm QFN package (0.5 mm pitch).
And while it is possible to hand-solder QFN packages (I've successfully hand-soldered an ADXL335 accelerometer in a 4 x 4 mm LFCSP package – which is a 0.65 mm pitch QFN), it is simply too difficult and too much bother (I'm sure people with better dexterity and eyesight than me can do it easily).
So: no way around it, time to start doing some reflow soldering.
For a hobbyist like me there seems to be three ways of doing it:
- Toaster oven
- Hot air rework thingie
- Hot plate
Originally I planned on using a toaster oven and this nice reflow controller from Beta LAYOUT. But after reading SparkFun's tutorial and the comments I decided on trying the simpler way first – which is getting a hot plate or electrical skillet.
They didn't have a skillet in the store and I couldn't be bothered to check other stores so I bought a simple and cheap hot plate.
And it works perfectly!
I got some (leaded) solder paste (like this one from Farnell) and applied the solder paste straight from the syringe needle (for the TQFP, SOIC and QFN packages I dragged a thin line across the pads), placed the assembled PCB on the hot plate and dialed it to the second-lowest setting and kept an eye on it to see when the solder paste started reflowing. After a minute or two, everything had reflowed and I took the PCB off the hot plate. This is what it looked like:
A lot of tutorials warn against using too much solder paste. If anything I should have used a bit more on the "big" components like the 1206 resistors and some of the 0805 capacitors. But both the SOIC and TQFP packages look nice and not a single solder bridge to clean up.
Of course, the real test is the QFN device. The pads are all nicely aligned with the PCB traces leading straight to the pads so it looks good, but we'll see when the board has been fully assembled (battery holder hand-soldered on to the bottom side of the PCB, for example) and the MCU has been programmed…
Even though it worked well enough, I will need to make two improvements:
- A thinner needle for the solder paste syringe. I will order these 25 gauge (0.25 mm) needles from Farnell to be able to apply the correct amount of solder paste to the pads.
- I will need an aluminum slab (about 15 cm square and 1 cm thick) to more evenly distribute the heat. Because the hot plate heats up pretty unevenly. According to this IR camera image, there is a difference of about 80 °C between the hottest and coldest spot on the hot plate:
A special thanks to the authors of the following articles – they were a great help:
Everybody knows that anything made out of carbon fiber is automatically cool (well, almost).
I just found out you can make your own carbon fiber parts. Or cover existing parts in carbon fiber. (I'm sure it's nothing new but I just found out.)
I've ordered this kit from Easy Composites in the UK and I'm planning on covering some 3D printed parts in carbon fiber. I'll let you know how it works out…
For the remote control project, I'm still undecided on whether to use Wi-Fi or Bluetooth LE for connectivity.
Bluetooth LE is still a quite new technology and there aren't many manufacturers of Bluetooth LE chips and modules. Read this article for a good guide to the availabe chips and modules (most of which seem to be based on TI's CC2540 chip).
There's no way I'm going to mess around with the chip itself – impedance matching of the antenna trace and shielding and whatnot are better left in more capable hands. So I'll be using a complete module. And Bluegiga's BLE112 seems nice: it's based on the CC2540 and there's plenty of documentation on Bluegiga's Tech Forum (you need to register to access the documentation which if both free and easy – no NDA's or anything).
However… There are not a lot of distributors of the BLE112. Mouser has it. But it "may require a licence to export from the United States". But I went ahead and ordered a couple of BLE112 modules and a CC DEBUGGER (which is necessary for configuring the BLE112 module).
It turns out that Mouser was not able to export the CC Debugger to Denmark and for the BLE112 I had to fill out an "Customer End-User Certificate" so they can decide whether I'm eligible for getting my hands on that kind of technology or not. (Strangely enough, Bluegiga is based in Finland which is practically Denmark's next-door neighbors.)
I did, however, manage to get a CC Debugger from the Danish branch RS Components instead (since they ship from Europe there is no export hassle) and I'm still waiting to hear from Mouser…