TROOPERS conference badge

  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.

Electronic badges are all the rage at IT security conferences these days. I think DEFCON started it all with badges made by Joe Grand, but there have been many others, like the Sputnik RFID tags at 25C3, the expandable bunny badges at Easter Hegg, Munich, by lilafisch and friends, and Travis Goodspeed's badge for The Next Hope.

I created 210 interactive badges for the TROOPERS11 IT-sec conference in Heidelberg last month. They feature some ethereal vintage vacuum glassware - IN-16 nixie tubes made at the Reflector factory in Saratov in the former USSR in 1989. I purchased them new-old-stock from some handy guys in Lithuania.

A video of the badge in action:


 

Each conference attendee starts on zero. As they unlock achievements at the con - like sending postcards to their families, meeting the speakers, unlocking the secret in the badge, attending my SMT soldering workshop, etc, attendees level-up. Those who reached the highest levels were entered into a prize draw to win hacker goodies. I designed this levelling-up concept to connect with the central themes of the TROOPERS conference - personal progression, education, and becoming better IT security professionals. Florian did an amazing job of weaving the badge and the game concept into the very fabric of the conference. 

The badge hangs around the neck from a CAT5 cable, rocking the network security image. Red for the speakers, green for everyone else. Here I am wearing the bare, prototype PCB. Have you any idea how difficult it is to find 750mm CAT5 cables? It's quite difficult.

As well as being the LANyard (sorry) the cable functions as the power switch, levelling-up mechanism, programming interface and debug output (and attack vector for intrepid hardware hackers!). When an attendee unlocked an achievement, he took his badge to the information desk where one of the organising staff would plug in a special dongle to update his score. The dongle is simply a TI Launchpad (MSP430G2231) with a CAT5 cable soldered on, running some custom firmware to transmit a magic byte over SPI to the badge.

The batteries and electronics are on the back of the badge. 

Design materials

You can download the design materials here . The hardware is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. The firmware is licensed under the GPLv3 . If you just want a quick look at the schematic, it's available separately here .

Circuit design

The badge is powered from two AA batteries. The nixie tube uses most of the power, so I could basically trade nixie shininess for battery life. I chose a gentle fade-in-fade-out animation, with the duty cycle set for around 40 hours of use. The output voltage of an alkaline cell decreases nearly linearly as it is discharged. Even when it reaches 0.9V or less it still contains a decent amount of energy. To make full use of the energy in the battery the badge must work from a supply voltage of 1.8V or less. The nixie tube needs around 150-170V at 1.8mA. I use an MCP1640 DCDC to boost the battery voltage up to 5V to power the low voltage electronics, microcontroller, etc. Then I use a microcontroller-based DCDC to get from 5V up to an adjustable voltage between 0 and 200V. It's quite difficult to get from 5V to 150V efficiently and cheaply with a standard boost topology, so I use a flyback topology with a small transformer.

Whilst small, high performance, SMT inductors are completely ubiquitous, similar transformers are not. This is due to low industrial demand. Camera flash circuits (which, just like my nixie supply, must step from battery voltage to 150-300V) are about the only application for small transfomers. They are only made by a few large companies, and only leave the East inside cameras. I got mine from Tokyo Coil Engineering, and I really owe them a favour! They usually sell in enormous volume to people like Sony and Casio. 

I used an ATmega48 because it was the cheapest microcontroller around with enough timers, IO and ADC channels. I don't really like AVR's. Their fuse system is a real pain in the arse (fuses in general are a pain in the arse) and they have about 10 different proprietary programming and debugging interfaces. But hey, people seem to like them, and the price was right! The AVR produces a PWM signal that switches the FET on the primary side of the transformer, and the voltage is boosted on the secondary side both by the turns ratio and inductance of the transformer. The voltage is attenuated and buffered, and fed back to the AVR's ADC. The firmware measures the high voltage supply via this attenuation, and adjusts the PWM setting using a PID control scheme. The PWM output is capacitively coupled into the FET gate so that the FET doesn't blow up if the AVR crashes. The efficiency is pretty good; 75-80% depending on voltage setting, etc. 

Instead of using a resistor to limit the current through the nixie tube, I used a 1.8mA active current source. I designed it this way with the intention of using a high voltage to strike the neon then reducing the voltage to minimise power dissipated in the current source. Quite an elegant idea, I thought, but I ended up manipulating the DCDC voltage to fade the nixie in and out, rather than dimming it with another PWM channel. So if anything, the current source was probably a slight hindrance because it made the nixie brightness much less sensitive to supply voltage. Never mind, it all turned out nicely in the end!

The 12 individual nixie cathodes (0-9, left and right decimal points) are switched by high voltage NPN transistors..

The speakers' badges have sound-activated LED's. An electret microphone captures the sound, and it's amplified and fed to the AVR's ADC. Foolishly I biased the mic directly from the 5V rail, which turns out to be pretty noisy when the nixie is at full brightness. I ended up writing a horriffic firmware workaround to dynamically adjust the microphone gain based on the nixie voltage. It worked fairly well, but the sensitivity is still low when the nixie is bright. 

The CAT5 connectors expose the ISP programming interface for flashing the AVR, the SPI port, which is used to increment the score, and a 5V UART which can be used for live debug, etc.There's also a capacitive touch button hidden in the ERNW logo. 

Some lovely graphs

I was, as usual, working right up to the deadline for this project, and ended up writing a lot of the firmware in Heidelberg. I wanted to work around the microphone noise problem, and suspected that I could reduce the noise by improving the high voltage control scheme. Initially I was using a very rough control scheme that either incremented or decremented the DCDC PWM value depending on whether the voltage was below or above the desired setpoint). Since one PWM step makes a significant impact on the output voltage, the whole thing was pretty nasty - too much oscillation when the setpoint was low, and failure to actually reach the setpoint when it was high for only a short period. I decided to hunker down in my hotel room, get the badge to stream live data out over the UART, and plot some graphs in python to see what was really going on.


My original, crappy, control scheme. The green trace is the DCDC output voltage. The red trace is a moving average of this voltage to take out a bit of noise. The setpoint (desired voltage) is in blue, and the value of the PWM signal delivered to the FET is shown in turquoise. The output voltage roughly follows the setpoint, but it is very wobbly when the setpoint is low, and can't quite keep up when it is high.

Note I am ramping the setpoint up and down to get the nixie to fade in and out.The change in gradient near the top of the peak is deliberate - it makes the fading look more consistent to the human eye.

Please ignore the x axis label. It isn't actually graduated in seconds. This whole graph probably shows about 5 seconds of data, not several hours!

  The PID control scheme is a dramatic improvement. The output voltage (green) tracks the setpoint (blue) perfectly. To achieve this, the PWM value (turquoise) is being adjusted in a much more subtle way than before. The red trace shows the error (difference between the true output voltage and the setpoint).
  Next I worked on the microphone noise cancellation. The blue trace is the microphone voltage (recorded in silence). Note the "blob" of noise when the nixie voltage (red) is high. The green trace is a very long moving average used to establish the DC level of the microphone reading. The turquoise trace shows the PWM values being delivered to the FET. I used this signal as the basis of the cancellation function because its shape is very similar to the noise "blob" in the microphone data..
  Here are the results. The blue trace is the input, as before.The yellow trace is the processed signal. On the left I was silent. The DCDC-induced noise "blob" is successfully filtered out, but speech (right half) is largely passed through. Sensitivity is pretty crap when the DCDC voltage is high, but it's the best I can do without a hardware fix!
   

Firmware design

The firmware is written in C, compiled under linux with avr-gcc, and flashed to the badge with avr-dude. I use the AVR Dragon programmer, but there are other options available. At the con, Kevin Redon dumped the firmware binary out using a Bus Pirate, made some modifications, and pumped it back in. He also scored himself an instant 9 by editing the EEPROM image. Respect. Several other guys performed some simple hardware hacks too, shorting segments on, etc., but Kevin's work was the most impressive I saw.

If you're a masochist, you can also  debug the AVR over Debugwire using avarice and gdb. It's unbelievably flaky, though.

The firmware is highly modular and fairly self-explanatory. It is largely interrupt based, making extensive use of the timer peripherals.

Hacking area

Lots of people asked me about this. It's just an empty bit of board with some 0.1" spaced through hole pads and 0.05" spaced SMT pads where you can solder on your own components. The conference attendees are mostly software guys. I wanted to give them a platform that is really easy to hack so that those with budding hardware hacking interests have a low barrier to entry. For maximum flexibility, no electrical connectivity is provided. You can just use wire. I also broke out every pin of the AVR to a pair of through-hole solder points for maximum hackability. So say you want to make your badge into a clock, you could solder a crystal onto the AVR's clock pins. Or if you want to add some radio functionality you could solder your radio chip onto the hacking area, and wire it up to the AVR. Go nuts - totally freeform hacking space.

Shock hazard

The high voltage section is insulated with heatshrink sleeving and self-levelling silicone encapsulant (great stuff, by the way). If you dig your way through it is possible to get a mildly painful shock, but there isn't enough energy stored in the DCDC to do you any harm. Don't take my word for it, though. If you're ancient / part cyborg / whatever, I wouldn't push your luck!

Manufacturing the badge

That was quite some undertaking! I outsourced the manufacture and assembly of the PCB's, of course, but I placed the nixies myself. All 210. This entailed trimming the nixie legs to the right length, soldering all 13 of them to the PCB (6 on the front, 7 on the back), adding heatshrink sleeving and insulating the finished item with silicone. I made some lovely jigs to process the nixie tubes, cut precise lengths of heatshrink and hold everything in place during soldering. Check out these videos:

 


 


 


 

 A closeup of the assembly jig. The perspex assembly (rear) holds the nixie perfectly centred within the cutout in the PCB. The spring steel, aluminium and FR4 assembly (front) clamps the legs down onto the PCB, leaving both of my hands free to solder.

It turns out that 210 is quite a lot of things.

So if you're the lucky owner of a TROOPERS badge, I hope this information inspires you to hack it to do something new! At the very least, please take care of your nixie tube! They are a scarce resource. They haven't been manufactured since the early nineties.

I held a little SMT soldering workshop at the con, where attendees could upgrade their badge to speaker status by soldering on the extra LED's, resistors and microphone. Someone remarked that it was probably the most romantic soldering workshop ever! (Thanks to Insinuator for the photo).

Once again, many thanks to Florian, Enno, Daniel and all at ERNW - thoroughly enjoyed it!

Please ask questions in the comments / by email / twitter, and I'll help you out. If you're running your own con, and would like some similarly insane badges, give me a shout.

Have a look at my flickr account / youtube channel for more media.

categories [ ]

Blown Away!

Wow I'm blown away by the amount of design detail you've put into these badges! What do you do for a living, what kinds of products do you make? Also, how long did you spend planning, and designing this badge hardware and software? Was this the first revision of the hardware?

A lot of your ideas I've implemented on my own nixie tube designs, and some I haven't yet but they were very similar ideas to ones I had. Like the hacking area, breaking all pins out for prototyping, the way you soldered the pins double sided on an edge connector, flyback transformer step-up power supply, constant current output, PWM fading, and even the capacitive button... seriously I've been thinking and planning and implementing all of these! Your design inspires me to finish implementing my ideas and share more Nixie tube goodness with the world!

Awexome job on this project! I hope you can utilize them at even more conferences!

Best Regards,
Brett W. (FightCube.com)

Thanks. I do this for a

Thanks. I do _this_ for a living; engineering one-off pieces in the space between electronics and art. I also stick LED's to celebrities. Have a look at the portfolio for more recent projects (I'm crap at documenting things on this blog).

I probably spent about 3-4 weeks designing everything, writing code and assembling the badges. There was a pretty tight deadline. I made one prototype board to test the analogue stuff, but unfortunately I didn't have time to write enough software to thoroughly test everything before I had to submit the final designs for manufacture and leave the country to work on another project. As described in the post above, the finished design therefore contains some errors in the assignment of pins on the micro, and the microphone amplifier.

I probably won't be reusing the same badge for other conferences because I think each one deserves a new idea. However, as always, the things I have learnt from the project will inform my future work.

Thank you for sharing. radyo

Thank you for sharing. radyo dinle

Very interesting and

Very interesting and insightful. [url=http://www.canli-radyo-dinle.net/]radyo dinle[/url]

mbt clearance sale

womens basketball shoe Warranty Void if Removed | Collected technological projects mbt clearance sale

Celine Bags

replica celine wallet Celine Bags http://yamana.cl/images/celine-boston-luggageceline-bucket-bag/celine-bags-shop-celine-bag-online-9135.asp

Warranty Void if Removed | Collected technological projects

You can definitely see your expertise in the work you write. The world hopes for more passionate writers such as you who are not afraid to say how they believe. At all times follow your heart. My web page: Madeline

Warranty Void if Removed | Collected technological projects

Hello, i believe that i saw you visited my website so i got here to return the choose?.I am trying to find issues to enhance my website!I suppose its good enough to use some of your ideas!! my weblog :: discount hoodies: http://msshirts.com Feel free to visit my homepage - patriot t shirts

Warranty Void if Removed | Collected technological projects

Hello colleagues, pleasant paragraph and pleasant arguments commented here, I am genuinely enjoying by these. My webpage; www.pof.com login

Warranty Void if Removed | Collected technological projects

Excellent blog! Do you have any suggestions for aspiring writers? I'm hoping to start my own blog soon but I'm a little lost on everything. Would you propose starting with a free platform like Wordpress or go for a paid option? There are so many options out there that I'm totally overwhelmed .. Any suggestions? Appreciate it! Here is my page - Garcinia Cambogia Edge

Warranty Void if Removed | Collected technological projects

Have you ever considered about adding a little bit more than just your articles? I mean, what you say is fundamental and all. Nevertheless imagine if you added some great graphics or video clips to give your posts more, "pop"! Your content is excellent but with images and video clips, this site could undeniably be one of the most beneficial in its niche. Awesome blog! Review my page ... ministry of educations

Warranty Void if Removed | Collected technological projects

My partner and I stumbled over here coming from a different web address and thought I might check things out. I like what I see so now i'm following you. Look forward to going over your web page repeatedly. Also visit my site; Rejuven8 Eye Gel Reviews

Warranty Void if Removed | Collected technological projects

I really like your blog.. very nice colors & theme. Did you make this website yourself or did you hire someone to do it for you? Plz respond as I'm looking to design my own blog and would like to know where u got this from. thank you Also visit my web page :: Streamlight Flashlight Reviews

Warranty Void if Removed | Collected technological projects

Hello! Someone in my Myspace group shared this website with us so I came to give it a look. I'm definitely loving the information. I'm bookmarking and will be tweeting this to my followers! Outstanding blog and wonderful design. Feel free to visit my blog post :: google mobile settings for google apps account

Warranty Void if Removed | Collected technological projects

Thank you for every other informative blog. Where else may just I am getting that type of info written in such an ideal method? I've a venture that I am simply now working on, and I have been at the glance out for such information. Feel free to visit my web site ... GC Trim Fast Garcinia

Warranty Void if Removed | Collected technological projects

I am really inspired with your writing skills as smartly as with the layout to your weblog. Is that this a paid theme or did you modify it yourself? Either way stay up the nice quality writing, it is rare to see a nice weblog like this one nowadays.. Feel free to surf to my weblog Minecraft Servers 1.8

Warranty Void if Removed | Collected technological projects

I'm not sure where you're getting your info, but good topic. I needs to spend some time learning much more or understanding more. Thanks for wonderful information I was looking for this info for my mission. Here is my web page - Max Muscle Pump Extreme Ingredients

Barangkali kita lupa dengan

Barangkali kita lupa dengan beberapa hal yang terdapat dalam Sumber yang begitu sangat antusias dalam menyampaikan ilmu bisnis properti yang ia miliki. http://sites.miis.edu/ciptojunaedy1/

Webpage

celine outlet online Click Through The Up Coming Website Page Webpage

Warranty Void if Removed | Collected technological projects

Hello! I just wanted to ask if you ever have any trouble with hackers? My last blog (wordpress) was hacked and I ended up losing a few months of hard work due to no backup. Do you have any methods to protect against hackers? Here is my page David Rohl

Warranty Void if Removed | Collected technological projects

A crossover study is overweight one of those foods you cannot say that one plan is healthier than other. Whatever, just about every mouthful we put, or any really, every single month. Feel free to surf to my weblog ... Alejandrina

Warranty Void if Removed | Collected technological projects

Hi would you mind letting me know which web host you're working with? I've loaded your blog in 3 completely different internet browsers and I must say this blog loads a lot quicker then most. Can you suggest a good hosting provider at a honest price? Thanks a lot, I appreciate it! My blog post Enduro Max Trial

Warranty Void if Removed | Collected technological projects

People do make and perpetuate lasting friendships in virtual worlds and this is no longer considered a strange thing. If online play is always possible that it tries to MMORPG. Most websites use a model similar to that if e - Bay, where the account is sold to the bidder whose bid is the highest. Here is my blog post :: gry online mmorpg

Warranty Void if Removed | Collected technological projects

It's appropriate time to make some plans for the future and it is time to be happy. I've read this post aand iff I could I want to suggest you few interesting things or suggestions. Perhaps you could write nexdt articles refrring to thgis article. I wish to read more things about it! Feel free too suirf to my homepage ... online games make (Genia)

Welcome to Dental Excellence

Cosmetic Dentist : Welcome to Dental Excellence – a centre for clinical excellence in cosmetic dentistry, dental implants and dental care, located in Northern Ireland.Six Month Smile Cosmetic Dentist Ovulation Induction

Cipto Junaedy Bank Mandiri

Cipto Junaedy Bank Mandiri Bank Terbaik di Indonesia

cheaps

After a long day at Turner Field, the future suddenly looks a lot brighter for the MBT Shoes Mets.Just imagine Matt Harvey and Zack Wheeler at the top of the rotation for years to come.I hope people saw this, said manager Terry Collins, no doubt referring to New York's long-suffering NL fans. Certainly they're going to enjoy watching these two guys for a long time. They're going to be around.Wheeler lived up the hype in his major league debut, pitching six scoreless innings to lead the Mets to a 6-1 victory over the first-place MBT Sandals and a doubleheader sweep on Tuesday night.In the opener, Harvey didn't allow a hit until the seventh and struck out a career-high 13 as New York held off the Braves 4-3.I had some jitters going at first, said Wheeler, who went back out to sign autographs in his full uniform after the game. Then I settled down a little bit, probably the fourth or fifth inning I think it was, found a rhythm, settled down, and I was able to throw all my pitches for strikes.Wheeler gave up only four hits and struck out seven while consistently reaching the upper 90s on the radar gun. He struggled a bit with his control, walking five, but got out of every jam.The performance was especially sweet since it came not far from where Michael Kors Handbags grew up and came to prominence as a high school star at East Paulding High School in Atlanta's northwest suburbs, before going in the first round of the 2009 amateur draft.He was cheered on by dozens of family and friends, who roared loudly from their seats behind the Mets' dugout. Also watching from a second-row seat behind home plate was former Braves star Chipper Jones, who sat with the young pitcher's parents. Jones and Wheeler have the same agent.It was definitely an experience, Wheeler said.He was shaky in the first, walking two while throwing 23 pitches - only eight for strikes. Cheap Michael Kors Bags strolled to the mound to offer encouragement, and pitching coach Dan Warthen trotted out when Wheeler overthrew a pitch to B.J. Upton, the ball sailing far out of the strike zone. Third baseman David Wright also came over to offer some advice.You've got this, he told Wheeler. You're better than them.Upton grounded out to end the threat, and the 23-year-old right-hander - the first child of the 1990s to play for the Mets - came back the next inning to strike out the side.Recker, hitting just .158 coming into the game, broke up the scoreless duel between Wheeler and Paul Maholm (7-6) in the seventh, crushing his second homer of the season over the center-field wall to put the Mets ahead 2-0.

Celine Bag Replica Review

cheap celine bag outlet Visit This Page Celine Bag Replica Review http://peopleforqualitycare.org/images/celine-edge-bags/celine-bag-replica-review-buy-celine-handbag-1038.asp

Celine Phantom Bag Fake

celine phantom handbags Celine Phantom Bag Fake http://www.fourjay.org/images/celine-nano-mini/celine-phantom-bag-fake-cheap-celine-3967.asp

Warranty Void if Removed | Collected technological projects

Tremendous issues here. I am very glad to peer your article. Thanks a lot and I am having a look ahead to touch you. Will you please drop me a mail? Feel free to visit my homepage: boom beach cheats ios 7

Warranty Void if Removed | Collected technological projects

Can you tell us more about this? I'd want to find out more details. Feel free to surf to my site; lasertest

Warranty Void if Removed | Collected technological projects

Very nice post. I definitely appreciate this site. Thanks! Feel free to visit my web site google adwords auction insights sniper

Warranty Void if Removed | Collected technological projects

Whoa! This blog looks just like my old one! It's on a entirely different subject but it has pretty much the same page layout and design. Excellent choice of colors! Here is my blog post Alpha FX testosterone booster

Warranty Void if Removed | Collected technological projects

I think this is among the most vital information for me. And i am happy reading your article. However should remark on some normal issues, The web site taste is ideal, the articles is actually excellent : D. Excellent task, cheers Here is my homepage - Enduro Max

Warranty Void if Removed | Collected technological projects

Hi mates, its enormous post concerning cultureand entirely explained, keep it up all the time. Here is my web site :: Fit Crew USA Xtreme No2

Warranty Void if Removed | Collected technological projects

Have you ever considered about including a little bit more than just your articles? I mean, what you say is fundamental and all. But just imagine if you added some great visuals or videos to give your posts more, "pop"! Your content is excellent but with images and clips, this site could certainly be one of the most beneficial in its niche. Excellent blog! Here is my web blog Reverse Hearing Loss System

Warranty Void if Removed | Collected technological projects

I’m not that much of a online reader to be honest but your sites really nice, keep it up! I'll go ahead and bookmark your website to come back in the future. All the best Also visit my webpage :: Garcinia Total Diet Cambogia

Warranty Void if Removed | Collected technological projects

?????????????????????????????????????? Youtu.be ??????????????????????????????????????????????????????????????? Youtu.be ????????????????????????????????? https://Youtu.be/kTsMLeDD5_Y ??????????????????????????????????????????????????????? Youtu.be ???????????????????????????????????????????????????????? Feel free to surf to my page: ??????????? mp3 [Youtu.be]

Warranty Void if Removed | Collected technological projects

Do you mind if I quote a few of your articles as long as I provide credit and sources back to your blog? My blog site is in the very same area of interest as yours and my visitors would really benefit from a lot of the information you present here. Please let me know if this ok with you. Regards! Feel free to visit my web page: slankepiller amming

Warranty Void if Removed | Collected technological projects

I do agree with all of the concepts you have offered to your post. They are really convincing and will definitely work. Still, the posts are very brief for newbies. May you please extend them a bit from next time? Thank you for the post. Feel free to visit my weblog - boom beach android hack

Warranty Void if Removed | Collected technological projects

I'm truly enjoying the design and layout of your site. It's a very easy on the eyes which makes it much more pleasant for me to come here and visit more often. Did you hire out a designer to create your theme? Excellent work! Feel free to visit my homepage ... Maximum Test testosterone boosting supplement

Warranty Void if Removed | Collected technological projects

Thanks for some other wonderful article. The place else could anybody get that kind of info in such an ideal manner of writing? I've a presentation subsequent week, and I'm on the look for such info. Feel free to visit my webpage ... Slimdrene Supplement

Warranty Void if Removed | Collected technological projects

At this time I am ready to do my breakfast, after having my breakfast coming yet again to read more news. my homepage :: garcinia health max

Warranty Void if Removed | Collected technological projects

Thanks a bunch for sharing this with all folks you actually realize what you are talking about! Bookmarked. Please also talk over with my web site =). We can have a hyperlink change contract among us Here is my page :: Maxgain Formula

Warranty Void if Removed | Collected technological projects

Yes, it isn't really yet as popular as Facebook and Twitter however it is definitely something that you will use to improve your traffic. Google+ could be a beneficial addition for your SEO arsenal if used correctly, with a crossover of google search optimisation and social websites while using largest google adwords login search in the world. Let's have a look at some of the product or service benefits of Google+ participation:.

goods

Cheap MBT Sandals : http://www.salembtfootwear.com/ on sale Michael Kors Handbags: http://www.michaelkorsbagshandbags.com/ for sale

Fake Celine Purse

buy celine trapeze free online Fake Celine Purse http://leporace.com.br/UserFiles/Image/celine-edge-bagsceline-gourmette-chain-bag/celine-handbags-cheap-fake-celine-purse-4891.asp

Warranty Void if Removed | Collected technological projects

Hi there to every body, it's my first go to see of this website; this webpage includes amazing and truly good data for readers. Here is my page Megadren Muscle

Warranty Void if Removed | Collected technological projects

I do accept as true with all of the ideas you have offered on your post. They're very convincing and can certainly work. Nonetheless, the posts are very brief for starters. May you please prolong them a bit from subsequent time? Thank you for the post. Look into my website Hyper Tone Force

Warranty Void if Removed | Collected technological projects

Amazing! This blog looks exactly like my old one! It's on a completely different topic but it has pretty much the same page layout and design. Excellent choice of colors! Also visit my web site; Power Testro testosterone boosting supplement