0
\$\begingroup\$

I made my own custom RP2040 board. I'm trying to control a TM1637 chip that is placed on the same board as the RP2040. Before making the main board I did make my own small test board for the TM1637 chip. I hooked it up to a RP Pico, and used pin 2&3. Everything worked as expected.

According to the hardware design guide and datasheet by Raspberry Pi, the RP2040 has 29 GPIO's. But when checking the Pico, GPIO29 does not have a physical pin. So testing that on the Pico is not going to work. Should I not be using GPIO29? According to the datasheet(page 13-14) it should be available for use. And the connections are exactly the same(apart from GPIO's used) as my test setup. I did read somewhere that GPIO29 has a special function for, I believe, voltage sensing for the 3.3 V power for the RP2040. So I don't know if that could be of impact.

I checked with a multimeter for shorts, that came up negative. The TM1637 is receiving the 5 V it needs, ground connections are solid as well.

For more context: I'm on the Arduino platform, and tried the default blink project. That works so the pi is working correctly. When trying the test project for the TM1637 on the pico with external board, it all works fine. The moment I try it on the custom board it stays off.

Sorry if the designs are a little messy, it's a hobby project and I'm not familiar yet with all the design rules.

RP2040

TM1637

\$\endgroup\$
4
  • \$\begingroup\$ Connecting 3.3V I/O directly to the 5V TM1637 is not guaranteed to work (worst-case Vih is 0.7 * 5 = 3.5V). Probably will, but it is bad practice. \$\endgroup\$ Commented Aug 26, 2023 at 15:39
  • \$\begingroup\$ I was not aware of that. Every example I find online just hooks it up directly. There is even people running the TM1637 on 3.3v instead of 5, which should be possible as the datasheet says it accepts VCC from -0.5v - 7v. So I guess I'll just hook it up to 3.3v instead of 5. I also just tested the board by connecting the external TM1637 to DATA1 and DATA2. That seems to work fine on both 3.3v and 5v VCC. Which still leads me to believe the GPIO's with ADC should just not be used for this purpose. Which an article on hackaday about RP2040 5v logic seems to confirm \$\endgroup\$ Commented Aug 27, 2023 at 12:43
  • \$\begingroup\$ One last thing I could think of is either a defective screen or a defective TM1637. I tested the screen by applying some small voltage directly on the pins, which made a segment turn on. So that should work. Unfortunatly my hot air station just gave up on me so once it is repaired I will try to replace the TM1637. I also checked the voltage on the data lines, which is 3.3v for both pins. Maybe investing in an oscilloscope would not be a bad idea... \$\endgroup\$ Commented Aug 27, 2023 at 12:47
  • \$\begingroup\$ I tried connecting wires to the pads of the GPIO28+29 datalines to use an external display. That did not work. But when using GPIO27+28 it did work. Trying to short GPIO27 into 29(so the trace of 29 would receive data) did not work, which leads me to believe the TM1637 chip is just defect. Once the hot air station is working again I will try to replace it and see what happens \$\endgroup\$ Commented Aug 27, 2023 at 16:42

1 Answer 1

1
\$\begingroup\$

So after trying a lot of things, it seems that the TM1637 was just defective. Once my solder station was back up and running I was able to replace it. Pin 29 does work properly for I/O. The tm1637 also accepts the 3.3V logic.

I do not know what caused the defect. Might have been a manufacturing defect, or maybe it broke during the reflow process or had a bridge.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.