Building one's own tangara
#21
Cool ! I soldered one of these connectors by hand but then I used the hot plate as it was too messy by hand.
I had trouble with the buttons, they needed to be quite perfectly aligned with the PCB border (footprint has been fixed in a recent commit), and they were not on my boards, so they were constantly pushed by the case buttons. When fixing this I lifted a pad of the button from the PCB, but then it was fine with scraping the trace and soldering there.
  Reply
#22
Ahh yes, unfortunately our FFC connector did go EOL after the first production batch. The footprint is pretty straightforward so fingers crossed you can still find a good part for it. Latest commit in the Tangara hardware repo does use a new (very similar) connector, but obviously this is not much help if you've already got boards made.

Our main approach for hand soldering those FFC connectors has been to use a hotplate for the bulk of the work, then check for any pins that aren't bonded properly and fix them up individually with an iron and a ton of flux. They're a bit of a fuck, but it is doable! And it looks like you're doing really well so far! Best of luck with the rest of the work.
  Reply
#23
It lives! The screens I ordered are taking their sweet time getting here, but by all accounts it looks as if I have a functioning mainboard! I ended up doing a new PCB and just trying the FFC connectors again until I got the hang of it, and I think the mainboard and faceplate are all correctly soldered now.

edit: it plays music successfully, so everything seems good now save for the missing screen!


Attached Files Thumbnail(s)
   
  Reply
#24
So I got the screens I ordered and soldered one on, and it works correctly (responding to volume buttons and everything) except for a strip of pixels 1 px along the right edge and 2 px along the bottom edge that appear glitched somehow.

Then I also noticed the touch wheel does not respond, and when inspecting the solder joints, I noticed my touch controller chip is entirely missing pin 10 on the package? If that pin is supposed to be there, then I assume this is the reason the wheel didn't work.


Attached Files Thumbnail(s)
       
  Reply
#25
For the small corrupted-looking border, you most likely just have a display with slightly more pixels than the displays we ship. There is some small variance in this specific kind of display! To fix the issue, you can flash a dev build with this line uncommented: https://codeberg.org/cool-tech-zone/tang...m.cpp#L344 Note that your device's screen size is stored in NVS, so once you've flashed such a build once you should be able to return to mainline firmware releases without any ongoing issues.

That missing pin 10 is wild, we've never seen that before! That pin switches the IC from I2C-configured mode to a weird preconfigured 'standalone' mode so it makes complete sense that it not being attached causes issues with touch input.
  Reply
#26
So when looking closer I noticed the display does have the correct amount of rows and columns, but it was drawing shifted a few pixels up and to the left. From what I read online, ST7735 clones do this sometimes? Anyway as a proof of concept bodge, I got the display shifted into the correct position just by adding 1 and 2 to x1, x2, y1, and y2 here: https://codeberg.org/cool-tech-zone/tang...#L312-L318 but I'm sure there would be a "cleaner" way to do it if correctly supporting clone display drivers was a priority.
  Reply
#27
Ohhh that's very interesting. Maybe the previous cases we've seen had an offset issue rather than a size issue and we just didn't notice?

Either way, I'd be very happy to support an offset variance in our display driver as well. It's easy to do and makes DIY builds+repairs easier so why not.
  Reply
#28
I didn't post earlier, but I got my DIY Tangara into a functional state and have been loving it for about a week now! It's still kind of unfinished; I want to either make a fancy case on a resin printer or even out of wood, and also planning to print a custom graphic to cover the touch wheel with. But it plays music and that's the main thing for now!

Much love to the whole team for designing and developing this little friendly player, it's a joy to use! I set out on this task mostly to develop my own electronic skills further, but I got even more than that in return.


Attached Files Thumbnail(s)
   
  Reply
#29
Congratulations ! I thought of a wooden case too, hut don't really have knowledge / tools for this. If you make one someday I'll be happy to know about it Big Grin
  Reply
#30
Well I've had bad luck with the touch wheels apparently. A while after I got my Tangara functional, the touch wheel started intermittently cutting out and eventually stopped working altogether. From my troubleshooting it seemed like bad solder joints might be the culprit, so I reflowed all the solder joints on the faceplate and it started working again, for a few minutes before cutting out again. I tried replacing the touch chip a second time, but that didn't help at all.

I'm now tempted to build a second brand new faceplate, I have exactly enough components for one more of those. Anyone else experienced touch wheel issues when DIYing?
  Reply
#31
Hi everyone!

Me and my friends decided to do a bulk order of 10 Tangara boards because we are all big believers in the project. I'm currently in the phase of trying to get the orders done right on the JLCPCB website (can't beat those first time discounts on the PCBs) and I have few questions surrounding this phase. 

Q1: I can't get the touchwheel cover to export correctly from KiCad into JLCPCB. I even downloaded the FabricationToolkit plugin which is supposed to do it exactly in the format the guys at JLCPCB want it in. When I texted customer support they said I didn't have a separate outline layer which I didn't really understand since the Edge.Cuts layer gets used for both the faceplate and mainboard correctly. Anyone else facing the same issue?

Q2: I can't decide between getting the whole mainboard assembled or just a single side, both of them seem to need interventions from the manufacture for either edge rails or tooling holes but I expect those won't interfere with the final shape of the board. I guess getting the mainboard fully assembled would come out the cheapest or atleast the easiest. I read in this thread that soldering on the QFN packaged ICs can cause issues so I was thinking i would get that side assembled and then hand solder the other one. How hard would it be to solder the components on the bottom of the mainboard?

Thanks for any tips!
  Reply
#32
(2025-10-02, 02:09 PM)Derived0508 Wrote: Hi everyone!

Me and my friends decided to do a bulk order of 10 Tangara boards because we are all big believers in the project. I'm currently in the phase of trying to get the orders done right on the JLCPCB website (can't beat those first time discounts on the PCBs) and I have few questions surrounding this phase. 

Q1: I can't get the touchwheel cover to export correctly from KiCad into JLCPCB. I even downloaded the FabricationToolkit plugin which is supposed to do it exactly in the format the guys at JLCPCB want it in. When I texted customer support they said I didn't have a separate outline layer which I didn't really understand since the Edge.Cuts layer gets used for both the faceplate and mainboard correctly. Anyone else facing the same issue?

Q2: I can't decide between getting the whole mainboard assembled or just a single side, both of them seem to need interventions from the manufacture for either edge rails or tooling holes but I expect those won't interfere with the final shape of the board. I guess getting the mainboard fully assembled would come out the cheapest or atleast the easiest. I read in this thread that soldering on the QFN packaged ICs can cause issues so I was thinking i would get that side assembled and then hand solder the other one. How hard would it be to solder the components on the bottom of the mainboard?

Thanks for any tips!


From my experience:

q1) In KiCad go to "File > Fabrication Outputs > Gerbers" and click "Plot" and then "Generate Drill files". Then, zip all the gbr and drl files together and upload to JLCPCB. You might need to adjust the thickness on their website (for me it made it more expensive)


q2) I would recommend ordering the PCB with as many components presoldered as possible, unless you want to practice soldering. It's doable, it just gets old very quickly.

I'm trying to build my own Tangara, and while it's great fun, I seem to be a little stuck.

I think I correctly flashed the SAMD firmware (how do I know for sure?) and I can `picocom` into my ESP32. The firmware claims the following:

→ version
firmware-version=1.4.1
samd-version=6.0
collation=Generic
database-schema=10


I can run lua repl, but the issues I do see:

- The command `ls` only sees the storage after I flash it with tangara-companion (not after idf.py)
- The screen does not turn on in any way

The steps I've taken so far were:

- Solder everything
- Flash SAMD bootloader firmware with BMP (in the tangara-samd-bootloader it was build/zero/bootloader-zero-bc1632d.elf)
- Copy SAMD firmware from the official release here by mounting the ZEROsomething drive and pasting it there
- Build firmware and ifd.py flash
- Flash official firmware release with tangara companion


I'm thinking that since the screen doesn't power on, there must be a soldering problem (or ribbon cable problem), but I suppose I could have done something wrong to SAMD which after all manages power. Note that so far I haven't plugged the battery in.

I'd appreciate any hints! Thanks
  Reply
#33
Update I narrowed part of the problem down to the backlight on the display. It seems like pin 8 on my ESP32 is floating - if I short the pins 12 (LED_ENABLE) and 13 (3v3) on the J4 connector on the mainboard, the screen lights up (and sometimes stays lit up). It sounds like the firmware doesn't drive this GPIO correctly? When I measure the voltage on ESP32 pin8, it's consistently something like 0.5V
  Reply
#34
Update

I've tried to export the touchwheel cover in a million different ways, but I just can't get it to be recognised correctly by JLCPCB. I am at my wits end and I don't see where I should continue to try and make this work.
  Reply
#35
Hey all! Congrats on the progress so far; just getting to the point of being able to flash firmware is a really good sign! From that point, you're quite frustratingly close to having a working device!

Quote:Q1: I can't get the touchwheel cover to export correctly from KiCad into JLCPCB. I even downloaded the FabricationToolkit plugin which is supposed to do it exactly in the format the guys at JLCPCB want it in. When I texted customer support they said I didn't have a separate outline layer which I didn't really understand since the Edge.Cuts layer gets used for both the faceplate and mainboard correctly. Anyone else facing the same issue?

This is odd, I haven't heard this before. I'd expect JLC to ask for confirmation on a lack of copper, but I haven't heard of anyone having an issue like this with the outline. Just in case, I've attached a fresh export of this piece. It looks like it renders fine in JLC's gerbers viewer, so hopefully it works okay for you.
.zip   tangara-panel.kicad_pcb_gerber.zip (Size: 5.12 KB / Downloads: 1)

Just one quick note on the topic of touchwheel covers: do make sure to order thin PCBs for these! We used 0.6mm for our production units. A thicker cover won't fit in the case correctly, and will have reduced sensitivity.

Quote:Update I narrowed part of the problem down to the backlight on the display. It seems like pin 8 on my ESP32 is floating - if I short the pins 12 (LED_ENABLE) and 13 (3v3) on the J4 connector on the mainboard, the screen lights up (and sometimes stays lit up). It sounds like the firmware doesn't drive this GPIO correctly? When I measure the voltage on ESP32 pin8, it's consistently something like 0.5V

Are you measuring this with a multimeter, or an oscilloscope? This pin is driven via PWM, so it's possible that a multimeter reading could be giving you an average voltage.

I would be most suspicious of the J4 pins (give the LED_ENABLE pin a poke with a needle to see if it's budging; possibly it's a dry joint?), or perhaps the LED_ENABLE pin on the ESP needing a reflow. You may also want to inspect the corresponding pins on the display panel where it's soldered to the faceplace.
  Reply
#36
(2025-10-07, 11:02 AM)jacqueline Wrote: Are you measuring this with a multimeter, or an oscilloscope? This pin is driven via PWM, so it's possible that a multimeter reading could be giving you an average voltage.

I would be most suspicious of the J4 pins (give the LED_ENABLE pin a poke with a needle to see if it's budging; possibly it's a dry joint?), or perhaps the LED_ENABLE pin on the ESP needing a reflow. You may also want to inspect the corresponding pins on the display panel where it's soldered to the faceplace.

Thanks a lot Jacqueline. The noob I am I was measuring with a meter, and with a scope I see that pin 8 is indeed PWMing, but the test point before the MOSFET is not, so it's a shoddy joint on one of the connectors (or maybe the cable itself). I'll update when I get a chance to fix that!
  Reply
#37
Hello, I'm trying to DIY Tangara again, but unfortunately, I've found that the 3V3 power supply is still not working properly. I checked the power supply and replaced the possibly damaged BD91N01NUX, but it still doesn't work. Sometimes the 3V3 outputs a voltage of about 0.4V (the 5V part is normal) (using USB-C power supply, no battery installed) (SWDRV on the BD91N01NUX is pulling down normally, and the CC interface has a voltage of about 0.4V). How should I continue to troubleshoot the problem? I need help, thank you.
  Reply
#38
Hi! What is pin 3 (EN) on U4 (the 3v3 regulator) reading? The 3V3 power supply isn't normally enabled until the lock switch is pulled high, and then from that point the SAMD21 holds it up until it's time to power down.
  Reply
#39
(2025-10-13, 12:02 AM)jacqueline Wrote: Hi! What is pin 3 (EN) on U4 (the 3v3 regulator) reading? The 3V3 power supply isn't normally enabled until the lock switch is pulled high, and then from that point the SAMD21 holds it up until it's time to power down.
The EN pin on U4 has almost no voltage (0.15V), and even the sys_power pin has no voltage (0.01V). However, both VBUS_SWITCHED and VBUS are outputting around 5V normally. Is this a problem with the MCP73871? (I've checked that the problem isn't caused by a poor solder connection on the MCP73871.) Sad

After extensive testing, I've discovered that even with a 2-pin 3.7V lithium battery and a Type-C power supply, there's still no SYS_POWER or 3V3 output, no BAT_LEVEL voltage, and CHG_SEL is low. These aren't issues with the ATSAMD21E18A or its software, right?
  Reply


Forum Jump: