0

ICYMI: Buy One Give One, 81 boards, Blinka on Amazon AWS, and more! #Python #ICYMI #Adafruit #CircuitPython @circuitpython @micropython @ThePSF @Adafruit

ICYMI (In case you missed it) – Tuesday’s Python on Microcontrollers Newsletter from AdafruitDaily.com went out – if you missed it, subscribe now!

The next newsletter goes out in a week and being subscribed the best way to keep up with all things Python for hardware.

Over 6,767 subscribers worldwide!

Buy One Give One at Adafruit with Black Girls Code

For a limited time, whenever you buy a Circuit Playground Express the regular price of $24.95, on this page! Adafruit will automatically donate one to Black Girls CODE. Black Girls CODE goal is to empower young women of color ages 7-17 to embrace the current tech marketplace as builders + creators.

Black Girls CODE vision is to increase the number of women of color in the digital space by empowering girls of color ages 7 to 17 to become innovators in STEM fields, leaders in their communities, and builders of their own futures through exposure to computer science and technology. To provide African-American youth with the skills to occupy some of the 1.4 million computing job openings expected to be available in the U.S. by 2020, and to train 1 million girls by 2040.

This “Buy One Give One” is sponsored by Adafruit. For “Buy One Give One” partnerships, and sponsorship information email pt@adafruit.com.

Get, and GIVE, one today!

CircuitPython Blinka snakes its way to Amazon AWS IoT

AWS

CircuitPython Blinka snakes its way to Amazon AWS IoT! Setting Up Your Raspberry Pi and Moisture Sensor – AWS IoT.

AWS

“The libraries for the Adafruit STEMMA moisture sensor are written for CircuitPython. To run them on a Raspberry Pi, you need to install the latest version of Python 3 (Adafruit Blinka libraries).”

Pepper’s Ghost PyPortal

Pepper

A CircuitPython powered PyPortal with a spooky sandwich-eating Pepper’s ghost GIF reflected, using a cellphone glass screen protector inside of a 3D printed lantern – Twitter.

CircuitPython Powered Candy Dispensing Skull

CANDY

Make an app-powered, touch-responsive talking skull/candy “bowl” in CircuitPython with the Circuit Playground Bluefruit. Code & build info – GitHub, via Twitter.

CircuitPython Libraries contributing! New section on circuitpython.org

CircuitPython Libraries

If you’d like to contribute to the CircuitPython project, the CircuitPython libraries are a great way to begin. This page is updated weekly with status information from the CircuitPython libraries, including open issues and repository-level issues.

If this is your first time contributing, or you’d like to see our recommended contribution workflow, we have a guide on Contributing to CircuitPython with Git and Github. You can also find us in the #circuitpython channel on the Adafruit Discord.

Have an idea for a new driver or library? File an issue on the CircuitPython repo!

Visit the new section on circuitpython.org!

CircuitPython powered Bibliocircuitry

Bibliocircuitry

The INLS 690, “The Makerspace Class,” created Bibliocircuitry projects using CircuitPython. This one is from Laura March and contains voices of her parents inside the book – Twitter and YouTube.

Make your own CircuitPython powered interactive conference poster

CPPoster1

CPPoster2

Aakanksha Agrawal and Ayan Pahwa from ILUG-D and HHC-D, showcased an interactive hardware poster presentation at PyCon India 2019 conference powered by CircuitPython.

Here’s the demo video, step by step guide to build your own and a blog about their conference experience. Congrats to the team who put this one together.

Feather floats with the Maker Buoy

Maker Buoy

The Maker Buoy is a low cost, solar powered, open source drifting buoy. They are now offering a populated Maker Buoy board for $45. Add-ons include: Rockblock modem and GPS which allows communicating over Iridium. Includes I2C header, watchdog timer, status LED, and flashing strobe circuitry – makerbuoy.com & Twitter. We also added this to the awesome-feather list!

Bluefruit on macOS Catalina + Catalyst

Catalyst

Jerry tweeted about macOS Catalina’s new feature that allows running iOS apps using Catalyst, the example was our Bluefruit app, so we of course had to try it! It was easy! We’re going to test and do any fixes and have a version out soon, thanks Collin! – Youtube.

81 boards on CircuitPython.org

81

There are now 81 boards on CircuitPython.org! Latest update includes:

StringCar

The Cedar Grove StringCar M0 Express is an ATSAMD21-based CircuitPython compatible board used to control a simple string car racer robot. The board is architecturally similar to the Adafruit Trinket M0 and ItsyBitsy M0 Express microcontroller boards with the addition of battery management and a DC motor controller. This board features JST connectors for the racer’s battery, motor output, and sensor input. LiPo battery management charge rate is 500mA. For sensor experimentation, a 3.3-volt Stemma-QT connection is available on-board. The micro-USB connector used for REPL operation, operational status data output, and battery charging. On-board flash memory size is 2MB.

display

Circuit Playground Express + Displayio. Extend and expand your Circuit Playground projects with a bolt on TFT Gizmo that lets you add a lovely color display in a sturdy and reliable fashion. This PCB looks just like a round TFT breakout but has permanently affixed M3 standoffs that act as mechanical and electrical connections.

PyDev of the Week: Sophy Wong

Sophy

Wow! Mouse vs Python has Sophy Wong as PyDev of the week!

“This week we welcome Sophy Wong (@sophywong) as our PyDev of the Week! Sophy is a maker who uses CircuitPython for creating wearables. She is also a writer and speaker at Maker events. You can see some of her creations on her Youtube Channel or her website. Let’s take a few moments to get to know her better!”

SmallSats Discord on Adafruit server!

SmallSats

We now have a SmallSats channel on the Discord server. Stop by if ya like to discuss Python in space, and more – https://adafru.it/smallsats

News from around the web!

WinterbloomVoltageIO

Thea made another CircuitPython library, WinterbloomVoltageIO. VoltageIO lets you set the output voltage to your DACs instead of having to do the maths to calculate voltage every time. It also lets you do the reverse for ADCs! – GitHub, via Twitter.

CPX Apple

Using Apple MacBook Airs and Pros along with Circuit Playgrounds to teach basic coding to get ready for 2 and 3rd grade robotics. From Mike Pitcher, Director of Academic Technologies at The University of Texas at El Paso, and Apple Distinguished Educator 2017 – Twitter.

Digi-Key

Digi-Key booth at Maker Faire Rome with Monster M4sk! – Twitter.

GeekMom

GeekMom’s incredible outfit – Twitter.

ADABOTERATION

Super cute ADABOT Operation-like game with Circuit Playground is heading to Maker Faire Korea – Instagram.

Starbucks

Sneak peek of Nithin’s Halloween costume using MONSTER M4SK. Nithin’s daughter is going as a donut, so naturally… Nithin tagging along as coffee ?? – Twitter.

JellyErin

This dress was created for the Reinvent the Runway 2019 show in Rocklin, California. It’s made of plastic grocery bags and bubble wrap, and powered by Adafruit’s Circuit Playground Express. The dress is motion sensitive and puppeted using fishing line connected to bracelets made of plastic soda bottle rings. The necklace is also made of soda bottle rings, and the fascinator hat is a small turtle made of a soda bottle. The theme was Science, and all the entries needed to be made of recycled materials, Post and YouTube.

Improving

Bill and team made a cool sign at ImprovingInstagram.

Chrome BLE

Sayanne is using an Adafruit nRF52 BLE board and built some demos with a client-side app with Chrome browser’s Web BLE support. You can read the changing GATT characteristics from a BLE device to the browser! Twitter and YouTube.

Axe

Giant axe now ready for Battle Royale – Instagram.

Chroma Touch LED glove

The Chroma Touch LED glove – Instagram.

NOPP

Nordic Online Power Profiler

“The tool is based on a model of measured values, and is not showing the actual measurement. The results are therefore estimates of the expected value. It is meant for evaluation purposes only, and will not give the exact numbers in every use case. Testing shows that the estimated average current is typically within 5% of the actual value for the reference parts. The device to device variations will add to this inaccuracy. Please refer to the nRF52 Product Specification for expected min/max values for the different current components.”

ESP

Here is the last ESP32 hardware design guidelines posted on the Espressif site – PDF.

Terminal

How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh – Scott Hanselman.

Nyan cat earrings

Nyan cat earrings – Instagram.

There is a new Arduino IDE (alpha), called the Arduino Pro IDE, that has support for additional languages other than C++. Is this one of the first moves towards supporting Python? – Arduino blog.

Iron Man

Leo’s Iron Man gloves – Instagram.

Blacklist

Episode 3 of season 7 from The Blacklist has some Adafruit gear – Twitter.

Anaconda turns your Sublime Text 3 into a fully featured Python development IDE – damnwidget.github.io/anaconda

Dash is an API Documentation Browser and Code Snippet Manager. Dash stores snippets of code and instantly searches offline documentation sets for 200+ APIs, 100+ cheat sheets and more. You can even generate your own docsets or request docsets to be included – Dash. Hmm, if there is interest maybe we’ll see about adding CircuitPython?

Andrey Vlasovskikh – The Story of Features Coming in Python 3.8 and Beyond – YouTube.

Pioneering open source drones and robocars – Chris Anderson, former Editor-in-Chief of WIRED and a true pioneer in the world of drones, joined the Changelog show to talk about his hobby gone wrong, how he started 3D Robotics, DIY Drones, and Dronecode. They also talked about his newest passion, DIY Robocars – changelog.com

ET (Don’t) Phone Home, internet access and privacy list of things device descriptions should contain, sorta like food ingredient labels, by Jacques Mattheij via Twitter.

MHair

M-Hair: Creating Novel Tactile Feedback by Augmenting the Body Hair to Respond to Magnetic Fields – YouTube.

There might be up to 212,000 people using Pebbles, as part of the Rebble Alliance, iFixit and Twitter. “Rebble is saving thousands of gadgets from the bin and building a real community around dogged longevity.”

The Lines of Code That Changed Everything: Apollo 11, the JPEG, the first pop-up ad, and 33 other bits of software that have transformed our world – slate.com

Terumasa Ikeda

Terumasa Ikeda’s art looks like it came out of the Matrix – terumasa-ikeda.com and YouTube.

All Creative Work is Derivative – YouTube.

Historical Python posts from over 13 years ago, Artima forums via Twitter.

What’s New In Python 3.8 – Python.org

Complete Guide to Imports in Python: Absolute, Relative, and More. How to plan your code so imports are clear and clean – Python for the Lab.

Running ML on edge devices is growing in importance as applications continue to demand lower latency. It is also a foundational element for privacy-preserving techniques such as federated learning. As of PyTorch 1.3, PyTorch supports an end-to-end workflow from Python to deployment on iOS and Android – PyTorch Mobile.

daudin is a UNIX command-line shell based on Python – GitHub.

An instance of your terminal in your browser – cast-sh.

PSF

If you like this newsletter, you’ll probably also like the Python Foundation newsletter too, the latest one is here!

Demos

Speaking of! Special thanks to Naomi Ceder, chair of the Python Foundation Board of directors, for helping us always as we grow this community together, AND, for hanging out while we showed Python on hardware demos at dinner last week ??

STM32 Feather

CircuitPython Weekly meeting for October 21, 2019 on YouTube.

#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? Adafruit Feather STM32F405 Express.

Coming soon

Coming soon

Coming soon

Coming soon

E-Ink GIZMO, getting close!

Coming soon

Coming soon

nRF52840 ItsyBitsy coming soon!

LOGO Turle

CircuitPython LOGO Turtle ?? – YouTube.

TURTLE

Speaking of TURTLE … check out these snowflakes made with TURTLE!

Peppergram

Pepper’s ghost, hologram-like, with a PyPortal and BLINKA – Twitter.

New Learn Guides!

PyPortal IoT Plant Monitor with AWS IoT and CircuitPython from Brent Rubell

A CircuitPython BLE Remote Control On/Off Switch from rdagger

CircuitPython NeoPixel Library Using SPI from Carter Nelson

Updated Guides – Now With More Python!

You can use CircuitPython libraries on Raspberry Pi! We’re updating all of our CircuitPython guides to show how to wire up sensors to your Raspberry Pi, and load the necessary CircuitPython libraries to get going using them with Python. We’ll be including the updates here so you can easily keep track of which sensors are ready to go. Check it out!

Adafruit MAX31856 Universal Thermocouple Amplifier

CircuitPython Libraries!

CircuitPython Libraries

CircuitPython support for hardware continues to grow. We are adding support for new sensors and breakouts all the time, as well as improving on the drivers we already have. As we add more libraries and update current ones, you can keep up with all the changes right here!

For the latest drivers, download the Adafruit CircuitPython Library Bundle.

If you’d like to contribute, CircuitPython libraries are a great place to start. Have an idea for a new driver? File an issue on CircuitPython! Interested in helping with current libraries? Check out this GitHub issue on CircuitPython for an overview of the State of the CircuitPython Libraries, updated each week. We’ve included open issues from the library issue lists, and details about repo-level issues that need to be addressed. We have a guide on contributing to CircuitPython with Git and Github if you need help getting started. You can also find us in the #circuitpython channel on the Adafruit Discord. Feel free to contact Kattni (@kattni) with any questions.

You can check out this list of all the CircuitPython libraries and drivers available.

The current number of CircuitPython libraries is 192!

New Libraries!

Here’s this week’s new CircuitPython libraries:

Updated Libraries!

Here’s this week’s updated CircuitPython libraries:

PyPI Download Stats!

We’ve written a special library called Adafruit Blinka that makes it possible to use CircuitPython Libraries on Raspberry Pi and other compatible single-board computers. Adafruit Blinka and all the CircuitPython libraries have been deployed to PyPI for super simple installation on Linux! Here are the top 10 CircuitPython libraries downloaded from PyPI in the last week, including the total downloads for those libraries:

Library Last Week Total
Adafruit-Blinka 2144 43757
Adafruit_CircuitPython_BusDevice 1249 24788
Adafruit_CircuitPython_MCP230xx 498 8938
Adafruit_CircuitPython_LIS3DH 260 2465
Adafruit_CircuitPython_BME280 248 2583
Adafruit_CircuitPython_Register 244 6107
Adafruit_CircuitPython_seesaw 217 2341
Adafruit_CircuitPython_BMP280 214 1367
Adafruit_CircuitPython_BME680 214 1102
Adafruit_CircuitPython_ESP32SPI 195 2168

What is the team up to!

Bryan

Bryan

Bryan

A fun and interesting thing I did this week was prototyping the tester circuit and writing the tester code for the mpu6050 gyro and accelerometer. Each individual sensor breakout, development board, pi hat or bonnet, fancy tft display, featherwing, or other electronic dodad that we manufacture is tested before it gets sent out. To do this, our eagle-eyed staff deploy a phalanx of test jigs to verify each item coming off the assembly line to make sure it’s up to snuff.

Dan

I’m still working on the storage infrastructure needed for BLE bonding. The actual bonding code is fairly simple; it’s prepping for it that’s been more complicated. I’ve removed unused code from the CircuitPython for chips and boards that are supported in MicroPython but that we don’t support. This reduces confusion about what we do support, and makes it easier to search the code base without encountering irrelevant files.

Kattni

This week has seen more Raspberry Python updates. I’ve been working through updating more guides with CircuitPython and Python on Linux usage. As I update, I have been testing breakouts and more on Raspberry Pi; this week I tested MAX31856, ADXL345 and Pixie LEDs. We recently saw the addition of a basic driver for the MCP9600 thermocouple amplifier. I spent the second half of the week working on implementing the rest of the features available for that chip, including alert configuration. You’ll be able to use CircuitPython and Python on Linux to set up four separate alerts on the chip. Once documented and reviewed, the driver will be available in the CircuitPython library bundle and on PyPI. Keep an eye out that and more updated guides!

Lucian

This week I’ve been working on the internals of UART, adjusting the tools ST provides to be more tolerant of unexpected data and soft reboots. It’s been unpleasantly resilient, due to bugs that impede debugger use, but should be wrapped up soon. Next, I’ll be working on implementing PWM, which should enable more LED related library use, and cleanup for the port as a whole.

Melissa

Last week I finished up updating all of the color TFT breakout guides with a new Python section so that they can be used in the User Space on the Raspberry Pi. The pages are mirrored to all of the guides, so you can check them out here and here. This week I’ve been heads down in eInk Displays. I’ve been working on updating guides for using eInk displays with displayio instead of the EPD library. I’ve also been working on some demo code for the Raspberry Pi.

Scott

Last week I continued my BLE saga by getting Connections working again after merging the Central and Peripheral roles together. The big thing here is that the services themselves are now defined once and used for both sides of the connection. This will make it easier to establish and maintain services and characteristics.

Upcoming events!

Hacktoberfest

Hacktoberfest is open to everyone in the global community. Whether you’re a developer, student learning to code, event host, or company of any size, you can help drive growth of open source and make positive contributions to an ever-growing community. All backgrounds and skill levels are encouraged to complete the challenge – https://hacktoberfest.digitalocean.com

Open source hardware month

October is Open Hardware Month @ Open Source Hardware Association.

“October is Open Hardware Month! Check out the Open Hardware Month website. Host an event, find a local event, or certify your hardware to support Open Source Hardware. We are providing resources and asking you, the community, to host small, local events in the name of open source hardware. Tell us about your October event by filling out the form below. Your event will be featured on OSHWA’s Open Hardware Month page (provided you have followed OSHWA’s rules listed on the “Do’s and Don’ts” page).”

Read more, Tweet for speakers in 2020, and Open Hardware Month @ http://ohm.oshwa.org/

We’ve been posting EACH DAY, ALL MONTH, check ’em out!

TensorFlow World

October 28–31, 2019. Be part of the ML revolution. Santa Clara, California, USA. TensorFlow is powering everything from data centers to edge devices, across industries from finance to advanced healthcare. And now, with TensorFlow 2.0 and the evolving ecosystem of tools and libraries, it’s doing it all so much easier – TensorFlow World.

Hackaday Superconference

Hackaday Superconference is November 15th, 16th, and 17th in Pasadena, California, USA. The Hackaday Superconference is returning for another 3 full days of technical talks, badge hacking, and hands-on workshops: Eventbrite & hackaday.io

Pycon 2020

April 15-23, 2020, Pittsburgh, Pennsylvania – The PyCon 2020 conference, which will take place in Pittsburgh, is the largest annual gathering for the community using and developing the open-source Python programming language. It is produced and underwritten by the Python Software Foundation, the 501(c)(3) nonprofit organization dedicated to advancing and promoting Python. Through PyCon, the PSF advances its mission of growing the international community of Python programmers – PyCon 2020.

Latest releases

CircuitPython’s stable release is 4.1.0 and its unstable release is 5.0.0-alpha.4. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20191021 is the latest CircuitPython library bundle.

v1.11 is the latest MicroPython release. Documentation for it is here.

3.8.0 is the latest Python release.

1433 Stars Like CircuitPython? Star it on GitHub!

Call for help – CircuitPython messaging to other languages!

Hello world

We recently posted on the Adafruit blog about bringing CircuitPython messaging to other languages, one of the exciting features of CircuitPython 4.x is translated control and error messages. Native language messages will help non-native English speakers understand what is happening in CircuitPython even though the Python keywords and APIs will still be in English. If you would like to help, please post to the main issue on GitHub and join us on Discord.

We made this graphic with translated text, we could use your help with that to make sure we got the text right, please check out the text in the image – if there is anything we did not get correct, please let us know. Dan sent me this handy site too.

jobs.adafruit.com – Find a dream job, find great candidates!

jobs.adafruit.com

jobs.adafruit.com has returned and folks are posting their skills (including CircuitPython) and companies are looking for talented makers to join their companies – from Digi-Key, to Hackaday, Microcenter, Raspberry Pi and more.

14,522 thanks!

14,522

Adafruit Discord

The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 14,522 humans, thank you! Join today! https://adafru.it/discord

ICYMI – In case you missed it

ICYMI

The wonderful world of Python on hardware! This is our first video-newsletter-podcast that we’ve started! The news comes from the Python community, Discord, Adafruit communities and more. It’s part of the weekly newsletter, then we have a segment on ASK an ENGINEER and this is the video slice from that! The complete Python on Hardware weekly videocast playlist is here.

This video podcast is on iTunes, YouTube, IGTV (Instagram TV), and XML.

Weekly community chat on Adafruit Discord server CircuitPython channel – Audio / Podcast edition – Audio from the Discord chat space for CircuitPython, meetings are usually Mondays at 2pm ET, this is the audio version on iTunes, Pocket Casts, Spotify, and XML feed.

And lastly, we are working up a one-spot destination for all things podcast-able here – podcasts.adafruit.com

Codecademy “Learn Hardware Programming with CircuitPython”

Codecademy CircuitPython

Codecademy, an online interactive learning platform used by more than 45 million people, has teamed up with the leading manufacturer in STEAM electronics, Adafruit Industries, to create a coding course, “Learn Hardware Programming with CircuitPython”. The course is now available in the Codecademy catalog.

Python is a highly versatile, easy to learn programming language that a wide range of people, from visual effects artists in Hollywood to mission control at NASA, use to quickly solve problems. But you don’t need to be a rocket scientist to accomplish amazing things with it. This new course introduces programmers to Python by way of a microcontroller — CircuitPython — which is a Python-based programming language optimized for use on hardware.

CircuitPython’s hardware-ready design makes it easier than ever to program a variety of single-board computers, and this course gets you from no experience to working prototype faster than ever before. Codecademy’s interactive learning environment, combined with Adafruit’s highly rated Circuit Playground Express, present aspiring hardware hackers with a never-before-seen opportunity to learn hardware programming seamlessly online.

Whether for those who are new to programming, or for those who want to expand their skill set to include physical computing, this course will have students getting familiar with Python and creating incredible projects along the way. By the end, students will have built their own bike lights, drum machine, and even a moisture detector that can tell when it’s time to water a plant.

Visit Codecademy to access the Learn Hardware Programming with CircuitPython course and Adafruit to purchase a Circuit Playground Express.

Codecademy has helped more than 45 million people around the world upgrade their careers with technology skills. The company’s online interactive learning platform is widely recognized for providing an accessible, flexible, and engaging experience for beginners and experienced programmers alike. Codecademy has raised a total of $43 million from investors including Union Square Ventures, Kleiner Perkins, Index Ventures, Thrive Capital, Naspers, Yuri Milner and Richard Branson, most recently raising its $30 million Series C in July 2016.

Contribute!

The CircuitPython Weekly Newsletter is a CircuitPython community-run newsletter emailed every Tuesday. The complete archives are here. It highlights the latest CircuitPython related news from around the web including Python and MicroPython developments. To contribute, edit next week’s draft on GitHub and submit a pull request with the changes. Join our Discord or post to the forum for any further questions.


Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Join 14,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython 2019!

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/


Maker Business — Robotics manufacturer Anki is stripped for parts

Wearables — Form a flame

Electronics — Calc that whip!

Biohacking — Vitamin-C + Gelatin for Accelerated Recovery

Python for Microcontrollers — A SuperCon was HaD! Arm AIoT Dev Summit is almost here, and more! #Python #Adafruit #CircuitPython #PythonHardware @circuitpython @micropython @ThePSF @Adafruit

Adafruit IoT Monthly — Helping Harry's Heart, CircuitPython meets AWS IoT and more!

Microsoft MakeCode — Lenticular Art Display with Crickit

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



No Comments

No comments yet.

Sorry, the comment form is closed at this time.