SparkFun Electronics will be closed on November 26, 2020 and November 27, 2020 for the Thanksgiving holiday. We will begin normal operations at 9:00 AM Mountain Time on November 30, 2020.
The Qduino Mini is a tiny, Arduino-compatible board with a battery connector and charger built-in as well as a fuel gauge that can tell you when to charge the battery! This little guy is super small, inexpensive, and is perfect to embed in your electronics projects. The Qduino Mini is the same model awarded to its Kickstarter backers and is Arduino-compatible and 100% open source, meaning that making and programming your first circuit is a breeze.
Here's what the Qduino includes:
Additionally, each Qduino is also breadboard compatible and has two RGB LEDs. One for status and another that is user programmable!
Note: Please be sure to double check your board type before uploading to make sure you have “Qduino Mini” selected in the IDE. Otherwise, you could potentially brick your new Qduino board.
Note: A portion of each sale is given back to Quin Etnyre of Qtechknow for continued development into the world of electonics.
-------------------- Tech Support Tips/Troubleshooting/Common Issues --------------------
Timing Issues w/ USB Communication through CDC
Interrupts Atmega32u4's built in CDC driver for USB communication can have timing issues when messing with the watchdog timer, sleep modes, and timer interrupts. I am unsure of how to fix this issue if you continue to use code that interferes with the CDC. I recommend trying a different method than using the interrupt timers.
Wrong Bootloader It's possible to brick your QDuino if you used the wrong board selection with the wrong frequency. If you upload the wrong frequency, the IC will not be able to understand any new code that is being uploaded. It expects to have code that is compiled for another bootloader, instead of using the 8MHz frequency with the oscillator.
When either of these cases happens, the device manager is not able to recognize the device and is usually seen as an "unknown device" when the microcontroller runs the sketch. There are ways to recover the an Atmega32U4 (i.e. LilyPad Arduino USB - Atmega32U4 board, FioV3 - Atmega32U4, Pro Micro 5V/16Mhz, Pro Micro - 3.3V/8Mhz, etc) if this happens. Check below for more information:
A.) Upload when QDuino/LilyPad USB with Atmega32U4/Pro Micro/FioV3 is still in Bootloader Mode
You can try the double reset method by tapping the RST pin to GND twice (since there is no reset button on the board) as explained in the Troubleshooting sections labeled as Reset to Bootloader and How to Revive a "Bricked" Pro Micro => https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/troubleshooting-and-faq.
1.) Open the Arduino IDE.
2.) Choose a simple code to upload on the Arduino. I used the blink test code from the hookup guide [ https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide#example-1-blinkies ] to upload.
3.) Check your Tools>Port menu for the list of COM ports when the Arduino is connected. You will probably not see it in the list.
4.) Click somewhere else to stop viewing the list of COM ports.
5.) Ground the RST button 2x as stated in the Troubleshooting and FAQ [ https://cdn.sparkfun.com/assets/6/d/3/4/a/523c8e23757b7fbe5f8b4584.png ].
6.) Re-open the Tools>Port menu to view the list of COM ports again to see what the QDuino enumerates to when its in its bootloader. There is an 8 second window to view the COM port when the board is in bootloader mode.
Note: Feel free to use the device manager at this step. Opening up the device manager on your operating system will help to see when the Arduino pops up and disappears.
7.) Select the COM port that the QDuino is on before it disappears again.
8.) Hit the Upload button to compile and upload.
9.) Wait a few seconds for the Arduino IDE to compile code. The progress bar should be just over the halfway mark.
Note: On Windows, this takes about 20 seconds to compile and upload. The device will show up as "Qduino Mini bootloader (COM##)". Trying this on a Mac seemed a little faster to compile and upload.
10.) Hit the reset button twice again to place the QDuino in bootloader mode while the Arduino IDE is uploading.
11.) If successful, you will have no error messages the Arduino IDE will tell you that it is "Done uploading."
After selecting the correct board definition and timing the double reset method correctly, I was able to upload successfully. It took me a couple of tries before I could get this right because of the timing. You should not need to go through this recovery procedure for subsequent uploads unless you brick the Atmega32U4 again.
B.) Outdated or Corrupt drivers
If board is showing up as Qduino Mini bootloader (COM##) or Arduino Micro (COM##) or Pro Micro (COM##), try the double reset method and updating the drivers while still in bootloader mode:
1.) Use the double reset method while having the device manager open.
2.) When the board entered the bootloader mode, I right-clicked on the Arduino board in the device manager as shown in this screen shot: [ http://puu.sh/iaYYC/d45153914c.png ]
3.) I updated the driver for the board.
4.) Once the update was completed, I compiled and uploaded the code. When the uploading status bar was half-way through, I did double reset again and the problem was fixed.
C.) Reinstalling the Bootloader
As a last result, you can always try to reinstall the bootloader. The tutorial is designed for the Arduino Uno, but it should work for Atmega32U4's bootloaded with Arduino. The idea is the same but the specifics are different. Start by reading the tutorial => https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader. The first thing you are going to need is an AVR programmer. You can use a standard AVR programmer or any Arduino with the ISP code on it (the standard code will not work with the Leonardo). You will then need to connect it to the target device (i.e. QDuino, LilyPad Arduino USB, Pro Micro, Fio V3, Makey Makey, or Leonardo) to reflash the bootloader. Don’t worry about the fuse bits or even the avrdude commands (they’re great, if you are installing third party stuff, but this will work just fine).
1.): Get a programmer
This you can do by following the directions in the tutorial.
2): Connect the programmer/Arduino as ISP to the Target Device
You will need to connect to the same pins to your target device (i.e. QDuino, LilyPad Arduino - USB, Pro Micro, Fio V3, Makey Makey, or Leonardo). On the Leonardo you can connect it just like the Uno. The LilyPad Arduino - USB has small ICSP pins. I managed to solder wires directly to the pins for access. The QDuino and Pro Micro does not have an ISP header and the pin numbers are different. Check the tutorial for location of the pins on the programmer. Here are the pins for the QDuino:
ICSP Pins <=> QDuino GND <=> GND RST <=> RST VCC <=> VCC MISO <=> D14 SCK <=> D15 MOSI <=> D16
Note: There is a silkscreen error and D17 is labeled D14 on the Pro Micro.
3.) Program Using Arduino v1.6+ go under Tools and select the correct programmer (if your programmer uses a COM port select that too), and the correct board (QDuino, LilyPad Arduino - USB, Pro Micro, FioV3, Makey Makey, or Leonardo). Then select Burn Bootloader. For the QDuino, this will use the bootloader in the addon file, so make sure you have the correct addon file installed. You can find the latest board definitions from the SparkFun GitHub Repository [ https://github.com/sparkfun/Arduino_Boards ].
If you are looking for a Qduino-specific driver, it can be found here:
It is the /Software/qduinomini.tar file.
This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.
Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
Based on 4 ratings:
1 of 1 found this helpful:
I wish I had this when I built my last battery powered Arduino project. The onboard battery charger/regulators are something that should be included with every Arduino (in my humble estimation). The battery level indicator is also critical - on my last project I had no way to show the batt level. Kudos. The only thing I would like to see, eventually, is a larger/faster Atmel processor. I made a quick video about this on my YouTube channel.
1 of 1 found this helpful:
I have one and am trying to base a project around it, because the integrated battery charger is great -- I can plug it in to charge a battery without worrying about swapping batteries.
However, the problem I'm running into relate to the pins they chose to use for the user controlled LED -- I want to do audio using something like Mozzi, which can do high quality audio using PCM output on two pins on the same timer. By default, Mozzi uses 9 and 10, but 10, 11 and 12 are used by the LED. Most of the pairs of the timer pins that could be used for this seem to need one of these pins. Frustrating.
I'd be happy to do away with the LED to have more flexibility in how I use those pins!
1 of 2 found this helpful:
One review is worried that this board is missing pins 10, 11, 13. They're actually available (and disguised) on the board as the "MISO MOSI & SCK / D14, 15, 16" pins. These ARE pins 10, 11, 13 according to the designer. So this board is a complete Arduino board with the added bonus of an extra LED for status reports.
One of the first hurdles was setting up the board in the Arduino environment.
For Step 2 of the Quick Start guide, it says to scroll down to "Qtechknow Boards" in the Boards Manager. If you can't find that, try "Qduino" instead.
For Step 2.5 (for the Windows driver installation), the folder that is being referenced is typically under C:\Users(username)\AppData\Local\Arduino15\packages\SparkFun\hardware\avr\1.1.7\signed_driver
The rest is pretty straightforward.
As for the actual Arduino, it works like a dream! I used this for my battery-powered Halloween costume that used 24 RGB LEDs and a 1.5Ah battery, and it lasted the entire day. I switched the charging current from 100mA to 500mA using the solder jumper and the charging time was pretty quick.
My only gripe is that you can't see the charging status when the power switch is off, so it may not be clear that the battery is charging. After looking over the schematic though, it becomes apparent that it is in fact charging and being all kinds of awesome.
Overall, it's a great Arduino dev board for Li battery-powered projects, and certainly a welcome addition to the Arduino hardware world!