Recent Posts

General Discussion / TinyZero Problems
« Last post by jgavlik on May 03, 2020, 02:47:00 PM »
I purchased two (2) TinyZero Processors and neither of them work correctly. I've tried them both per below.

Most times the Bootloader won't allow me to upload the code even after following the directions on the NOTES for the TinyZero.

But once in a while the code gets uploaded.

However, even when the code loads, the COM port won't be active after the loading sequence (see attached).

I did have another TinyZero (3rd one) that did work at one point, but the fragile bootloader button broke (tore off)

To confirm things....I've reloaded the Arduino IDE, changed USB ports, changed USB cables but still no luck.

Am I missing an #include <TinyZero.h> if there is such thing??

Any help will be appreciated.


TinyDuino / I2C communication reliability
« Last post by luke1i1 on May 03, 2020, 12:38:19 PM »
Hi all

This is my first post so please be kind!  I'm completely new to programming but trying my best to learn :)

Apologies if this is in the wrong section, I'll move the post if an admin can advise.

I'm currently designing a watch using the TinyDuino LED Matrix and the 1339 RTC module connected via I2C.  In short I'm concerned with the reliability of I2C (purely due to seeing other posts on various forums claiming lost data packets etc.) which has set my paranoia going!

I am using the wire.h library, in combination with the DSRTCLib.h RTC library.  I have programmed my board and it works really well (much better then I expected in fact).  However it concerns me that if the I2C does lose communication or data packets somewhere down the line I'm not going to know.  I've read up on I2C and have a reasonable grasp of it's functioning but I'm by no means an expert in it's operation. 

I suppose what I'm looking for is some way of knowing that the I2C has successfully transmitted all data packets so the time displayed on the LED Matrix is accurate. 

In addition if the I2C did suddenly lose connection mid way through sending data what would the 328P processor do?  does it simply hang waiting for the ACK and the STOP command or does it just take whatever data it has received and assume the rest is value 0 and ends communication?

Sorry for the long post, I'm really close to finishing my project but I'm concerned that I'll never know if the time displayed on my watch is accurate - obviously a pretty important thing for a watch!

Many thanks

Wirelings / Re: Wireling Interrupt specifics
« Last post by lennevia on May 01, 2020, 11:47:32 AM »
Hello Mike,

What board are you looking at?

Is there something specific you are aiming to accomplish with interrupts?

Wirelings / Wireling Interrupt specifics
« Last post by Cyborg84 on April 30, 2020, 05:02:55 PM »
I noticed on the schematic that there are two options for an I2C interrupt from the wireling board to either IO2 or IO3, but I cant tell which resistor is which (R17 and R18) on the board.

Please clarify which one is present by default - (maybe provide an annotated picture of the board).

Also, it looks like all 4 of the interrupt signals from the connectors are connected to AD0 - AD3 by default, is that correct?
- Mike
Hello Réna,

Many thanks for pushing the code fix.
The updated BMP280 Arduino Library now gives stable results for both TinyZero and TinyDuino with comparable output for two different shields with BMP280.
So issue has been solved.

Hello Willem,

Got the code fix pushed so it should be fixed across everything now.

Thanks again for finding that!


thanks for your reaction.
Herewith the code related to the first solution
(- changing the declaration of the signed parameters from int to short (in BMP280.h). In this case also readInt has to be adapted in BMP280.cpp and BMP280.h.)

In fact only three changes in total related to change of signed parameters, two in BMP280.h and one in BMP280.cpp.
See attachments.

It is perhaps cleaner to change the declaration of the unsigned parameters too, but not necessary, so I have not included it.


Thanks for the investigation and fix you found!

If you would like, you can submit a pull request for the software change you talked about on the GitHub repository:

Or, you can attach the code here to be tested.

Thank you for your time!

Reuse of a sketch with standard BMP280 library files BMP280.cpp and BMP280.h on a TinyZero with Combo Sensor TinyShield gave instable pressure and altitude measurements.
It turned out that reading of the compensation parameters (in BMP280.cpp) goes wrong for negative BMP280 chip parameters.
The BMP280 datasheet states that 10 of the 12 parameters have to be interpreted as signed short (so signed 16 bit).
However in BMP280.h the related variables are declared as int.
This works well for TinyDuino, but for TinyZero int is 32 bit. This means that in case of TinyZero the negative values are read as positive ones (between 32768 and 65535), leading to wrong compensations, e.g. to barometric pressure even outside the interval of 800 - 1200 mBar.

Different solutions are possible:
- changing the declaration of the signed parameters from int to short (in BMP280.h). In this case also readInt has to be adapted in BMP280.cpp and BMP280.h.
- logging the parameters and including these as constants in BMP280.cpp. The normal parameter reading process in BMP280.cpp has to be blocked.
- check the read (signed) parameters for values > 32767 and if true reduce with 65536. This is only useful for TinyZero.

I have checked the two first solutions and both are working properly with TinyZero (and also with TinyDuino).
My preference is the first solution because it is correcting the real error.
However, the second one provides additional insight in the parameters of different BMP280 chips.

I think it would be good to update the BMP280 Arduino Library to avoid problems with TinyZero.
Wirelings / Wireling Welcome!
« Last post by lennevia on April 22, 2020, 02:28:24 PM »
Welcome to the Wireling portion of the TinyCircuits forum! Post questions, topics, ideas for new Wirelings, or Wireling projects.

New to Wirelings? Check out the Wireling Overview to learn more!
SMF spam blocked by CleanTalk