Git Product home page Git Product logo

chipshouter-picoemp's Introduction

ChipSHOUTER-PicoEMP

CC BY-SA 3.0

The PicoEMP is a low-cost Electromagnetic Fault Injection (EMFI) tool, designed specifically for self-study and hobbiest research. Under the safety shield it looks like this:

You can see some details of the design in the Intro Video.

Thanks / Contributors

PicoEMP is a community-focused project, with major contributions from:

Background

The ChipSHOUTER is a high-end Electromagnetic Fault Injection (EMFI) tool designed by Colin at NewAE Technology. While not the first commercially available EMFI tool, ChipSHOUTER was the first "easily purchasable" (even if expensive) tool with extensive open documentation. The tool was not open-source, but it did contain a variety of detailed description of the design and architecture in the User Manual. The ChipSHOUTER design optimization focused in rough order on (1) safe operation, (2) high performance, (3) usability, and finally (4) cost. This results in a tool that covers many use-cases, but may be overkill (and too costly) for many. In additional, acquiring the safety testing/certification is not cheap, and must be accounted for in the product sale price.

The PicoEMP tries to fill in the gap that ChipSHOUTER leaves at the lower end of the spectrum. This PicoEMP project is not the ChipSHOUTER. Instead it's designed to present a "bare bones" tool that has a design optimization focused in rough order of (1) safe operation, (2) cost, (3) usability, (4) performance. Despite the focus on safety and low-cost, it works suprisingly well. It is also not sold as a complete product - you are responsible for building it, ensuring it meets any relevant safety requirements/certifications, and we completely disclaim all liability for what happens next. Please only use PicoEMP where you are building and controlling it yourself, with total understanding of the operation and risks. It is not designed to be used in professional or educational environments, where tools are expected to meet safety certifications (ChipSHOUTER was designed for these use-cases).

As an open-source project it also collects inputs from various community members, and welcomes your contributions! It also has various remixes of it, including:

  • TODO link to people's remixes.

Building a PicoEMP

The PicoEMP uses a Raspberry Pi Pico as the controller, inspired by @nezza using it for the debug-n-dump tool. You could alternatively use an Arduino or another microcontroller. You basically just need a few things:

  1. PWM output to drive HV transformer.
  2. Pulse pin to generate a pulse.
  3. Status pin to monitor the HV status.

You have two options for building the PicoEMP: (1) total scratch build, or (2) easy-assemble build.

Scratch Build

The PCB is mostly one layer. Original versions of it were milled on a Bantam PCB mill, and the final 'production' version is designed to still allow this simple milling process. You can find details in the gerbers folder, including Bantam-optimized files which remove some of the smaller vias (used for the mounting holes), and require you to surface-mount the Raspberry Pi Pico. Here was 'rev3' of the PCB with a few hacked up tests:

If you've got time you can order the "real" PCBs from the gerbers as well.

The BOM and build details are described in the hardware folder. If you cannot find the plastic shield (the upper half of Hammond 1551BTRD is used), you can find a simple 3D-printable shield as well. The official shield is low-cost and available from Digikey/Mouser/ Newark so you can purchase alongside everything else you need.

IMPORTANT: The plastic shield is critical for safe operation. While the output itself is isolated from the input connections, you will still easily shock yourself on the exposed high-voltage capacitor and circuitry. NEVER operate the device without the shield.

Easy-Assemble Build

The Easy-Assembly build uses a "mostly complete" SMD board, which you need to solder a Raspberry Pi Pico, switches, and through-hole headers. Currently it's available only on the NewAE Store. We're working to get this listed on Mouser for much cheaper worldwide shipping (the NewAE store doesn't get great rates & due to issues with Canada's postal system for international shipments quotes mostly via DHL).

Programming the PicoEMP

You'll need to program the PicoEMP with the firmware in the firmware directory. You can run other tasks on the microcontroller as well.

Building the EM Injection Tip (Probe / Coil)

You will also need an "injection tip", typically made with a ferrite core and some wires wrapped around it. You can see examples of such cores in the ChipSHOUTER kit. The following shows a few homemade & commercial tips:

You can make your own from suitable SMA connectors, magnet wire, and a ferrite core material. See the injection_tips folder for more examples and details on building the probes.

Reader Note: Please submit your own examples with a pull-request to this repo, it would be great to have more examples of probe geometries

You can find additional examples of homemade cores in research papers such as:

  • A. Cui, R. Housley, "BADFET: Defeating Modern Secure Boot Using Second-Order Pulsed Electromagnetic Fault Injection," USENIX Workshop on Offensive Technologies (WOOT 17), 2017. Paper Link. Slides Link.
  • J. Balasch, D. Arumí and S. Manich, "Design and validation of a platform for electromagnetic fault injection," 2017 32nd Conference on Design of Circuits and Integrated Systems (DCIS), 2017, pp. 1-6. Paper Link.
  • J. Toulemont, G. Chancel, J. M. Galliere, F. Mailly, P. Nouet and P. Maurine, "On the scaling of EMFI probes," 2021 Workshop on Fault Detection and Tolerance in Cryptography (FDTC), 2021. Paper Link. Slides Link.
  • LimitedResults. "Enter the Gecko," 2021. Blog Link
  • C. Gaine, J-P. Nikolovski, D. Aboulkassimi, J-M. Dutertre. "New probe design for hardware characterization by ElectroMagnetic Fault Injection," EMC Europe 2022 [Paper Link.] (https://hal-cea.archives-ouvertes.fr/cea-03657852/file/article_archivesouvertes.pdf)

Useful References

If you don't know where to start with FI, you may find a couple chapters of the Hardware Hacking Handbook useful.

You can see a demo of PicoEMP being used on a real attack in this TI CC SimpleLink attack demo.

Using the PicoEMP

The general usage of the PicoEMP is as follows:

  1. Press the "ARM" button. The red "ARMING" led will come on instantly telling you it's trying to charge the high voltage.
  2. The red "HV" led will come on after a few seconds saying it is charged to "some voltage".
  3. Place the probe tip overtop of the target.
  4. Press the "Pulse" button.

You can see more examples of this in the Intro Video.

You can even use the Raspberry Pi Pico to attack a Raspberry Pi "regular"! Here's a demo hitting a RSA signature on a Raspberry Pi (the demo code taken from Colin's Remoticon 2021 Talk):

WARNING: The high voltage will be applied across the SMA connector. If an injection tip (coil) is present, it will absorb most of the power. If you leave the SMA connector open, you will present a high voltage pulse across this SMA and could shock yourself. Do NOT touch the output SMA tip as a general "best practice", and treat the output as if it has a high voltage present.

The full ChipSHOUTER detects the missing connector tip and refuses to power up the high voltage, the PicoEMP does not have this failsafe!

About the High Voltage Isolation

Most EMFI tools generate high voltages (similar to a camera flash). Many previous designs of open-source EMFI tools would work well, but exposed the user to high voltages. This was fine provided you use the tool correctly, but of course there is always a risk of grabbing the electrically "hot" tool! This common design choice happens because the easiest way to design an EMFI tool is with "low-side switching" (there is a very short mention of these design choices as well in my book if you are curious). With low-side switching the output connector is always "hot", which presents a serious shock hazard.

PicoEMP gets around this problem by floating the high-voltage side, meaning there is no electrical path between the EMFI probe output and the input voltage ground. With the isolated high voltage output we can use the simple "low-side switching" in a safe manner. Some current will still flow due to the high-frequency spikes, so this isn't perfect, but it works well enough in practice (well enough you will shock yourself less often).

The caveat here is for this to work you also need to isolate your gate drive. There are a variety of solutions to this, with the simplist being a gate drive transformer (GDT). The PicoEMP uses the transformer architecture, with some simplifications to further reduce BOM count.

More details of the design are available in the hardware folder.

Hipot Testing for Validating Isolation

Easy-assemble builds have been subject to a hipot test. This test validates the isolation exists, and has not been compromised by things like leftover flux on the PCB.

This test applies a high voltage (1000V) from the SMA connector pads to the low-voltage signals shorted together. The test is done at 1000V DC, with test passing if LESS than 1 uA of current flows over the 60 seconds test duration. Note this limits is far lower than most industry standard limits.

Technical Differences between ChipSHOUTER and PicoEMP

The main differences from a technical standpoint:

  • ChipSHOUTER uses a much more powerful high voltage circuit and transformer (up to ~30W vs ~0.2W) that gives it almost unlimited glitch delivery, typically limited by your probe tip. The PicoEMP is slower to recover, typically ~1 to 4 seconds between glitches.

  • ChipSHOUTER has a larger internal energy storage & more powerful output drivers.

  • ChipSHOUTER has a controlled high-voltage setting from 150V to 500V. PicoEMP generates ~250V, there is some feedback but it's uncalibrated. NOTE: The PicoEMP allows some control of output pulse size by instead controlling the drive signal. This is less reliable (more variability in the output), but meets the goal of using the lowest-cost control method.

License

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 International License.

ChipSHOUTER is a trademark of NewAE Technology Inc., registered in the US, European Union, and other jurisdictions. PicoEMP is a trademark of NewAE Technology Inc.

chipshouter-picoemp's People

Contributors

bg7ywl avatar clementgaine avatar colinoflynn avatar lennertw avatar nezza avatar nilswiersma avatar pd0wm avatar shml1n avatar unixb0y avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chipshouter-picoemp's Issues

Aisler: inner milling paths missing and/or incomplete

When trying to order the board from Aisler, a warning is shown, saying that the Gerber files don't have some required information on the inner milling paths meant for the shield. As the repository doesn't contain any EDA project files, I can't really fix it myself.

20220116_00h37m50s_grim

(This is the "Design Guidelines" link from the screenshot.)

(Also, would it be possible to have a PCB that conforms to Aisler's "simple" design rules? This would reduce the cost of ordering one.)

Unreliable arming button in C firmware

First of all, @nezza thank you for the C firmware!

On my unit, it's hit-or-miss whether pressing the "arming" button actually toggles the arming state as intended. In my impression, short clicks are slightly more reliable, but I don't see a clear pattern.
Typically, the arming-LED goes on or off briefly during the button click, but the overall state is not toggled and the LED reverts to the previous indication. This may be related to the button debouncing logic but I haven't looked at the code in any depth so far.

Changing the state via USB-serial is reliable and without any issues. I have not tried the micropython firmware version.

Options for increased maximum output power?

Preface: I'm not an expert at high voltage electronics. Do not rely on any of the assumptions in this post. Do any modifications at your own risk.

Based on my understanding of the picoemp design, capacitor C3 stores about (0,47µF * (250V)^2)/2 = 14,69mJ of energy assuming a charge voltage of 250V, a part of which can be used for a discharge into the coil. In the introduction video, the measured charge voltage is about 239V and I've measured about 258V on my own unit, so 250V looks reasonable as a ballpark figure.

"Bigger" designs like the regular chipShouter, siliconToaster etc. allow higher capacitor voltages in the area of 500V-1200V at their highest settings which significantly benefits the energy storage through the quadratic component. It would probably be possible to tweak the picoemp to work at a higher voltage than 250V (for example 300-400V), but I'm very cautious about such a modification since this reduces the safety margin for breakdown voltages (IGBT, capacitor, ..) and physical board or probe tip clearances. It would be very unfortunate if boards have a catastrophic breakdown due to left-over solder paste, partially exposed traces, ringing with mismatched experimental probe tips or one of the many other failure modes for self-assembled boards.

So I have been wondering about the benefits or drawbacks of increasing just the size the capacitor "bank" at C3 by factor two to four. The standard picoemp design is clearly limited by the BOM cost and area/height under the plastic shield, so it is logical to me that "only" a single capacitor was chosen. (Also note that the Hammond 1551 enclosure has an additional plastic part in that corner of the board which needs to be stripped before that space is usable for high components).

@colinoflynn
Are you aware of any direct electrical drawbacks to doubling C3 by stacking an identical 2.5mm height capacitor on top (which could just fit the enclosure) for people who have used the thinner TDK CGA9P1X7T2J474K250KE per your BOM recommendations since Murata KRM55TR72J474MH01K wasn't available?
Alternatively, there appear to be a few capacitor candidates with nominal 1µF which are thin enough to fit under the shield (untested candidates: Kyocera AVX 2220CC105KAZ2A, Knowles Syfer 2220Y6300105KXTWS2 and its more expensive AEC-Q200 twin). Based on the datasheets, 1 to 1.2µF is the upper end of capacitors in this package size at 630V, so there may be capacitor design limitation drawbacks that I'm not aware of which motivate staying at the slightly more conservative 0.47µF choice.
With a custom 3D-printed shield and larger inner shield height, it looks possible to stack some more capacitors on C3 and go for the mentioned 4x capacitor increase.

Looking at the PCB layout, it may be possible to rotate the C3 component counter-clockwise and squeeze another 2220 footprint into the layout for optional used by people who want the additional BOM cost for higher capacity trade-off. It's probably going to be fairly close to the plastic shield mounting clearance, though. (Related idea: it looks like R2 and J3 could be swapped and J3 turned counter-clockwise to simplify the trace routing and increase distances. However, this takes more space along the shield and therefore works against adding another capacitor footprint).

From what I can tell, the recharge rate of the capacitor bank will not change with a size increase, so I expect the main effect to be a larger initial energy supply.

PicoEMP pinout doubts

Hello,

I was looking for some more info abut the pinout of the PicoEMP. and what could be his possible usage....

I saw the introduction video, thus also tried to find other videos to see how they use it but there is no many out there, also tried to look for info in the ‘user manual’ of ChipShouter, but I was’t lucky enough to find the usage of the pins, so here are my questions

It has 3 pin headers:
P1: GP0 to GP5 and GND
P2: HVP and GND
P3: CHG, VCC, GND and PWM

The readme says “External HVP mode: a pulse generator can be used to control EM pulse insertion”, so I understand it must be connected to P2 header and I can attach to it any 'clock source', but how we control when the pulse is done with this mode?

Also says “Fast triggering using GPIO0” this is GP0 from pin header P1, isn’t it? It can be used to connect GPIO4 from target board and trigger a pulse when rising edge is received like with chipwhisperer? or maybe that fast triggering is enabled connecting GP0 to VCC/GND?

What are header P3’s “CHG” and “PWM” pins for?

Also wanted to know if the pulse power value of the source code (#define PULSE_POWER_DEFAULT 0.0122) has direct relation with the coil tip characteristics, and if so how can we make calculations to keep it under safe values? IDK maybe there is a min or max level can be configured based on uH value of the coil like let’s say I have a coil with 0.8mm wire, 4mm diameter 15 windings and 3.3uH so calculating X Z and Y the safe or valid power values are from 0.0050 to 1.3259 (This values are completely fictitious)

And the last question... What this GP1 used for? Maybe to indicate external devices when picoemp fires?
GP2 to GP5 has any use?

Thank for your help guys!!!

Battery holder and pin header compatibility

Hey
It seems that either J2 or BH1 are the wrong part number here.
I ordered according to BOM (S2B-XH-A(LF)(SN) and PRT-09925). They do match, but the polarity is reversed. The VCC on battery holder matches the GND on the pin header/PCB. The one shown in your Youtube video has the right polarity though.

Please see the attached pictures:

IMG_2293

IMG_2292

Here's yours. Please note the difference:
maxresdefault

On how to use HVPULSE manually while still connected to the RP

Hello

From the schematics and the code it seems HVPULSE is constantly driven by the RP gpio so it seems a bit dangerous to overwrite the signal with an external trigger source without disconnecting first the RP.
Would it make sense to modify the RP firmware such that:

  • picoemp_configure_pulse_output configure it with a pull-down, idle state is HiZ + pull-down
  • picoemp_pulse set to high then back to HiZ

So we could overwrite HVPULSE with an external source without worry.

Kit / Easy-Assemble Build Availability

One goal is to eventually offer a "partial kit", which will be in $50 to $100 range most likely. This kit would require you to solder the R-Pi Pico & some switches onto the board, but the SMD part would be done. This board would also be hi-pot + functionally tested. There is no clear timeline here but drop a note if interested and we'll use this issue to notify people.

NOTE: A "full assembly" kit is probably never going to be offered, as the cost of kitting the SMD parts would be more than the cost of the SMD run. SMD kits have a higher failure rate which adds considerable "average support costs" ontop. Due to the availability of very low cost PCB services like JLCPCB or OSHPARK if you want a full kit please order the PCB & parts directly.

Relevance of additional TVS output filtering diode

There is a paper by Toulemont, J., et al. on "A Simple Protocol to Compare EMFI Platforms." which suggests that the ringing/reflection at the coil immediately after a high voltage pulse is a problem and that it can be limited through the use of an inexpensive diode (2020, IACR preprint).

They propose adding an unidirectional Littlefuse 1.5KE600A transient voltage suppressor (TVS) diode between the voltage generation output and the probe tip to clamp some of the voltage swings.

Based on the tests shown in the introduction video, there are not a lot of oscillation cycles for the tested coil on the picoemp, so the main benefit I can see is to reduce the second half-wave of the pulse and maybe reduce the first oscillation after that. However, I'm not sure in if this would result in noticeable benefits during picoemp usage since timing considerations are probably not as important for picoemp users and the second full cycle may not actually inject much voltage into the target.
So the improvement could be to suppress the reverse injection effects of the second half-wave on the target and make the picoemp slightly more targeted/precise? I'm not certain I've gotten the physics right here, so this is very speculative.

The ca. 250V maximum capacitor voltage of the picoemp looks compatible with the min. 570V breakdown voltage safety rating of the mentioned diode, the diode is currently available & low cost, which are some of the reasons I'm considering this. The diode could be located on a small SMA-based filter (as used in the paper) or built directly into custom probe tips (incompatible with higher-voltage glitchers).

@colinoflynn
You're likely aware of this protection diode concept, what are your thoughts on this? Is it relevant within the typical picoemp pulse behavior and parameters?
Thanks!

Performance

How number of turns, presence or not of ferrite and shape influence the strength of magnetic field?

Documentation suggestions

  • Currently the README.md does not explain what J3 and SW3 are for. This is only mentioned in the introduction video. The silkscreen around SW3 says HOLD 5S DISCHARGE but that could be misinterpreted as regular discharge into the coil.
  • Q1, D8 and D9 have no easily visible orientation mark on the printed silkscreen. The build-drawing PDF helps a bit.
  • It is not clear if the device is allowed to have voltage on J2 at while the USB port is in use and how it will behave in terms of power draw. Based on a short look at the Pico2040 datasheet on page 19, dual operation is acceptable and the USB power supply will become the primary due to its higher supply voltage after the Schottky diode compared to the 2xAA source + Schottky diode. However, the datasheet notes that USB is required if the pico firmware uses USB host mode, which may be the case with the C firmware version.

Flyback old TV.

hi,
I would like to know if it would work with old TV Flyback.
Yoke part has 1000v for 15750hz.
could use a FET IGBT switch to turn it on for x time.

thanks,
Carlos.

BOM description mistake

Q3, Q4 in BOM excel description is MOSFET N-CH 30V 2.2A SOT23-3, but part number AO3422 refer to it's datasheet is 55V 2.1A

Discharge button access

I initially thought that when I use exact parts TL3301AF160QJ switch and 1551BTRD shield, it would be somehow possible to press the discharge switch pushing it by pressing the shield above it. The shield fits perfectly to my PCB, but it doesn't work that way - button is too low and/or shield too sturdy. How was it intended?

The button height is 5mm, inner depth of the shield is 5.5mm.

Rpi pico dead after initial test

Hey Colin
I built a PicoEMP today, however I was not sure how to properly test it to make sure everything is working as expected.
I uploaded the C-based firmware, and initially everything seemed to be working (LEDs working. Pushing ARM made D6 turn on, etc)
After a few times pushing the ARM and PULSE buttons, device stopped working (LEDs stayed ON. I reset the device and now LEDs don't turn on. The rpi pico's builtin LED dimly turns on and then off. I think maybe rpi is damaged. Is it possible to actually somehow damage the rpi pico?)
Now if I turn it on and wait a few minutes, the ARMING LED dimly turns on and if I push (and hold) the ARM switch, the LED also gets brighter.
Did you face any similar issues while building your samples? Visually everything seems to be ok. Not sure where to start with spotting the faulty part.

Device works but HV LED won't turn on

Hi
So I built a second unit and everything seems fine. I measured the voltages, following Colin's Youtube video:
The test header (J3) shows around 228V. When I press the PULSE button, the voltage goes down and again recovers to ~228V.
Also the CHG header measures 2V when the ARMING LED is OFF, and 0.77V when it's ON.
And I also tested the device on some STM32 dev boards and a Nintendo Game&Watch, and using the PicoEMP on the STM32, resets the device (actually bricked the Nintendo!)
So apparently it's working as expected.

However, the HV LED never turns on. I press the ARM and ARMING LED turns on, and that's it. It turns off after a minute or so.
Do you have any hints on how I can troubleshoot it?

It's possible to shock computer even through USB isolator on target, beware!

I was using this isolator - https://www.aliexpress.com/item/4000047053305.html (mentioned in #2 (comment)) as intermediate between computer and target (Atmega328), PicoEMP on completely separate power source (since I needed to see USB-serial output to see if glitch was success).

Somehow during the session I managed to shock USB bus through Atmega target connected via the isolator on both computer and monitor USB hubs so they disconnected (power cycling did fix it, so nothing permanent thank god). I am pretty sure I did not short anything, but even in that case the isolator is rated according to docs to 1.5 kV. So this shoudln't have happened, but the quality of the isolator is also question.

There was a powered hub behind the the USB isolator (Atmega<->USB isolator<->powered USB hub<->computer+monitor), but I seriously have no idea which part of the setup could have caused this. Hundreds of glitch attempts were fine until this one.

Even if this was some stupid mistake, there was definitely no direct contact between any parts after the USB isolator.

Voltage on a TIP

How do you like the signal measured on the tip?
Does it seem to work correctly?
PicoEMP Tip pulse

Request HVPWM explanation

I'm looking inside the C source code, can someone explane the following function? Especially the used values.

void picoemp_enable_pwm(float duty_frac) {
    if(pwm_enabled) {
        return;
    }

    // Get PWM slice
    uint32_t slice = pwm_gpio_to_slice_num(PIN_OUT_HVPWM);
    gpio_set_function(PIN_OUT_HVPWM, GPIO_FUNC_PWM);
    
    // Set up clock divider
    float target_frequency = 25;
    float divider = clock_get_hz(clk_sys) / target_frequency;
    pwm_config config = pwm_get_default_config();
    pwm_config_set_clkdiv(&config, divider);
    pwm_config_set_wrap(&config, UINT16_MAX);

    // Init PWM, but don't start it yet
    pwm_init(slice, &config, false);
    // pwm_set_chan_level(slice, PWM_CHAN_A, 800); // pretty sure this line is pointless
    pwm_set_freq_duty(slice, PWM_CHAN_A, 2500, duty_frac);
    pwm_set_enabled(slice, true);
    pwm_enabled = true;
}

what the The duty_frac is used for? How is correlated to the power?
What are the bahavior of the following parameters?
pulse_time=5, pulse_power=0.012200
Are parameters that it's worth a change?
All are changable parameters from serial interface, bat is not explaned haw they can be used and wht they produce on charge of HV.

Problem with Build : HV Led wont turn on / Only 7V Voltage

Hello

I have some issues with building this nice device.all parts were used from the bom list except RGT16BM65DT i used instead IKD06N60RATMA1.

Gerber files used were rev04_normal.zip also with milled slots for the protection shield.
>> i ordered the boards from JLCPCB

The solder orientation for the LEDs wasnt so clear to me,so i modified the micropython firmware to run a LED check on startup which works great.

So the actual problem :

The test header (J3) shows only 7V when the ARM button is pressed but the HV LED wont turn on so Pulse doesnt work either.Voltage on (P3) is approx 3V which seems to be correct.Discharge button works.

I looked at the firmware and changed the PWM duty which seems also to work i gained then 12V but its still alot missing hehe

Somewhere i did an error i think but i also rechecked already the solder orientation for the different smd parts.
So can anyone please point me in the right direction and give me some hint?

Should i maybe test the C Firmware? But there is also still some issue with the arming button ive read.
>> so i compiled the C Firmware and that isnt the Problem.The Arm Button still has issue.

Thanks

Greetings

Clarification on BOM Parts

The BOM identifies D2 as a 600V, 2A fast recovery diode. The part # in the BOM and the alternate are both 1A.
C1 and C2 GRM32ER71H475KA88L refers to a 1210 package cap, not an 0805

Python Interface?

Currently the simple micropython is button driven. Would be good to add a way of interacting from a computer with the board (with caveat it's "officially not recommended" to run board from computer without isolation).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.