It happens a few times when I sell one of the Nanogris or Littleben’s I get some questions about the Arduino’s. Sometimes these questions are easy to answer and are understandable because I made a small mistake. Quite often these mistake have there origin with Kicad footprints. I am working with Kicad 6 now and have to check if the Arduino’s are all there in the library. Both modules where made with Kicad 5 and I had to download some footprints from the internet. I could have made these footprints myself but as there where available I got a bit lazy. That resulted in some unclear BOM’s. I work quite a lot with Arduino’s uploading code and error’s and warnings are easy fixes for me. Not everyone does work with these modules daily. So here are a few tip’s, explanations and trick for working with Arduino’s, Littleben and Nanogris.
The downloaded footprints did have the pins right but not always the correct naming, or they did but I used them for another Arduino then the name. Mainly cause the pins did match. This happens for example with the Littleben.
Littleben
The BOM just tells you to place a
XA1 | Arduino_Mini_01_Socket | Arduino_Mini_Socket |
The the question arise is it the 3volts version or the 5 volts version the 16mhz or..? Well I tend to use the most available Arduino Mini out there. For Littleben not all the pins are used from the footprint. The pins needed to load the code onto the Arduino board have to be soldered on the arduino and there is no need to connected them to the pcb. I would recommend using straight pins and not hooked/angled ones because these will make the module wider then the panel and harder to fit next to other modules.
So for the Littleben this would be the Arduino Mini pro 5volts 16mhz. But when I export the BOM from Kicad this will be using a Arduino Mini footprint and not provide that information.
Nanogris
For the NanoGris I used a Arduino Nano v3 5volts 16mhz. The BOM will show a v2 but that’s just the footprint I could find on the internet. When exporting the BOM this will show as a
A1 | Arduino_Nano_v2.x | Arduino_Nano |
I really need to update this. This mistake has it oring in Kicad so instead of making the easy fix of just updating the BOM file I will try to update it in Kicad. So next time I export the BOM it will be fixed once and for all.
Uploading code and includes
When uploading the code to the Arduino’s it can sometimes result in error’s and failing to upload the code. For Nanogris there is a hex file on this site so you don’t have to compile the code yourself. The code is written by Mutable Instruments and I did not change anything, that why I don’t have the code on GitHub. But not everybody can compile C code so made the Hex file available.
For LittleBen the code is on my GitHub. You are free to edit and expand the code as you wish. If you and it is of uses for others please use GitHub to do a push request and I will add it to the code. The code uses some library’s these are call in the first few code lines
#include <TimerOne.h>
#include <TM1637.h>
If you don’t have these installed the code will fail to upload a give you a error it can’t find the TimerOne.h or TM1637.h. to solve this you have to install the libary’s TimerOne and TM1637. These can be found with the Arduino IDE.
To install a new library into your Arduino IDE you can use the Library Manager (available from IDE version 1.6.2). Open the IDE and click to the “Sketch” menu and then Include Library > Manage Libraries.
https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries
For more information on includes.
https://www.arduino.cc/reference/en/language/structure/further-syntax/include/
I hope this answers some of the questions and help you out if you run into problems with the Littleben or Nanogris. If something is still unclear please do contact me or leave a comment. This can help others and will improve both modules. I will have a good look again at Kicad and the footprints so when the BOM is exported these errors will be fixed next time. I will try to update the boards and footprints accordingly and remove unused pins from the pcb. But this will take some time, until fixed please use this topic as a guide.
The mentioned TM1637 libraray is the one from AKJ:
https://www.arduino.cc/reference/en/libraries/tm1637-driver/
As there are more than one to choose, i had to try them all.
Hope this helps someone in the future.
Rien
Thanks for this addition