-
Project update
08/17/2021 at 10:38 • 0 commentsOur Crowd Supply campaign is finished (hurray!) and currently I'm working on production batch of the Flasher tool. I'm freezing all hw changes (otherwise it will never finish) and focusing now on production process details, ordering boards, screens, parts, packaging and shipping, this sort of stuff.
Last revision just came in (not even tested yet). Few issues were fixed as usual, but also board share changes a little bit. I guess it is inspired by some conference badges.
Also just a one step away there was a request to make similar board for Atmega8 series chips, so I've prepared that one as well (first revision at this point)
All and all it looks good, I'm quite happy with board quality and looking forward to release them into life.
-
When you no longer have Arduino board
06/06/2021 at 20:03 • 0 commentsAs I've mentioned before, I decided to drop motherboard approach and designed my own Atmega368 into the board.
One reason for that is to have proper 5V. All Arduino boards have reverse voltage protection (even when powered from USB, what for?!), as simple as small schottky diode. As the result voltage on the MCU is at best 4.8V, and floating with the current.
Another reason - I wanted to have more control over GPIOs and LEDs, therefore my own design over stock Arduino board will do better.
What I struggled with at first is to flash it properly. You see, new MCU comes with no firmware, no bootloader, nothing. If you plug it in you'll get nothing but dead silence.
Only way to flash it is to use SPI pins together with RESET pin and any ISP programmer, another Flasher (older revision) in my case. Note to myself: don't forget to solder out those pins.
Why wouldn't it work like other Arduinos with USB-UART chip? Because it will only work with proper bootloader, the one that will wait for programming commands upon each restart. I had to take out logic analyzer to figure this out.
Using another flashing tool is not the most convenient way, everyone get used to do it 'one-click' way. Therefore using SPI method I only need to flash proper bootloader. Once it is flashed (with proper fuse settings) I can use onboard USB-UART bridge and any Arduino-like IDE to flash it next time.
Something I'd have to do for each board before it would leave my house towards customer. -
Crowd Supply Campaign. TPI and UPDI support plans
06/04/2021 at 20:56 • 0 commentsI did some effort for fill out all the formalities and since yesterday my Crowd Supply Campaign is live. I hope to get some support from community to run small batch and distribute it around the globe.
To be honest my target is a bit more ambitious. Currently I'm doing preparation work to support TPI and UPDI protocols. TPI would allow to programm smaller Tinys (Tiny9, Tiny10 etc), and UPDI will open the doors to latest Tinys with powerful peripheries.
I know for sure, that it is possible, but I'm not sure if i will manage to finish the work. Therefore I'm counting here on community support. Since such ennoblement is really a software task, I believe it is manageable.
-
Project status update
06/04/2021 at 20:47 • 0 commentsSince the previous record many things have happen. I did some additional optimization of the board to hit few targets
- I definitely want to have a high voltage programmer onboard (that's quite tricky as turns out)
- I want to prepare my board for possible mass production, therefore I've abandoned 'motherboard' design and installed onboard MCU
- Few small improvements here and there
Why would you need high voltage programmer? Smaller ATtiny's have just 5 usable GPIOs, but you can program reset pin to be 6th GPIO as well. the only problem is that you cannot use it for programming anymore. Therefore there is a special routine that allows you to reprogram such MCU by applying 12V to reset pin and using special protocol to update firmware.
Apart of necessity to have high voltage onboard (which is an easy part) you have to hire one more TINY pin to perform high voltage flashing, but worst part that pins that used for normal ISP programming are used in other directions in high voltage programing mode. This makes buffer IC useless, since it would block signal from TINY to host.
Solution that i came up with is to drop 74HC125 quad buffer and hire 74HC241 octa-buffer instead. 4 of the channels I will use for normal programming and 4 more for high voltage.
Picture above shows revision D, where i have high voltage circuitry, but i didn't manage to run it properly. So one more revision to come with above changes.