hybridfree/eevblog-posts huggingface dataset:
STM32 Blue Pill - are there ANY non fake, clone, etc. available - Page 1
Forum section: electronics / general

author: rfdes
author_rank: Regular Contributor
timestamp: August 01, 2022, 11:37:00 pm
content: I have no experience with the ARM offerings from STMicroelectronics and have been using Atmel ATmega processors for years. I desire to become acquainted with the STM32 ARM processors. I've learned that the cheap blue pill boards that have saturated the market are 99.9% clones, counterfeits, etc.Are there ANY vendors selling 'true' STM32 blue pill boards. If anyone knows were to purchase the read deal, it would be appreciated.ThanksJim

author: rooppoorali
author_rank: Regular Contributor
timestamp: August 02, 2022, 04:43:10 am
content: waveshare sold authentic STM boards. But the blue pill boards are not on their product list. Discovery, Neucleo etc. are there but mostly out of stock now. As the last resort, you can mail them to ask if they can source authentic blue pill boards. I'm afraid that at the time of the chip crisis, finding a real board may not be possible. But still, we should not leave any card unturned.

author: johnboxall
author_rank: Unknown
timestamp: August 02, 2022, 06:07:37 am
content: Perhaps spend a bit more and get a real dev board from Digikey, they have a few in stock:https://www.digikey.com/en/products/filter/evaluation-boards-embedded-mcu-dsp/786?s=N4IgjCBcoLQExVAYygFwE4FcCmAaEA9lANogCsIAugL74wCciIKkGO%2BRkpENtICXEADtMSADbYiNIA

author: rfdes
author_rank: Regular Contributor
timestamp: August 02, 2022, 10:11:54 am
content: Perhaps spend a bit more and get a real dev board from Digikey, they have a few in stock:Yes, I think you are totally correct. The price difference isn't a big deal.Thanks.

author: thm_w
author_rank: Super Contributor
timestamp: August 03, 2022, 09:43:13 pm
content: If you specifically want a blue pill board, that has to have STM32F103 then:- Buy a genuine part and swap yourselfDigikey doesn't have F103 dev kits, but they do have other more modern parts.If you don't need that specific part, but still want the small module size, then you:- Get a black pill STM32F401 or F411
DIY arduino bga rework station - Page 1
Forum section: electronics / general

author: misterno
author_rank: Contributor
timestamp: December 27, 2019, 03:31:19 pm
content: Dear forum Hi,I'm just made an arduino based BGA rework station with two ceramic plates.I use 2x max6675 AD and 2x type K thermocouples for measure the top and bottom temperature.My problem is that i can't display the top and bottom sensors temperature in Real Time in any mode.Here is the code i use based on original Norcal Reballer code: ->https://pastebin.com/GmvW0SFQAny help will be appreciated.TIA

author: sokoloff
author_rank: Super Contributor
timestamp: December 27, 2019, 05:37:37 pm
content: What does happen when you run it?What do you expect/want to happen instead?It's going to be very rare for someone to dive in and read/understand all the code to help you based only a post of "I built this thing with these parts and it doesn't work."

author: misterno
author_rank: Contributor
timestamp: December 28, 2019, 08:27:27 pm
content: I 've found my mistake and i already correct it. I 've already build it and now my problem is to understand the settings.For example what is dwell parameter, ramp, P I D values etc. My goal is to find the correct values to achieve kester reflow profile.When i understand them, i will be back.Thanks for reply

author: VeryFastSnail
author_rank: Contributor
timestamp: January 04, 2020, 11:06:24 pm
content: Quote from: misterno on December 28, 2019, 08:27:27 pmWell could you share schematics? If not public, maybe pm? Would love to see how everything came together.

author: misterno
author_rank: Contributor
timestamp: January 05, 2020, 05:00:56 pm
content: Quote from: VeryFastSnail on January 04, 2020, 11:06:24 pmI will share it but the project are not fancy, just a DIY construction into an old DVD. Please you must be patient.

author: superdota2
author_rank: Newbie
timestamp: July 20, 2022, 01:29:06 am
content: i also building arduio bga rework station, i have same problem you posted, can u post corrected codes?
Is this chip (HOLTEK HT48R30A-1) programmable or not? - Page 1
Forum section: electronics / general

author: tomay3000
author_rank: Newbie
timestamp: July 22, 2022, 09:18:56 pm
content: Hello,The following chip (HOLTEK HT48R30A-1) was taken from a dentist chair that has stopped working recently, and we are trying to repair it.I need to know if this is a programmable chip or not, because we already purchased a new one from Aliexpress and it is on the way.If so, what are the possible programming devices to use? and where can we find a firmware dumps for it?TIA.

author: gamalot
author_rank: Super Contributor
timestamp: July 22, 2022, 09:26:46 pm
content: HT48R30A-1 is OTP (One-Time-Programmable) microcontroller.https://www.digchip.com/datasheets/parts/datasheet/196/HT48R30A-1-pdf.php

author: Ian.M
author_rank: Super Contributor
timestamp: July 22, 2022, 09:39:26 pm
content: Its datasheet says its an OTP MCU. Its going to be hard enough finding a programmer to support it (as it looks like Holtek have dropped it from their tools list:https://www.holtek.com.tw/mcu_tools_indexing_table), let alone obtaining firmware compatible with your board. Don't expect to simply be able to read a known good chip and program your new one, as a big selling point for many OTP MCUs is if they are secure (i.e. either don't support program read-back or have a lock bit to disable read-back) so the buyer's competitors cant (easily) clone their product.

author: SiliconWizard
author_rank: Super Contributor
timestamp: July 22, 2022, 09:48:23 pm
content: Quote from: tomay3000 on July 22, 2022, 09:18:56 pmOne question is, what makes you think the MCU is at fault?(As said above, this is a OTP MCU. Whether you'll be able to read the firmware from one and program another is unknown to me. But if you were actually able to read the original program, then the original MCU would be functional enough at least to be read back. If so, what would make you think again either that the MCU is faulty, or if it really is, why you would be able to read its program memory? You'd be assuming maybe some "zapped" IOs but still the programming interface working.)Just saying that so that you don't waste your time. Might be worth a shot if the programming tool was easily available (and a guarantee that the program memory is not locked in some way to make it unreadable), but otherwise...

author: tomay3000
author_rank: Newbie
timestamp: July 22, 2022, 10:00:05 pm
content: I am actually the third person in the issue.The dentist started noticing weird behavior in the chair (The buttons functionalities have switched, and some became not responding).So he decided to take it to the repair shop, and that last one owner happens to be my friend who told me about this and the dentist which happens to be my friend too.He told me that he already purchased a new one from Aliexpress is on the way, he told me that he tried to read the old one by his universal programmer but to no avail.
Wrong files sd card in proteus  - Page 1
Forum section: electronics / general

author: ebastler
author_rank: Super Contributor
timestamp: July 09, 2022, 05:53:53 am
content: This problem does not seem to have anything to do with Proteus. If you can initialize the SD card and open a directory (as I think you do in your program), your hardware should be OK. I will ask the moderators to move it to a more appropriate part of the forum, which may increas your chances of a response.It would be much better if you can simplify your program, so it recreates the problem with the minimal amount of code. Expecting forum members to wade through that long source code is not a friendly approach.Also, I find the source code very hard to read in that small code window. Especially since it has lost all its indentations. Can you please post the code as an attachment (text file)?
Auto stby with Attiny85 - Page 1
Forum section: electronics / general

author: Michaelaudio
author_rank: Regular Contributor
timestamp: July 11, 2022, 07:46:08 am
content: So i wanna make a standby curcuit for an Audio amp. (Its on the same board). I have not much experience with Microcontrollers, so i wanna make sure it will work. I will get help to programm this thing, as im not familiar with programming.The Sense L/R markers are the Audio signal, since the attiny has internal ADCs, i guess it should work like that. I wanna sense the signal, if longer than 15mins is no audio signal applied, the tiny should switch a few transistors, and mute the amp.With the RC filter i wanna make sure no noise will mix with my audio Signal from the Attiny.So, will it work like that?

author: ozcar
author_rank: Frequent Contributor
timestamp: July 13, 2022, 11:28:41 am
content: I can’t see what you propose there with Q7 working, but then I’m not real sure what you are trying to achieve. What is “+5VD”? A 5V supply you want to control or what?Are you aware that using the /RESET pin as a digital output complicates re-programming the chip? You would need a “high voltage programmer”, or maybe have to incorporate some sort of bootloader in your code.Edit: I see now you have another thread on the same subject, where Ian.M has raised the issue about Q7.
Bit shifting a defined value - Page 1
Forum section: electronics / general

author: PerArdua
author_rank: Regular Contributor
timestamp: July 07, 2022, 04:37:27 pm
content: I'm in the process of writing a C library for communicating to a DAC60501 using SPI (datasheet:https://www.ti.com/lit/ds/symlink/dac80501.pdf). I'm writing this in MplabX using the XC16 compiler.The DAC needs at least 24 falling edges of SCLK (pg 24), so I have used the MCC generated library for a 32 bit transfer on my PIC24FJ256GA406.The actual 'data' to send consists of 20 bits, itself 4 bits to indicate the register being written to, and 16 bits of 'data' (pg 29).In my .h file (attached), I have defined values for these registers, as per table 4 on page 28 using #define x y.In my .c file (attached), I attempt to construct a 32 bit variable to send, by first shifting register data by 16 places (line 42), then OR'ing with the value I wish to output on the DAC (line 43). I then pass this 32 bit value to a function (line 44), where I shift it by 8 bits to move the register and data to the MSB of the 32 bits, and then send using an MCC function (line 11). However, I do not see any output from my DAC.I've used the debugger (excuse the Nop() on line 10), and have discovered that the register value (DAC_DATA) is not being shifted in the data_out variable on line 42. Is it not possible to use #defines in this way? Or do I need to be more explicit in my declarations?I now realise that this will affect the init function, but hopefully by learning how I have incorrectly implemented this portion of the code, I will be able to rewrite the init to proper functionality.The code as attached is a bit messy due to my debugging attempts, but I would also welcome suggestions to improve/standardise my code - I'm still new to programming and very much learning the basics.

author: JPortici
author_rank: Super Contributor
timestamp: July 07, 2022, 04:47:03 pm
content: problem 1) you have to remember that the sizeof(int) is 2 in XC16, this is reflected in the preprocessor as well, so if you want to do any 32bit you have to add the L/UL suffix in preprocessor constants and cast to int32_t/uint32_t in macrosI believe the compiler should warn you about a shift greater than the bit size of the value being shifted thoughproblem 2) keep data_to_send right aligned

author: PerArdua
author_rank: Regular Contributor
timestamp: July 07, 2022, 08:28:46 pm
content: Thanks both JPortici and evb149.JPortici, thanks for your advice re. the preprocessor as well as catching the need to keep the data left aligned - is that from the DB23 on SCLK 1 on page 24 - so you'd want the 32 bits to be xxx... b1, b0 - without left or right justification?evb149, thank you for your suggestion to use structures - I hadn't come across them yet in my basic knowledge. Would it be 'better' to create the struct (presumably one for each register) in the header, or keep it as a local variable within the init function?
. - Page 1
Forum section: electronics / general

author: fullmoon6661
author_rank: Newbie
timestamp: July 05, 2022, 11:23:38 pm
content: .

author: ataradov
author_rank: Super Contributor
timestamp: July 05, 2022, 11:40:28 pm
content: It is perfectly fine. You should not rely on synchronicity of the clocks, but that's not an issue in most cases.

author: Siwastaja
author_rank: Super Contributor
timestamp: July 06, 2022, 02:17:50 pm
content: Will work fine, just be aware that each MCU needs to configure the clock output before the next one can switch to that clock.They will all boot with their internal RC oscillators, and if you just use some while(1) loop to check for clock switch, they will not switch at the same time, but sequentially.First one needs a slightly different code because it is configured with crystal, others will be configured with oscillator input. But probably you would run different firmware (or the same with different settings) in any case. If you have spare IO pins, you could strap two pins into different Vcc/floating/GND configurations so you could choose the MCU index / role in software during boot, and be able to program all with the same binary.
STM32 Dead Flash - Page 1
Forum section: electronics / general

author: rokspy
author_rank: Contributor
timestamp: June 11, 2022, 02:31:28 pm
content: Hey. I think I may have killed the flash of my STM32F401... The last normal signs of life was successful flashing of the device, and then when i pressed reset on the board and the board did not perform the function it was set to do. I tried flashing it again and the target was not found. Switched to ST-LINK Utility, which was able to salvage the device ID and the family name, which makes me think that the flash may have some signs of life. But after that it pops out a message that it can't read memory and that read out protection is enabled. The option bytes show memory protection of level 1, but I can't change it, which gives out error, that it can't set the option bytes. I have tried full erase, have tried booting from BOOT0 being HIGH, no success. Same program works on other board. Currently, I'm suspecting some direct-finger-lightning to the chip once i pressed the button, but assuming this and not exploring other possibilities may lead to killing more STM32, which I really, really don't prefer. Voltage levels on power pins all ok - VDD is 3.3V, core voltage stable 1.2VSo my main questions are: May there be additional things I could try to do to salvage the dead MCU or verify that it is truly dead? What could be the possible reasons for this kind of "dead response"? Can there be something fundamentally wrong with my code that bricks the device to this state?(have to note, that the program sources clock from external crystal and the debug functionality pins are not altered.)

author: AndyC_772
author_rank: Super Contributor
timestamp: June 11, 2022, 02:55:35 pm
content: I've bricked STM32 chips before by setting the brown-out reset voltage to a level that's above the actual supply voltage used on the board.Once that's done, the only way to recover is to power the chip from a higher voltage - somehow.

author: DavidAlfa
author_rank: Super Contributor
timestamp: June 11, 2022, 05:25:28 pm
content: Probably you disabled the debugging interface. In the future, enable it or use nRST pin.You can fix this by connecting nRST or manually: Hold reset button down, click connect on ST-LINK, release 1 second later.Connecting in reset state gets rid of any wrong setting.

author: mdede439
author_rank: Newbie
timestamp: July 05, 2022, 03:38:27 am
content: I have a similar issue where the ST-LinkV3 on my Nucleo Board seemed to fail after an upgrade using the STM32CubeIDE. I cannot connect to it no matter what I do and the upgrade utility fails to recognize the firmware level so it won't re-flash it. Any ideas? Is there another way to flash code to it? Maybe an older V2 code version and then I can upgrade it to V3??

author: tellurium
author_rank: Frequent Contributor
timestamp: July 05, 2022, 09:42:27 am
content: Happens to some of mine nucleo boards, after reflashing I've got a "unknown chip id" flash error.The solution is: wire BOOT0 to VDD, reset the board and erase the flash (e.g. "st-flash erase").
. - Page 1
Forum section: electronics / general

author: fullmoon6661
author_rank: Newbie
timestamp: July 02, 2022, 01:27:22 am
content: .

author: dmendesf
author_rank: Frequent Contributor
timestamp: July 02, 2022, 04:00:45 am
content: Use 2 SPIs, one as master and other as a slave. Connect clock and CS together. Use master SPI to drive adc and get one datastream. Slave SPI gets the other datastream automagically.

author: pcprogrammer
author_rank: Super Contributor
timestamp: July 02, 2022, 05:53:16 am
content: The 2 spi setup dmendesf gave is the way to go, but have you thought about what you are going to do with 2 times 16bit 1Msps of data coming into the STM32F103?You need DMA to get the samples into the memory to not burden the CPU, but there is not a lot of memory to store the samples.And even though it is a quick MCU then do processing on the samples and spit them out to some other system is also a bit of a load. Sure it can be done but not with sustained data.With USB I managed to get a single channel of sustained 16bit 100Ksps to stream to a PC. Needed to write my own USB driver under linux to make it work.
M16C: Renesas M30260F8AGP IDcode failure; no deletion possible - Page 1
Forum section: electronics / general

author: Tueftler@Work
author_rank: Newbie
timestamp: April 06, 2022, 11:20:27 am
content: Hi there.I have some old Renesas M30260F8AGP microcontroller in stock which i cant flash with our program.These type of microcontroller have an internal ID which you can set for readout AND deletion protection.The STM controller family have lockbits, too. But you can delete the parts without any problem...Did anybody have a glue if there is another possibility to delete these parts nonetheless?I had bought the devices on the net and they comes protected.I dont want to readout the flashed firmware, but i have to delete the devices...Hope anybody have a known trick for that.Otherwise i have to put it into the trashGreetings!

author: soqe
author_rank: Newbie
timestamp: July 01, 2022, 02:39:01 pm
content: Maybe parallel programming is not secured.
alifsemi Cortex M55 - Page 1
Forum section: electronics / general

author: ali_asadzadeh
author_rank: Super Contributor
timestamp: July 01, 2022, 08:52:57 am
content: Hi,It seems they are the first to introduce some Cortex M55 parts, I see their part numbers on Segger j-link device list, But I could not find any datasheet or price info on their website.Do you have any info on this company, datasheet , price and availability?
Request for clarification question related to Segger J-Link - Page 1
Forum section: electronics / general

author: FlyingDutch
author_rank: Regular Contributor
timestamp: July 02, 2022, 07:20:25 am
content: Hello Guys,I has purchased board called "Sparkfun QuickLogic Thing Plus - EOS S3" - below is link to producer page:https://www.sparkfun.com/products/17273It is based on "QuickLogic EOS S3 Ultra Low Power SOC" - this IC is combination of ARM-Cortex-M4F MCU and programable logic (FPGA) - here is datasheet:https://cdn.sparkfun.com/assets/7/a/c/c/e/QL-EOS-S3-Ultra-Low-Power-multicore-MCU-Datasheet-v3_3d.pdfI am using this tutorial to start using this board:https://learn.sparkfun.com/tutorials/quicklogic-thing-plus-eos-s3-hookup-guideOne question is not clear for me: in this last link (Hookup-guid) on the end is section tiled "Download Binaries using JLink SWD". I made a cable between my J-Link header and SWD header on Quick Logic Thing board and connected to board using "J-Link Commander" (J-link.exe) in Windows10 OS. One question is not clear for me: I cannot find information about Flash memory on this board - I found only information about 512 KB RAM (for program and data).My question is: "Can J-Link download MCU program and FPGA configuration file to RAM of this board and run application? I thought that J-Link can only download program to Flash memory, but I likely was wrong. Could I ask for clarification of this question?Thanks in advance and Regards​

author: thm_w
author_rank: Super Contributor
timestamp: July 07, 2022, 09:55:24 pm
content: There is a flash IC:QuoteThe EOS probably pulls its data from there upon boot.You can use JLINK to either download to RAM or maybe Flash (depending on how this board is layed out), and execute from there.https://www.segger.com/products/debug-probes/j-link/technology/flash-download/#DevelopmentPurposesIn the instructions you linked it tells you its running from RAM"Return to console #1; type: “g”; the M4 binaries in M4 SRAM will start to run and the eFPGA is configured"
Modbus on AVR64DA64 - Page 1
Forum section: electronics / general

author: T3sl4co1l
author_rank: Super Contributor
timestamp: June 26, 2022, 05:13:25 am
content: I don't see any references to this, so here you go:https://github.com/T3sl4co1l/freemodbusThe demo set is pretty extensive already, but I just added some AVR stuff to support AVR-DA and friends. So, probably mega0, tinyAVR, etc. Should be easier to add XMEGA now, too.Also seems to be a very mature and widely used library. Still testing, but it seems to work alright. Not much trouble to integrate. Seems to be around 3kB typical, not very heavy at all; though I have a few functions left to implement. Doesn't look very efficient, in terms of operations, number of functions calls, etc. (in particular, callbacks from interrupts are very inefficient on AVR), but obviously, it's written for clarity / portability, and anyway, even if you're doing like 115.2kbps it's probably still a tiny performance cost to add to a project.Tim
Check digit generated on 8 bit mcu - Page 1
Forum section: electronics / general

author: Mark19960
author_rank: Regular Contributor
timestamp: June 23, 2022, 06:59:49 pm
content: I can't figure this one out.hoping this jumps out at someone and they know how these check digits are being calculated.Tried the usual suspects... modulo 256, etc.I don't have access to anything... reverse engineering this one.Here are the patterns I have fed it and what I get back:1111111111111111 = 0x6F2222222222222222 = 0x7F3333333333333333 = 0x8F4444444444444444 = 0x9F5555555555555554 = 0xAE5555555555555555 = 0xAFAnyone have an idea what is being used to calculate the check digit here?

author: Siwastaja
author_rank: Super Contributor
timestamp: June 23, 2022, 07:10:01 pm
content: What do you mean by 1111111111111111, is this ASCII string, or a decimal number (in uint64_t, for example), or maybe a hexadecimal number?Any possibility it's a CRC? Try the few usual CRC8 variants online here:https://crccalc.com/

author: Mark19960
author_rank: Regular Contributor
timestamp: June 23, 2022, 10:01:51 pm
content: Sorry, yes those are ASCII strings.I actually tried crccalc and a few other sites already.Nothing matched up.Attached is an example of 2222222222222222The first 4 are the command... basically read 16 bytes starting at 0x10 followed by what must be a check digit and an ack.This is the only value that changes depending on the 16 bytes of data read.

author: SiliconWizard
author_rank: Super Contributor
timestamp: June 23, 2022, 10:37:20 pm
content: I think I got it, at least it matches the few examples you gave.It just appears to be a simple 8-bit checksum of the 16 ASCII digits, plus the leading 'W' (0x3F), 0x10 and 0x10. The second character, the question mark, is apparently not part of the checksum.So:0x3F+0x10+0x10+16*0x31 = 0x6F (mod 256)0x3F+0x10+0x10+16*0x32 = 0x7F (mod 256)...0x3F+0x10+0x10+15*0x35+0x34 = 0xAE (mod 256)0x3F+0x10+0x10+16*0x35 = 0xAF (mod 256)

author: Mark19960
author_rank: Regular Contributor
timestamp: June 24, 2022, 12:01:00 pm
content: That looks to be it. Thanks mate you spotted it and it works.It's from the second byte (the question mark) but I got what you were saying.Cheers.
ESP32 bit-banging and the RMT peripheral - Page 1
Forum section: electronics / general

author: e100
author_rank: Frequent Contributor
timestamp: June 21, 2022, 05:41:52 am
content: This one-wire libraryhttps://github.com/DavidAntliff/esp32-owbcontains the following quote,"This component includes two methods of bus access - delay-driven GPIO and RMT-driven slots. The original implementation used CPU delays to construct the 1-Wire read/write timeslots however this proved to be too unreliable. A second method, using the ESP32's RMT peripheral, results in very accurate read/write timeslots and more reliable operation."I haven't found a more in depth explanation of what's causing the GPIO timing problems.Is the need to use the RTM peripheral because of a fundamental limitation of the RTOS (or RTOss in general) or because of the way the RTOS is being used, or both?The documentation for the RTM peripheral is here,https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/rmt.html
Audio volume controller (PT2258) questions - Page 1
Forum section: electronics / general

author: kgavionics
author_rank: Regular Contributor
timestamp: June 17, 2022, 10:26:55 pm
content: HiI want to drive a PT2258 with a stm32f401 MCU. So far I wrote bare metal I2C driver, but I have some question about the bit format I'm going to use. In my project, I'm using only 2 channels (1 and 2) and I want to control them simultaneously using -10db step. My first question according to datasheet (attached pic2) for channel#1 -10dB attenuation the value should be 10010001(91H) and 81H respectively right! But, I saw online that people are using 90H and 80H respectively instead! Why?The second question is related to how the bit format is sent to the PT2258. According to the datasheet(pic1), they say that I must send -10 dB followed by -1db. So, what if I want to send only -10dB then 0dB, is that going to work?Thanks in advance

author: SiliconWizard
author_rank: Super Contributor
timestamp: June 17, 2022, 11:31:09 pm
content: From what I get, there is a separate setting in 10dB increments and in 1dB increments, and the DS says you should always send both in sequence for the chip to internally set the proper attenuation. It says nowhere that the values you set for each increment can't be zero. So If you want only a multiple of 10dB, you can set the 1dB increment to zero. You just need to send it even if it's just zero in order for the chip to set the attenuation properly. It's just probably because its internal state machine works this way and will "validate" the new value of attenuation only when both increments have been set in sequence - which makes sense. This way, it probably *directly* sets the attenuation as n*10+m, and not as n*10 dB, and later on (depending on speed of communication) an additional m dB.

author: kgavionics
author_rank: Regular Contributor
timestamp: June 18, 2022, 08:07:45 pm
content: Thank you very much for your input SiliconWizard
PIC32MK clock speed and requirement for guard trace - Page 1
Forum section: electronics / general

author: perdrix
author_rank: Frequent Contributor
timestamp: June 10, 2022, 09:54:11 am
content: The data sheet for the PIC32MK series (page 608) says the external crystal or clock frequency can be up to 64MHz.I realise that there's a PLL internally so I can feed it with 8MHz, 12MHz, or pretty much any multiple of 4MHz. What's the general wisdom on choosing the frequency?The data sheet for the PIC32MK (figure 2.3 on page 31) strongly suggests the use of a guard trace that passes between pads of the 0.5mm pitch QFN or TQFP64 footprint when a crystal is being used which rather requires 3 mil track and clearance rules. Is this also a requirement when an external clock source is being used as below:ThanksDavid

author: perdrix
author_rank: Frequent Contributor
timestamp: June 11, 2022, 12:20:10 am
content: Any other comments on best choice of external clock speed - I'm leaning towards 12MHz but have not got a strong basis for that choice ...D.

author: free_electron
author_rank: Super Contributor
timestamp: June 11, 2022, 01:08:19 am
content: running traces between 0.5mm pitch tqfp ? don't go there.you are using an active oscillator so no need for guard traces. it drives hard enough.if you use a crystal the reason for the guard is to shield the input pin from external factors. the guard needs to be tied to the oscillator OUTPUT. you need ot check the datasheet to see which of the two it is.
Easier AllWinner F1C100s reverse engineering with Ghidra - Page 1
Forum section: electronics / general

author: pcprogrammer
author_rank: Super Contributor
timestamp: June 12, 2022, 12:20:04 pm
content: To make things easier when reverse engineering code intended for an AllWinner F1C100s (or F1C200s, etc) I created a cmsis.svd file for it.This video showed me how to use this in Ghidra for ARM-Cortex MCU's and I tried it with the GD32E230 found in the FNIRSI-1014D. It works very well so I thought why not use this for the F1C100s as well, even though it is not an ARM-Cortex device.The F1C100s.svd file I made only holds the registers and not the bit fields because that is way more work and Ghidra does not use them. Also lacks the registers for the TVD, TVE and VE peripherals as these are not shown in the documentation I have.The attached pictures show what it looks like in Ghidra.

author: DavidAlfa
author_rank: Super Contributor
timestamp: June 12, 2022, 02:51:39 pm
content: Nice job!AFAIK, the SOC is the same as the f1c500s, f1c600s, f1c800, check their datasheets / RMs.

author: pcprogrammer
author_rank: Super Contributor
timestamp: June 12, 2022, 03:28:56 pm
content: Thanks, and I did knew that about the 500 and the 600, but did not know there is a 800.I have used the documentation of the 600 to fill in some of the registers.For the USB I used the header files I found in the different Linux implementations and other open source projects around. Nothing in the AllWinner documentation about it. The same goes for the DRAM controllerIt might help with looking into the Hantek Phoenix code if anyone is doing that.

author: DavidAlfa
author_rank: Super Contributor
timestamp: June 13, 2022, 04:01:38 pm
content: The USB seems to be some kind of standard, read somewhere to use stm32 register map...

author: pcprogrammer
author_rank: Super Contributor
timestamp: June 13, 2022, 04:21:48 pm
content: It is a Mentor Graphics MUSBMHDRC USB 2.0 Multi-Point Dual-Role Controller, but the register addresses are shuffled a bit. Not sure if it matches with an USB interface on a STM32. For sure not a F103 device since these are only slaves and go up to full speed, not high speed.I have used the manual when I worked on the FNIRSI-1013D code. You can find it here:https://raw.githubusercontent.com/pecostm32/FNIRSI-1013D-1014D-Hack/main/Manuals/musbmhdrc_pspgUSB.pdf
[Lilygo TTGO] From T-Display to T8 - Page 1
Forum section: electronics / general

author: Winfried
author_rank: Contributor
timestamp: June 14, 2022, 11:28:21 am
content: Hello,I'd like to move from aT-Displaycontroller to aT8.The original application used pin 21 and 22 for TX and RX respectively, but the pins are numbered differently on the T8.Before I pull the soldering iron… can I just update and recompile thesource codeto use any IO pin I want instead?Thank you.
How does STM32F429ZI MAC controller know when collision occurs? - Page 1
Forum section: electronics / general

author: syntax333
author_rank: Regular Contributor
timestamp: June 15, 2022, 03:41:16 pm
content: Hi I am currently working on a project where I have to implement TCP/IP stack on STM32F429ZI 144 pin nucleo board.Board has PHY chip.My question is how does the MAC controller knows when a jabber or collision event occurs since these events are handled by PHY chip.PHY chip shown in schematic for nucleo board, has no connections other than RMII (like error interrupt pin?) to STM32 MCU.

author: Scrts
author_rank: Frequent Contributor
timestamp: June 15, 2022, 03:58:50 pm
content: It depends on errors, but either CRS_DV (Data Valid) will not be raised within incoming RXD or RX_ERR will be raised.

author: syntax333
author_rank: Regular Contributor
timestamp: June 15, 2022, 07:41:36 pm
content: I thought maybe MAC controller reads status register after each transmission but without knowing status register offset and corresponding bits for error its highly unlikely

author: Doc Daneeka
author_rank: Contributor
timestamp: June 16, 2022, 07:23:32 am
content: If it's a regular 100 Mbit twisted pair PHY, there is no collision signal because there are no collisions: this type of Ethernet is point to point full duplex.
STM32 custom fonts - Page 1
Forum section: electronics / general

author: strawberry
author_rank: Super Contributor
timestamp: January 31, 2021, 10:56:24 pm
content: adafruit LCD text font library is made to work on STM32 but hard fault crashes happen now and then...Is something dedicated for STM32?How pointers and arrays work?Is it possible to store fonts or other data in RAM?

author: ebclr
author_rank: Super Contributor
timestamp: February 01, 2021, 02:43:18 am
content: " Is it possible to store fonts or other data in RAM? "It's possible but is a very bad idea, power off no more font s there

author: HB9EVI
author_rank: Frequent Contributor
timestamp: February 01, 2021, 10:07:54 am
content: I've reworked an Adafruit fork for the ILI9341, which can use truetype fonts on STM32. It's plain C code, no arduino-like mess.If you you're interested, I can share you the code

author: strawberry
author_rank: Super Contributor
timestamp: February 01, 2021, 11:45:33 am
content: Quote from: HB9EVI on February 01, 2021, 10:07:54 amI remove PROGMEMI think, this code cause errorsCode:#define pgm_read_byte(addr) (*(const unsigned char *)(addr))#define pgm_read_word(addr) (*(const unsigned long *)(addr))#define pgm_read_pointer(addr) ((const unsigned long *)pgm_read_word(addr))uint8_t w = pgm_read_byte(&glyph->width),

author: morten.dynamite
author_rank: Newbie
timestamp: June 07, 2022, 02:51:24 pm
content: I'm interested in the if you want to share it with me
Renesas HS8/2134A locked  - Page 1
Forum section: electronics / general

author: james101
author_rank: Contributor
timestamp: June 06, 2022, 08:07:14 am
content: Hi guys just wondering if anyone can help us out with this issuesgot the following chip it working for nowbut i like to do a backup file of itbut its not unlockedwould glitching help and bypass the protection so i can copy itanyone know of a programmer that can read this type of locked chipsand recommend one to us.microprocessor Type Renesas HS8/2134Acan anyone check for us.thank you
MSP432E401Y TCP Server - Page 1
Forum section: electronics / general

author: Thomas83
author_rank: Contributor
timestamp: June 04, 2022, 06:46:24 pm
content: Hi everyone,I'm trying to establish a TCP connection between MSP432E and my PC.PC acts as a TCP Client and MSP432E401Y should act as server.Is there an example No RTOS for MSP432E401Y to acts as server (receive and send packet).Thanks for your help.
GD32F425RGT6 MCU are there any HAL library - Page 1
Forum section: electronics / general

author: FlyingDutch
author_rank: Regular Contributor
timestamp: May 31, 2022, 10:58:14 am
content: Hello forum,I am seeking possibility to use MCU GD32F425RGT6 instead of couterpart from STM32 family. I have code written for STM32 using HAL library. I download firmware library fromwww.gigadevice.comWWW page. As far as I can see there is not provided HAL library, but only "Standard Peripheral" library. Is anybody aware if it is possible to use HAL library from counterpart STM32 MCU? Can GD32xx MCUs be programmed in "STM32CubeIDE"? All co9mmens are warmly welcomeThanks in advance and Regards

author: mon2
author_rank: Frequent Contributor
timestamp: May 31, 2022, 11:11:25 am
content: See attached - not sure if this helps.

author: FlyingDutch
author_rank: Regular Contributor
timestamp: May 31, 2022, 11:24:49 am
content: Hello @mon2,thanks for your answer, but this link is for GD32F103 device which is different from GD32F425RGT6 (it is ARM Cortex-M4) and it also seems that these library called HAL is stil "Standard Peripheral" library (it is not counterpart for STM32 HAl library.Thanks and Regards

author: pcprogrammer
author_rank: Super Contributor
timestamp: May 31, 2022, 11:59:16 am
content: My guess is that when the two devices have the same peripheral setup you would be able to use the STM32 HAL to write your code and run it on the GD32. But when there is a slight difference in register or bit usage you can experience strange errors and can be hell to find what is wrong.So the first step to take is to compare the two devices. Just learned about cmsis-svd. There are XML files that hold the peripheral layout of the devices. Attached is the one from the GigaDevice one. It can be found in the Addon package here:https://www.gd32mcu.com/en/download/0?kw=GD32F4Look for the svd file for the STM32 device you have in mind on the net and compare if the peripherals are the same and have the same register setup.

author: FlyingDutch
author_rank: Regular Contributor
timestamp: May 31, 2022, 12:24:56 pm
content: Hello @pcprogrammer,thanks for your comment - it seems to be good idea.Thanks nad Regards

author: DavidAlfa
author_rank: Super Contributor
timestamp: May 31, 2022, 02:12:46 pm
content: I recall Gigadevices having a device library, almost identical to the previous ST library, before the HAL.

author: mon2
author_rank: Frequent Contributor
timestamp: May 31, 2022, 03:27:47 pm
content: Sharing a good FAE contact to receive proper support from the factory. Please do update this thread.
Question about 82C55 mode 2 - Page 1
Forum section: electronics / general

author: profdc9
author_rank: Frequent Contributor
timestamp: May 30, 2022, 01:09:04 pm
content: Hello,I have a question about 82C55 mode 2. I have attached the following timing diagram from the 82C55 datasheet. It shows that when RD goes low that IBF is returned to the high state, and when WR goes low OBF is set to the low state. However, it does not show that the chip select line CS is required to be low and the 82C55 is selected for this happen.Is the CS line required to be low for the 82C55 so that the WR and RD transition is acknowledged by the 82C55? If it is not required (WR and RD are monitored even if the CS is high), then do I need to add an external OR gate with CS to ensure that WR and RD only trigger the transition of OBF/IBF when the chip is actually selected?Thank you,Dan

author: pcprogrammer
author_rank: Super Contributor
timestamp: May 30, 2022, 01:56:35 pm
content: The usage of CS is implied.In your picture you can see that where the WR line goes low there is a text stating data from CPU to 82C55A, which means there has to be data from the CPU on the bus. Also when the RD line goes low there is a text stating data from 82C55A to CPU, which means the 82C55A is putting data on the bus. This can only happen when the CS line is low. The A0 and A1 lines need to have the right state too.

author: RoGeorge
author_rank: Super Contributor
timestamp: May 30, 2022, 02:03:51 pm
content: RD, WR and the data bus are signals going to many chips. CS is meant to select the chip you want to talk with at a given time.If CS is not asserted, the data bus and the RD/WR signals will be ignored.

author: profdc9
author_rank: Frequent Contributor
timestamp: May 30, 2022, 05:01:55 pm
content: Ok thanks, but I wanted to double check this is the case.Dan
Choosing a debugger for PIC32MK0512MCJ064 - Page 1
Forum section: electronics / general

author: perdrix
author_rank: Frequent Contributor
timestamp: May 30, 2022, 10:34:22 am
content: I'm starting a new project using a PIC32M processor. I've currently got a PICKIT4 but get the impression from the datasheet that either an ICD3 or Real ICE is needed.However the ICD4 and ICE4 are now out there and I expect that they also support this chip, can anyone confirm?Either way I got the impression that a PICKIT4 won't handle it.There's a massive price difference between the ICD4 ($329) and and the ICE4 ($1799).Which do you recommend?ThanksDavid

author: oPossum
author_rank: Super Contributor
timestamp: May 30, 2022, 10:42:31 am
content: SNAP, PICkit 4, and ICD 4 are all supported for programming and debugging.http://ww1.microchip.com/downloads/en/DeviceDoc/Device_Support_v5.35.pdf

author: JPortici
author_rank: Super Contributor
timestamp: May 30, 2022, 11:06:02 am
content: when the PK4 works it works FAR better than the ICD3. You should be fine, without having to pour money for the ICD4.ICE4, i honestly don't know anybody that is using it and it's still rather new with many "to be developed" functions.In any case be sure to power the board EXTERNALLY, otherwise funny things may happen during the debug session
XMOS xCORE build without XTAG? - Page 1
Forum section: electronics / general

author: Felipe Lacerda
author_rank: Contributor
timestamp: May 23, 2022, 04:52:06 am
content: hiIs it mandatory to use an XTAG to write the flash memory already with the xCORE chip to be used together?Is there any way to generate the .bin file and then use (CH341A) to write to flash memory? *SPI 25 seriesI'm very confused, it's not explained explicitly.XTAG also write in this OTP of the xCORE chip?So after once used this chip becomes useless for any other application? Can't be reused for another project?Can someone explain to me how this actually works?best regards
Lumissil T31ZX & X2000 processors - Page 1
Forum section: electronics / general

author: mblinov
author_rank: Contributor
timestamp: May 24, 2022, 04:06:15 am
content: I was idly scrolling through Mouser's listings when I came across a "New" product from a manufacturer I'd never heard of: "Lumissil". The chips in question are theT31NZ andX2000.The T31NZ has 1GB DDR2 on-chip.One curiosity that caught my eye is on page 7 of the T31NZ datasheet, there is a casual "RISC-V 500MHz" core tucked away in the SoC diagram, and never mentioned again... Anyone used these chips?

author: PCB.Wiz
author_rank: Super Contributor
timestamp: May 24, 2022, 08:38:47 am
content: Interesting, I see the X2000 saysCopyright © 2005-2021 Ingenic Semiconductor Co., LtdMaybe Lumissil re-badge it ?Lumissil were spun off from ISSIhttps://www.i-micronews.com/issi-launches-new-analog-mixed-signal-division-lumissil-microsystems/I've been following their 8 bit MCUs and they have some nice large flash + ECC parts with cap sense and LED driveeghttps://www.lumissil.com/assets/pdf/home%20page/press%20releases/IS31SE5120_IS31CS8977_PR.pdf

author: hans
author_rank: Super Contributor
timestamp: May 24, 2022, 09:22:16 am
content: 1GBit* so 128MBSeems like their documentation package is NDA... (from website)So I doubt anyone that has used them before, can actually tell much about themAlso at this point, you may look at Chinese rip-offs from this product like the Ingenic parts.
What pins are pwm capable with stm32f103rct6? - Page 1
Forum section: electronics / general

author: teslinius
author_rank: Regular Contributor
timestamp: May 08, 2022, 09:31:41 pm
content: I want to find out what pins are pwm capable for stm32f103rct6 microcontroller, all pins with timers?Also how can i remap functions, because for example with pin PA15 doesn't have any timers by default, but if i remap it it should have it?

author: DavidAlfa
author_rank: Super Contributor
timestamp: May 08, 2022, 10:02:21 pm
content: Check AFIO in the RM. And properly read the GPIO section.

author: wek
author_rank: Frequent Contributor
timestamp: May 08, 2022, 10:53:47 pm
content: For mapping of particular pins to peripherals (here: timers), seepin definitionstable in datasheet (DS).As DavidAlfa said above, remap is given by the AFIO registers, described in the RM.JW

author: tepalia02
author_rank: Regular Contributor
timestamp: May 22, 2022, 11:24:27 am
content: If you're using the Blue pill, take a look at the 3rd figure.https://www.electronicshub.org/getting-started-with-stm32f103c8t6-blue-pill/
Raspberry Pi Pico and MicroPython Multithreading - Page 1
Forum section: electronics / general

author: rstofer
author_rank: Super Contributor
timestamp: September 06, 2021, 05:44:35 pm
content: I have had several Pi Picos laying on my bench for months and I thought I should play with them. So I bought the Sunfounder Pi Pico Kit (just the usual parts kit) and a breadboard to simplify things. The breadboard has LEDs, buttons and a buzzer and saves a lot of time while experimenting.https://www.amazon.com/gp/product/B08XXHGSQ7https://www.amazon.com/gp/product/B08TM2VHFFThe tutorials are athttps://docs.sunfounder.com/projects/thales-kit/Well, the tutorials start out with the usual boring stuff, a blinking LED, a button input and a fading LED - all rather routine.Right up until I got to the Traffic Light experiment and they introduce multithreading. Wait! What? That's new! It's new enough that the MicroPython documentation doesn't want to talk about it so they send you to the CPython documentation:https://docs.micropython.org/en/latest/library/_thread.htmlBut it works! Multithreading in a Pi Pico without the tears! Very cool... No, I don't know the limitations and I haven't even looked at the documentation but it works!I am doing the development work on a Pi 400 with the Thonny IDE. This is pretty much an ideal way to work with the Pi Pico.If you have a small project and multithreading seems important, check it out. The Pi Pico is dirt cheap and one comes with each of the packages above. Or you can get them from Amazon:https://www.amazon.com/LANDZO-Raspberry-Pi-Pico/dp/B08VNR5RLFIt seems like they were less expensive when I bought them but $9 isn't all that much.

author: Mr.What
author_rank: Newbie
timestamp: May 20, 2022, 06:02:30 pm
content: I'm starting with this. They say that the multithreading is limited, since there is no OS. Questions:If a thread is already running, does _thread.start_new_thread() block?*** IMPORTANT. If it does we might want to lock BEFORE starting a worker thread, instead of inside as is typicalIs it OK to release a lock twice? (I have a situation where this would be convenient. Could I capture an error ane be ok?)If I start many worker threads, and it does NOT block.... does it queue the workers (that would be best for most embedded apps)
Z8 Encore: How to read/write firmware - Page 1
Forum section: electronics / general

author: sirtet
author_rank: Contributor
timestamp: May 14, 2022, 08:38:09 pm
content: In one sentence:To repair a broken device, i want to copy firmware from a Zilog micro (that is in a working example of the same device model) to a replacement micro.More details:I have 2 Dyson Airblade AB01 hand dryers... one is broken, the other one running.The control Board is run by a Zilog Z8 Encore! Micro, Z8F082ASH020SGThat's the 20pin SOIC Version with 8k flash.And it's dead, power rail shorted... (yes, the micro, nothing around it).Now for repair, i want to find out if it's doable to copy the firmware to a replacement micro.These micro's have a one-pin debug interface and are in-cirquit flashable, says the Datasheethttps://www.zilog.com/docs/z8encorexp/ps0228.pdf.I am not too fluent at that stuff, so before i dig deeper, i want to ask if someone with experience on the Z8 Encore can give any advice.

author: uer166
author_rank: Super Contributor
timestamp: May 14, 2022, 11:18:30 pm
content: Seems like the programmers are easily available and not even that expensive considering it's a pretty archaic chip:https://www.digikey.com/en/products/detail/zilog/ZUSBESC0200ZACG/15221474.I'm sure this MCU has some code readout protection features, so you might be out of luck if Dyson locked the debug ports on the MCU. But if not, it's trivial to readout the flash from the working unit, and flash the newly installed MCU in the broken unit.

author: sirtet
author_rank: Contributor
timestamp: May 16, 2022, 07:49:57 pm
content: Thanks. Yes, that's what i found too... Would be surprised if the FW isn't protected.Hoped someone had more specific details before i try installing the IDE etc.Now i found this,https://www.mess.org/2018/02/10/Dumping-Z8-Encore-Z8F0811-Program-Memory/which even discribes a way to get around the lock bits.I am intrigued to try if i could get it to work, but i guess it's over my time budget.